Hey HN! We're so excited to show you 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
Get notified when to close your window during fire season in SF: https://www.val.town/stevekrouse.aqi
Get notified when there are new citations on a paper: https://www.val.town/ernest.newCitationNotification
Subscribe to RSS feeds: 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
Docs: https://val-town.notion.site/Val-Town-Docs-01c8eb9c534b48998...
Discord: https://discord.gg/dHv45uN5RY
Blog & Newsletter: https://val-town.notion.site/Blog-6d3ef714d0c849e9be71b3986a...
[1] - Whole Code Catalog: https://futureofcoding.org/catalog/
I went ahead and dropped in a string tokenizer that I've been working on, and it worked straight away! (link: https://www.val.town/embed/catapart.magnitTokenize) I'm sure I'm doing it inefficiently, but it's pretty sweet that it just plain worked!
Thanks for building such an open platform! I know I can get some real value of utilities like this, so it's nice to know that there are folks out there willing to provide them! Hopefully any code I can add can be of use to someone!
edited to add: I also included a test of the tokenizer, if anyone was wanting to tokenize some strings with it: https://www.val.town/embed/catapart.testTokenizer