8 ms·
Show HN: Val Town – A Cloud Scripting Site
Hey HN! We're so excited to show you Val Town (https://val.town https://val.town)! A "val" is a JavaScript/TypeScript function or value that runs on our servers. We aim to get you from idea to running code in seconds: type code, run it, get its API endpoint, schedule it - all from the browser, in a couple keystrokes.
We're a startup of 4 people, mostly in NYC. We've been working on this for 6 months and are eager for feedback from the HN community.
Why do we need yet another online coding IDE? While researching devtools[1], I found myself wanting something halfway between Replit and Zapier: a tool that makes hosting, deploying, scheduling, and authenticating easy, but is first-and-foremost a programming tool.
We added `console.email` to the runtime to make it incredibly easy to email yourself. We don't have npm imports yet, but we do have a low-friction system that treats every user as a namespace, so you can refer to `@me.foo + 1` or `@yourFriend.bar()` right in your code. There are a lot of thorny implications this newfangled import scheme creates, but also many joyous and carefree coding experiences! One of my favorite features is that we store every evaluation, up and down the callstack, including inputs, outputs, logs, etc, which has been an amazing aid to debugging.
So far, Val Town is mostly used for what we're calling "programmatic notifications": query a data source for new items on an interval and email them to yourself.
Get notified when users you "follow" post on Hacker News: https://www.val.town/stevekrouse.hnFollowPollJob https://www.val.town/stevekrouse.hnFollowPollJob
Get notified when to close your window during fire season in SF: https://www.val.town/stevekrouse.aqi https://www.val.town/stevekrouse.aqi
Get notified when there are new citations on a paper: https://www.val.town/ernest.newCitationNotification https://www.val.town/ernest.newCitationNotification
Subscribe to RSS feeds: https://www.val.town/stevekrouse.pollRSSFeeds https://www.val.town/stevekrouse.pollRSSFeeds
A good place to get started would be forking one of those vals and modifying it to suit your needs. Some folks are using the tool in other ways, such as in webhook contexts, and we encourage those uses as well. We'd LOVE to pair-program with anyone looking to try out the tool and give feedback. Email steve@val.town :-)
Main site: https://val.town https://val.town
Docs: https://val-town.notion.site/Val-Town-Docs-01c8eb9c534b4899802f3a9e31d540ab https://val-town.notion.site/Val-Town-Docs-01c8eb9c534b48998...
Discord: https://discord.gg/dHv45uN5RY https://discord.gg/dHv45uN5RY
Blog & Newsletter: https://val-town.notion.site/Blog-6d3ef714d0c849e9be71b3986a1dcd46 https://val-town.notion.site/Blog-6d3ef714d0c849e9be71b3986a...
[1] - Whole Code Catalog: https://futureofcoding.org/catalog/ https://futureofcoding.org/catalog/
- warent 4y agoSeems very cool! I gotta say hosting someone else's code seems very ballsy. Building a service like this is something I've considered before but always wonder, how do you make sure they're not doing unscrupulous activities?
- stevekrouse 4y agoThanks!! Excellent question. We're using a node sandboxing environment that nobody has been able to break out of yet, but we plan to move to a more secure isolation model very soon. We're still small enough that we can keep decent tabs on what folks are doing with the platform, but it's only a matter of time before the DDOSers and crypto miners come looking for trouble...
- esilverman 4y agoCongrats Steve! Keeping an eye on this
- akkartik 4y agoI want to draw particular attention to the use case of following HN users. I've been using it for a couple of months, and been finding a lot more great comments here as a result. There's a separate front-end that's the best way to get started following people: https://www.hnfollow.com https://www.hnfollow.com. And if you find yourself wishing it worked slightly differently for you, well you can go edit the underlying Val then. Hit me up if you would like help setting this up for yourself and don't want to join the Discord or something. My email is in my profile. You basically need to create a new Val for yourself called `hackerNewsAuthors` that's just an array of HN username strings.
- stevekrouse 4y agoThe backstory here is that when we saw how akkartik was using the tool, we decided to double down on this particular usecase and we built hnfollow.com as a showcase of what could be done with the tool, but holding your hand every step of the way. We even posted it to HN but dang rightly rerouted us to this proper Show HN: https://news.ycombinator.com/item?id=33533830 https://news.ycombinator.com/item?id=33533830 In the meantime, we launched "Scheduled Val" which let you schedule a val with a single click, and it somewhat made hnfollow.com unnecessary because most of that tool helped you manage setting up an interval, tracking its ID, and cancelling it. Now you can just fork this single val to your account and the interval is synced to the val automatically: https://www.val.town/stevekrouse.hnFollowPollJob https://www.val.town/stevekrouse.hnFollowPollJob The one extra step that akkartik alludes to is also important: you do need to define some folks to follow. How to handle-hold users through this process of forking + customizing vals is a real design challenge for us. Would love any suggestions!