• Townie
    AI
  • Blog
  • Docs
  • Pricing
  • We’re hiring!
Log inSign up
stevekrouse

stevekrouse

OpenTownie

AI assistant that can edit Val Town Projects
Remix of shouser/OpenTownie
Public
Like
4
OpenTownie
Home
Code
4
backend
4
frontend
4
README.md
H
index.ts
Branches
2
Pull requests
1
Remixes
8
History
Environment variables
2
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
Sign up now
Code
/
README.md
Code
/
README.md
Search
3/26/2025
Viewing readonly version of main branch: v868
View latest version
README.md

OpenTownie

OpenTownie is an AI-powered development assistant that lets you edit Val Town projects using Claude 3.7 Sonnet. It provides a seamless interface for discussing your code with Claude AI, which can directly view and modify files in your Val Town projects.

Features

It uses agentic tool-calling, taking manh read, write, and thinking steps autonomously when carrying out your instructions.

  • AI-Assisted Editing: Chat with Claude 3.7 Sonnet about your code and let it make changes directly to your project files
  • File Browser: Select specific files to include in the context window for more focused AI assistance
  • Branch Management: View, select, and create branches without leaving the app
  • Cost Tracking: See estimated API usage costs for each interaction
  • Sound Notifications: Get alerted when Claude finishes responding
  • Mobile-Friendly: Works on both desktop and mobile devices

How It Works

  1. Login: Authenticate with your Val Town API token and Anthropic API key
  2. Select a Project: Choose which Val Town project you want to work on
  3. Select Files: Browse your project files and select which ones to include in the context window
  4. Chat with Claude: Describe what you want to build or modify, and Claude will help implement it
  5. Branch Management: Create and switch between branches to organize your development work

Getting Started

Prerequisites

  • A Val Town account with API access
  • An Anthropic API key (Claude 3.7 Sonnet)

Setup

  1. Visit the OpenTownie app
  2. Enter your Val Town API token (with projects:write and users:read permissions)
  3. Enter your Anthropic API key
  4. Click "Login" to access your projects

Usage Tips

  • Be Specific: When asking Claude to make changes, be as specific as possible about what you want
  • Include Context: Select relevant files to give Claude the context it needs
  • Create Branches: Create a new branch before making significant changes to avoid affecting your main code
  • Review Changes: Always review Claude's changes before merging them into your main branch
  • Iterative Development: Break down complex tasks into smaller steps for better results

Technical Details

OpenTownie is built with:

  • React frontend with TypeScript
  • Hono API server backend
  • Tailwind CSS for styling
  • Web Audio API for sound notifications
  • AI SDK for Claude integration

The application proxies requests to the Anthropic API and Val Town API, allowing Claude to view and edit your project files directly.

Privacy & Security

  • Your Val Town API token and Anthropic API key are stored locally in your browser
  • No data is stored on our servers
  • All communication with the APIs is done directly from your browser

Todo List

  • make image drop area invisible andbot
  • ] Refactor /backend/index.ts into multiple files
  • Format the JSON inside the tool-calls as pretty markdown
    • Think as normal markdown
    • File write as a code embed
    • str_replace as a diff view
  • Figure out a convention to teach in the anthropic prompt mod where the LLM always checks the readme for the scope (if not provided) and keeps it up to take with every change
  • Persistent threads
    • Utils to help you revert to before or after messages or actions (related to commits)
  • Rebuild as React Router?
  • opentownie as a pr bot
  • give it the ability to see its own client-side and server-side logs by building a middleware that shoves them into a SQL light database date and then give it a tool to access them or use our trpc API in that tool
  • do a browser use or screenshot thing to give it access to its own visual output
  • Have it default to creating a new branch off main and then embedding and iframe to the resulting http val and give you a link to a pr opening url
  • A way to upload docs, by URL? A mini site to recursively crawl docs and markdownify?
  • Give it all the code (except maybe .txt files) as initial context (like cursor sonnet max)
  • I seem to have lost the delete file tool and instructions, try to find them back in history or re-create?
  • Show reasoning in a detail
  • Consider asking it to write the minimum code possible
  • Add caching (post in the vercel ai discussion about how it's not working)
  • For login, have a button that reloads the page
  • Start a timer for messages
  • Add more indicators that it's "still working"
  • Require users supply their own Anthropic token?
  • Add cost indications on messages
  • Add a bell noise when the message is done to let us know
  • Launch!
  • Let it select the branch name from a dropdown
FeaturesVersion controlCode intelligenceCLI
Use cases
TeamsAI agentsSlackGTM
ExploreDocsShowcaseTemplatesNewestTrendingAPI examplesNPM packages
PricingNewsletterBlogAboutCareers
We’re hiring!
Brandhi@val.townStatus
X (Twitter)
Discord community
GitHub discussions
YouTube channel
Bluesky
Terms of usePrivacy policyAbuse contact
© 2025 Val Town, Inc.