Recent
Post-mortem: A Backward Incompatible Database Migration
Val runs failed due to a database migration that was not backward compatible
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
More posts
Val Town Newsletter 24
Val Town Projects, Highlight to edit, Logs redesign, Public endpoints with private code, and much moreIntroducing Val Town Projects
Dramatically increasing the scope of what you can build in Val Town, Projects are groups of vals, files, and folders, versioned collectivelyVal Town Newsletter 23
Projects beta, Deno 2, Use cases, and morePost-mortem: esm.sh Breaking Changes
Some vals experienced lockfile and React errors due to breaking changes in esm.shWhat 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 toolsPost-mortem: Exhausted Host Connection Pool
A single degraded host impacted certain Vals for some time.Using Val Town to chart dependency bloat
Building a simple aggregate view of our codebaseVal Town Newsletter 22
Townie upgrades, Scoped API permissions, Fal partnershipBuilding a code-writing robot and keeping it happy
Our experiences running LLMs in productionAPI Tokens Scopes
Improving security with granular control over permissionsVal Town Town
Can we implement Val Town on Val Town?Val Town + Fal Partnership
Bringing lightning fast AI image generation to Val TownVal Town Newsletter 21
Townie upgrades & faster HTTP valsIntroducing Townie AI
Meet Townie, our AI assistant that helps you ship apps fastVal Town Newsletter 20
Townie AI, Faster vals, and LockfilesJoining the Open Source Pledge
We donated $9,600 to open-source!How we lock your dependencies
Adding lockfiles to Val Town for stability, security, and performance.How we built Townie – an app that generates fullstack apps
Like Claude Artifacts, but with a backend and databaseSecurity Disclosure 2
Missing permissions-checking in our internal save endpointThe perks of a good OpenAPI spec
Taking advantage of our typed REST API to build a platform around Val Town.Val Town Newsletter 19
Full-screen Editor, 5x faster HTTP vals, new Dashboard, improved Search, Townie redesign, Trending redesign, Profile filters, and more!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 fasterNew HTTP Val Runtime in Preview
We built a new runtime for HTTP vals that is up to 5x faster at scaleZod is amazing. Here’s why we're also using TypeBox
Why we’re using TypeBox instead of Zod for our server validation layerMoving from express to fastify, pt 1
How switching to Fastify let us embrace runtime and compile-time typesVal Town Newsletter 18
HTTP Streaming, Semantic Search, Townie AI Chat, and a TypeScript SDKVal Vibes: Semantic search in Val Town
How to build semantic search with embeddings for Val Town within Val Town itselfHTTP Streaming in Val Town
Val Town supports HTTP streaming for streaming LLMs, large requests and responses, and server-sent eventsVal Town Newsletter 17
Improved performance, redesigned val page, live coding, and much more!Post-mortem: Blob Storage Outage
Disclosure, mitigation, and next stepsRedesigning Val Pages
A more understandable entry-point to Val TownVal Town Newsletter 16
Our seed round, growing team, Codeium completions, @std/openai, and moreCode Search is Hard
Searching code at scale without employing a search team is hardVal Town's Seed Round
We raised $5.5m to make programming fun, accessible, and collaborative.Val Town Newsletter 15
Custom domains, Logs 3.0, Faster HTTP responses, Status page & much more!The first four Val Town runtimes
From vm to vm2 to workers to processes, the long journey to how we run vals todayDeprecating the Run API
Not every function should be an APIVal Town Newsletter 14
Pull Requests, Val Editor Redesign, AI Suggestions, OSS Docs, New Astro Blog, TemplatesImproving the Val Editor
Designing the core UI of editingVal Town Newsletter 13
SQLite, Blob Storage, updates to how Vals are named, and morePost-mortem: SQLite data sharing
Disclosing and fixing a recent security issueThe API we forgot to name
An API that takes a Request and returns a Response - what was that, again?Introducing Val Town v3
Our move to embrace web standardsVal Town Newsletter 12
Product Hunt, v3 in development, and moreAn Introduction to OpenAI fine-tuning
How to customize OpenAI to your likingVal Town Newsletter 11
Hiring, podcasts, and more!Val Town Newsletter 10
A year of Val Town!Expanding the Vals API - RFC
Our REST API lets you do a lot - and soon it will enable morePublic Key Auth: Val Town users can be your users
A novel authorization scheme for Val TownIntroducing val.run
Increasing the security of Val Town by isolating domains.Val Town Newsletter 9
Refactoring the core component of Val Town for better performance.Val Town Newsletter 8
Announcing Val Town ProMigrating from Supabase
Our journey from Supabase to Postgres and RenderVal Town Newsletter 7
Moving off of Supabase and enhancing our security with restricted library modeRestricted Library Mode
Evolving Val Town’s security modelVal Town Newsletter 6
Lots of little updates!Val Town Newsletter 5
Shipping our Deno runtimeVal Town Newsletter 4
Rebuilding on Deno, HTML emails, and moreVal Town Newsletter 3
Expanding our founding teamVal Town Newsletter 2
Your monthly update of cool vals!Security Disclosure 1
Replacing our sandbox in response to a security disclosureVal Town Newsletter 1
Programmatic notifications, Hacker News API, and more.End-programmer Programming
A reflection on the goal of making programming for everyone.Val Town Newsletter 0
Smarter typeahead, tutorials, much more.