Skip to content
⚡

Hacking on Ditto ​

The carnival needs new rides. Grab a tool and start building.
No gatekeeping, no build-system hazing — just ideas and instant results.

🎪

Anyone can build the future ​

Ditto is open source and designed to be hacked on. The codebase isn’t a fortress — it’s a playground. Whether you want to add a new theme, invent a game, tweak the UI, or build something nobody has imagined yet, these tools make it possible today — even if you’ve never touched a line of code.

The golden era of the internet won’t be built by a small team. It’ll be built by everyone who shows up.

🎭

Edit with Shakespeare ​

Shakespeare is a browser-based AI development environment. No installation, no terminal, no local dev setup — just import the Ditto repo and start building. Describe what you want in plain language and watch it happen in real time.

🌐

Zero setup ​

Everything runs in the browser. Open a tab and you’re in.

🔮

Nostr-native tools ​

13+ built-in tools for Nostr events, NIPs, and relay queries.

👁️

Live preview ​

See changes in real time. Built-in Git for commits and merge requests.

How it works ​

  1. Click Edit with Shakespeare — it opens the Ditto repo in your browser, ready to go
  2. Describe what you want — “add a dark purple theme option”, “fix the avatar upload on mobile”, “add a new sidebar link for bookmarks”
  3. Shakespeare reads the codebase, understands the structure, and makes the changes
  4. See results live, iterate through conversation, and push when you’re done
📂

Source code ​

Ditto is proudly open source under the AGPL. Clone it, browse it, fork it — it’s all yours.

🧰

Tech stack ​

Ditto is built on MKStack, a batteries-included Nostr application framework. Here’s what’s under the hood:

⚛️

React + TypeScript ​

React 18, TanStack Query, shadcn/ui with TailwindCSS.

📡

Nostrify ​

Relay connections, event queries, zaps, DMs, and Blossom uploads.

🤖

AI-ready ​

Built-in AGENTS.md and MCP configs so AI tools understand the full stack.

Running locally ​

bash
npm install
npm run dev

That’s it. The dev server starts and you can see your changes live at localhost.

✨

You don't need to understand the full stack to contribute. Shakespeare and OpenCode both have deep context on the project — describe what you want and let the AI handle the wiring. When you're ready to contribute upstream, see the Contributing guide.

📚

Further reading ​

🏗️

MKStack ​

The framework Ditto is built on. Use it to scaffold new Nostr apps with the same stack.

🖥️

OpenCode ​

Terminal-based AI coding agent. Full local filesystem, LSP, multi-session — the power tool for deep changes.

📖

MKStack Tutorial ​

Step-by-step guide to building Nostr apps with Stacks and MKStack.

🎬

Shakespeare Origin Story ​

How Shakespeare evolved from Block’s Goose to a browser-based AI builder.

🔥

The carnival needs you ​

Ditto isn’t trying to be another platform. It’s trying to be the most fun place on the internet — and that takes more than one team. Grab a tool, break something, build something better. The golden era won’t build itself.