Featured
Archive
Talk of the Town, Feb '26
Valentine's Day, ATProto, & other vals we love
-Pete Millspaugh
Pickling Compute
Why Val Town is selling inbound lead qualification to B2B startups
-Steve Krouse
Introducing Val Town MCP
Bring Val Town to your favorite LLM
-Steve Krouse
Year Two of the Open Source Pledge
Continuing to fund open source software
-Tom MacWright
In, Val, Out
I/O with a val in the middle
-Pete Millspaugh
Introducing vt, the Val Town CLI
Write your scripts on the internet, from your terminal, or in any editor
-Wolf Mermelstein
Building a better online editor for TypeScript
Running the Deno LSP to make our TypeScript language tools dramatically better
-Wolf Mermelstein
Val Town for Teams
Bring Val Town to work
-Steve Krouse
How we built an API for Clay
Enriching users to find ideal customers
-Charmaine Lee
Vibe code is legacy code
Code that nobody understands is tech debt
-Steve Krouse
Introducing Townie Credits
Townie is now pay-per-use
-Steve Krouse
Newsletter 25
Mutli-file vals, local development, new Townie, new Search, and much more
-Steve Krouse
Val Town for Glitch Users
Saying goodbye to a platform we admired
-Tom MacWright
Upgrading vals
Vals are being upgraded to support multiple files, folders, and more
-Steve Krouse
Post-mortem: A Backward Incompatible Database Migration
Val runs failed due to a database migration that was not backward compatible
-Sophie Houser
Solving the internal / external API riddle
Figuring out how to provide an API that's usable by everyone and fast for us to iterate on
-Tom MacWright
Val Town Newsletter 24
Val Town Projects, Highlight to edit, Logs redesign, Public endpoints with private code, and much more
-Steve Krouse
Introducing Val Town Projects
Dramatically increasing the scope of what you can build in Val Town, Projects are groups of vals, files, and folders, versioned collectively
-Steve Krouse
Val Town Newsletter 23
Projects beta, Deno 2, Use cases, and more
-Steve Krouse
Post-mortem: esm.sh Breaking Changes
Some vals experienced lockfile and React errors due to breaking changes in esm.sh
-Steve Krouse
What we learned copying all the best code assistants
From GitHub Copilot to ChatGPT to Claude Artifacts, how Val Town borrowed the best of all the code generation tools
-Steve Krouse
Post-mortem: Exhausted Host Connection Pool
A single degraded host impacted certain Vals for some time.
-Max McDonnell
Using Val Town to chart dependency bloat
Building a simple aggregate view of our codebase
-Tom MacWright
Val Town Newsletter 22
Townie upgrades, Scoped API permissions, Fal partnership
-Steve Krouse
Building a code-writing robot and keeping it happy
Our experiences running LLMs in production
-Tom MacWright
API Tokens Scopes
Improving security with granular control over permissions
-Max McDonnell
Val Town Town
Can we implement Val Town on Val Town?
-Max McDonnell
Val Town + Fal Partnership
Bringing lightning fast AI image generation to Val Town
-Steve Krouse
Val Town Newsletter 21
Townie upgrades & faster HTTP vals
-Steve Krouse
Introducing Townie AI
Meet Townie, our AI assistant that helps you ship apps fast
-Steve Krouse
Val Town Newsletter 20
Townie AI, Faster vals, and Lockfiles
-Steve Krouse
Joining the Open Source Pledge
We donated $9,600 to open-source!
-Tom MacWright
How we lock your dependencies
Adding lockfiles to Val Town for stability, security, and performance.
-Max McDonnell
How we built Townie – an app that generates fullstack apps
Like Claude Artifacts, but with a backend and database
-JP Posma
Security Disclosure 2
Missing permissions-checking in our internal save endpoint
-Tom MacWright
The perks of a good OpenAPI spec
Taking advantage of our typed REST API to build a platform around Val Town.
-Tom MacWright
Val Town Newsletter 19
Full-screen Editor, 5x faster HTTP vals, new Dashboard, improved Search, Townie redesign, Trending redesign, Profile filters, and more!
-Steve Krouse
Why is spawning a new process in Node so slow?
At Val Town we spawn a lot of processes. We're working on making it faster
-Max McDonnell
New HTTP Val Runtime in Preview
We built a new runtime for HTTP vals that is up to 5x faster at scale
-Max McDonnell
Zod is amazing. Here’s why we're also using TypeBox
Why we’re using TypeBox instead of Zod for our server validation layer
-Tom MacWright
Moving from express to fastify, pt 1
How switching to Fastify let us embrace runtime and compile-time types
-Tom MacWright
Val Town Newsletter 18
HTTP Streaming, Semantic Search, Townie AI Chat, and a TypeScript SDK
-Steve Krouse
Val Vibes: Semantic search in Val Town
How to build semantic search with embeddings for Val Town within Val Town itself
-JP Posma
HTTP Streaming in Val Town
Val Town supports HTTP streaming for streaming LLMs, large requests and responses, and server-sent events
-Max McDonnell
Val Town Newsletter 17
Improved performance, redesigned val page, live coding, and much more!
-Steve Krouse
Post-mortem: Blob Storage Outage
Disclosure, mitigation, and next steps
-Max McDonnell
Redesigning Val Pages
A more understandable entry-point to Val Town
-Tom MacWright
Val Town Newsletter 16
Our seed round, growing team, Codeium completions, @std/openai, and more
-Steve Krouse
Code Search is Hard
Searching code at scale without employing a search team is hard
-Tom MacWright
Val Town's Seed Round
We raised $5.5m to make programming fun, accessible, and collaborative.
-Steve Krouse
Val Town Newsletter 15
Custom domains, Logs 3.0, Faster HTTP responses, Status page & much more!
-Steve Krouse
The first four Val Town runtimes
From vm to vm2 to workers to processes, the long journey to how we run vals today
-Tom MacWright
Deprecating the Run API
Not every function should be an API
-André Terron
Val Town Newsletter 14
Pull Requests, Val Editor Redesign, AI Suggestions, OSS Docs, New Astro Blog, Templates
-Steve Krouse
Improving the Val Editor
Designing the core UI of editing
-Tom MacWright
Val Town Newsletter 13
SQLite, Blob Storage, updates to how Vals are named, and more
-Steve Krouse
Post-mortem: SQLite data sharing
Disclosing and fixing a recent security issue
-Steve Krouse
The API we forgot to name
An API that takes a Request and returns a Response - what was that, again?
-Steve Krouse
Introducing Val Town v3
Our move to embrace web standards
-Steve Krouse
Val Town Newsletter 12
Product Hunt, v3 in development, and more
-Steve Krouse
An Introduction to OpenAI fine-tuning
How to customize OpenAI to your liking
-Steve Krouse
Val Town Newsletter 11
Hiring, podcasts, and more!
-Steve Krouse
Val Town Newsletter 10
A year of Val Town!
-Steve Krouse
Expanding the Vals API - RFC
Our REST API lets you do a lot - and soon it will enable more
-André Terron
Public Key Auth: Val Town users can be your users
A novel authorization scheme for Val Town
-Steve Krouse
Introducing val.run
Increasing the security of Val Town by isolating domains.
-Steve Krouse
Val Town Newsletter 9
Refactoring the core component of Val Town for better performance.
-Steve Krouse
Val Town Newsletter 8
Announcing Val Town Pro
-Steve Krouse
Migrating from Supabase
Our journey from Supabase to Postgres and Render
-Tom MacWright
Val Town Newsletter 7
Moving off of Supabase and enhancing our security with restricted library mode
-Steve Krouse
Restricted Library Mode
Evolving Val Town’s security model
-Steve Krouse
Val Town Newsletter 6
Lots of little updates!
-Steve Krouse
Val Town Newsletter 5
Shipping our Deno runtime
-Steve Krouse
Val Town Newsletter 4
Rebuilding on Deno, HTML emails, and more
-Steve Krouse
Val Town Newsletter 3
Expanding our founding team
-Steve Krouse
Val Town Newsletter 2
Your monthly update of cool vals!
-Steve Krouse
Security Disclosure 1
Replacing our sandbox in response to a security disclosure
-Steve Krouse
Val Town Newsletter 1
Programmatic notifications, Hacker News API, and more.
-Steve Krouse
End-programmer Programming
A reflection on the goal of making programming for everyone.
-Steve Krouse
Val Town Newsletter 0
Smarter typeahead, tutorials, much more.
-Steve Krouse
We’re hiring!
Join our team and help build the future of programming.