Val Town Newsletter 18

Steve Krouse on

In the last month, we shipped HTTP streaming, semantic search, and Townie, an AI chatbot that knows how to write vals. We also released a TypeScript SDK on top of our new OpenAPI spec for the Val Town API, redesigned profile pages, public likes, and nameable API tokens.

We’re currently working on making it easier to navigate and organize vals, improvements to search, the ability to stop a running val, and performance improvements.

You all have been making some amazing vals! We’ve seeing AI apps, streaming demos, personal websites, emojis, authentication middleware, and a hundred others listed at the bottom of this newsletter.

If you enjoy reading these newsletters, join our team at Val Town to help write them! We’re hiring someone to do content-focused devrel to inspire and support the next 100k programmers to build on Val Town.

🌊 HTTP Streaming

You can stream from vals!!! Our new open-source deno-http-worker also enables us to increase request size limits from 2mb to 100mb and make response sizes unlimited. Read more in the HTTP Streaming announcement.

Are there any vals related to…? We have a new search mode that uses embeddings to give you a val with the same “vibes” as your search query. It’s currently its own mode labelled “semantic search” – try it out yourself! We’re working on combining it with the exact search to give you a wholistic search experience. Learn more in the Semantic Search announcement.

Semantic search for 'wikipedia api'

🤖 Townie

We built a Townie, a chatbot that knows common Val Town patterns. It’s surprisingly good at generating working code. You can see below me asking it for help on a fairly complex task from Pat LaVarre. It doesn’t give me what I ask for – it gives me something better – and it immediately ran, zero-shot (on its first try). It works even better if you give it feedback in a couple iterations. Try it out!

Townie chatbot example generating a wikipedia proxy

✨ Upgraded OpenAPI & TypeScript SDK

After a herculean effort to port our Express server to Fastify, we were able to generate a good OpenAPI schema, interactive API docs, and a TypeScript SDK. Try it out yourself! Shout-out to our friends at Stainless for help generating the SDK.

Demo of the Val Town's API SDK

❤️ Profile redesign, public likes

Your profile page is now prettier and a bit more functional. You can view your vals in a list or a grid, as well as the vals you liked. We’re reimagining users’ profile as a jumping off point to explore. Coming soon: sorting and filtering for vals in your profile.

Screenshot of @iamseeley's Val Town profile with 143 vals, 14 public likes, and a grid of their vals

𝍌 Custom formatter settings

You can use tabs instead of spaces and banish trailing semicolons. Customize dprint to your heart’s content in your editor settings. Shout out to David Sherret for creating the wonderful dprint. Thanks Adrian Sieber for the original feature request and Nikita for the final kick to get it done.

📺 Livestreams

Livestreams are a great way to learn Val Town by watching others. And if you watch live, you can ask questions and we’ll answer! Or heckle – that’s fun too.

Since the last newsletter, I spoke with:

Tune into the next episode this Thursday, June 27th at 10am ET with Mary Rose Cook!

Our friend Beniamin also is making wonderful Val Town livestreams! I loved this one where he used GPT4 summarization to combine many newsletters into one.

🎉 Other updates

  • Fixed an extremely annoying bug where the cursor would reset to the beginning of the first line after formatting. Now it stays where you left it.
  • Added the ability to create a val via the API with a specific type (except cron)
  • Improved log streaming & a button to refresh logs
  • Ability to name Val Town API tokens
  • Added three “getting started” examples for new users
  • Reorganized val logs for better readability
  • The URL box in the Val Preview iframe is now fairlyully selectable
  • Long val READMEs get truncated with a “view more” button
  • now has list-view options
  • There’s now a “copy code” button in markdown js, ts, jsx, tsx snippets
  • Moved the search icon to a better spot in mobile header
  • Improved observability and usage tracking
  • Upgraded database to high-available cluster
  • Made VIM logo background transparent
  • Refactored the code that runs vals, fixing inconsistencies

🛣️ Roadmap

💪 What we’re working on

🔜 Coming soon

Here’s some of the top features we’re planning to work in the coming months. Please make feature requests and vote on what you’d like to see next.

🌟 Community Vals

Edit this page