{
  "$type": "site.standard.document",
  "coverImage": {
    "$type": "blob",
    "ref": {
      "$link": "bafkreic6ppubi2mswkaond2ga3spkuvg6dtvxuygahpk5qlmrxkv7ddnxi"
    },
    "mimeType": "image/png",
    "size": 55753
  },
  "description": "Townie v5, powered by Val Town MCP and Claude 4.5",
  "path": "/townie-v5",
  "publishedAt": "2026-01-22T00:00:00.000Z",
  "site": "at://did:plc:a2rdzfdxkjwerrfrpbwcipb2/site.standard.publication/3jd443afc2222",
  "textContent": "<p style=\"display: flex; justify-content: center\">\n  <img\n    style=\"max-width: 500px; width: 100%\"\n    alt=\"doodle of Townie robot at an old fashioned computer\"\n    src=\"https://imagedelivery.net/iHX6Ovru0O7AjmyT5yZRoA/33b0d6d9-cd37-468b-6e4c-fd7eaca55700/public\"\n  ></img>\n</p>\n\nTownie's back! In its 5th version, Townie, our AI agent, lives alongside your\ncode editor, powered by the Claude 4.5 family and our carefully crafted tools.\n\nTownie is like Claude Code, but in the browser, optimized for Val Town's simple\nand instant runtime.\n\nHere we ask Townie to scaffold this very blog post:\n\n<p style=\"position: relative; aspect-ratio: 16/9; border: 1.5px solid grey; border-radius: 10px; overflow: hidden;\">\n  <iframe\n    src=\"https://player.mux.com/qCB00I8NZA00zmudtuCKT53u02RG01dkigAzB01FXQcC8tuE?preload=metadata&muted=true\"\n    style=\"position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0;\"\n    allow=\"accelerometer; gyroscope; encrypted-media; picture-in-picture\"\n    allowFullscreen=\"true\"\n  ></iframe>\n</p>\n\nLike every edit in Val Town, Townie's changes are instantly deployed live on the\ninternet at a URL (or a branch-preview-URL) in 100ms.\n\nWhat can Townie do?\n\nTownie can take almost any action that you as a user can take:\n\n- List, search, & create vals\n- Read, write, & run files\n- View history, create & switch branches, revert versions\n- Query your SQLite databases & Blob storage\n- Read & write environment variables\n- Read logs\n- Read & configure cron jobs\n\nBecause Townie has so much context, you can ask it to one-shot whole features or\neven full-stack apps. Or remix one of our\ntemplates. Townie gets the same tight\nfeedback loop that Val Town users get:\n\n1. Edit code\n2. Automatically deployed live in 100ms\n3. Run the code\n4. View the output\n5. Read the logs\n6. Keep iterating until done\n\nYou can rely on version history and branching to move fast without breaking\nthings, along with Townie's\nchat history to pick up where you\nleft off.\n\nModes\n\nWe're using the latest models in the Claude 4.5 family — Haiku, Sonnet, and Opus\n— with three modes:\n\n1. Normal: Townie asks you to approve before writes\n2. Plan: Townie as your read-only thinking partner\n3. Allow all edits: Townie YOLOs changes to your vals\n\nSystem prompt\n\nTownie knows Val Town inside and out. Our\nsystem prompt is public\n(still), and\nit doubles as a great \"101 intro to Val Town.\"\n\nKeyboard shortcuts & slash commands\n\nAs a power user, you can open Townie with  and use slash commands:\n\n-  Show estimated cost and usage\n-  Show context window usage\n-  Summarize older messages to save context\n-  Start a new chat\n\nTownie is writing ~50% of my code\n\nBefore Townie v5, we didn't think we needed an in-browser AI agent. We wanted to\nthoughtfully craft a good MCP server and let you the developer stay where you\nare (in your favorite AI coding tool). And we did. And\nyou\ncan!\n\nBut MCP clients just aren't good enough yet, so that experience often falls\nshort. Our customers asked for a good in-browser AI agent. Honestly, we as users\nof our product wanted this too. And it's pretty great! I use Townie v5 a lot\nnow. Sometimes I use it for vibe coding (for prototypes or simple things), and\nother times I keep it on a tight leash (for stuff I care about).\n\nIt's fun and productive – give it a try!\n\nTry Townie\n\nTownie is available in public beta for\nPro and Teams\ncustomers, so you can try it for $10/mo.\n\nThanks to Pete for helping me write this and crafting the lovely Townie doodle\nat the top.",
  "title": "Townie's back in town!"
}