Recent
Archive
Catching stars
Finding new customers & hires from your GitHub stargazers
Steve Krouse |
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 |
How to keep package.json under control
How I wrangle the many tools that we use to build Val Town
Tom MacWright |
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 |
The Val Town Blog is now hosted on Val Town
We migrated this blog to Val Town Projects
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.