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.