Know your code.
Every line of it.

Anyone can build software with AI now. Understanding what it built is the hard part. idecode opens any project and explains every part of it in plain English, right beside the code.

Drop it into your agent. Ready in about 30 seconds. Runs on your own computer, with your own AI.

checkout-app / src/app/api/login/route.ts
1import { NextResponse } from "next/server";
2import { createClient } from "@/lib/supabase";
The tools it needs

Brings in Next.js's way of sending a reply, and the connection to the user database.

4export async function POST(req) {
5  const { email, password } = await req.json();
6  if (!email || !password)
7    return NextResponse.json({ error: "Missing fields" }, { status: 400 });
Checking what was sent

Runs when someone submits the login form. If the email or password is empty, it stops right away and says so.

8  const db = await createClient();
9  const { error } = await db.auth.signInWithPassword({ email, password });
10 if (error) return NextResponse.json({ error: "Wrong email or password" }, { status: 401 });
11 return NextResponse.json({ ok: true });
12}
Signing you in

Asks the database whether this email and password match. A wrong guess gets a polite no; a match means you're in.

Understand the code

No matter who wrote it.

storefront
AI
Done! I added login, payments and email.
app/login/page.tsxThe sign-in screen
app/api/auth/route.tsChecks a password and signs you in
lib/stripe.tsThe connection to Stripe for payments
app/api/checkout/route.tsStarts a payment when someone buys
app/api/webhooks/stripe.tsHears back from Stripe when a payment clears
lib/email.tsSends email through Resend
emails/receipt.tsxThe receipt customers get
middleware.tsKeeps signed-out visitors off account pages
01

You built it with AI.

It works. Now see how, so you can change it without breaking it.

orders-service · 1,284 files
1
src/server.tsWhere everything starts
Start here
2
src/routes/orders.tsEvery order request lands here
3
src/db/orders.tsWhere orders are saved and read
02

You just joined a project.

Skip the month of digging. The tour shows you the three files that matter first.

users.py
@lru_cache(maxsize=128)
def active_users(*ids, **opts) -> list[User]:
    with db.session() as s:
        return [u for u in s.get(ids) if u.active]
Plain English

Finds the active users from a list of IDs. It remembers its answers, so asking twice is instant, and it closes the database connection when it's done.

decoratorlist comprehensioncontext manager
03

You don't write the language.

Python, Go, Rust: the odd symbols become plain English, right beside the code.

The new gap

Coding got easier.
Understanding didn't.

An AI can write a working feature in the time it takes to read one file. Every week the distance grows between what got built and what anyone actually understands about it.

0
lines your AI wrote this week
vs
0
lines you understood

idecode closes that gap. Not by writing more code, but by helping you understand the code you already have.

Setup

Drop it into your agent.
Ready in about 30 seconds.

Ready in about 30 seconds. No installers, no config files. If you like to be careful, ask your agent to review the code first.

  1. 1
    Download.One file, made to be handed to your coding agent.
  2. 2
    Drop it into your agent.Drag the file into Claude Code's chat. It unpacks and sets itself up.
  3. 3
    Start reading.idecode opens in your browser with your projects ready.
~/Downloads
ZIP
idecode-install-with-your-ai-agent.zip
DownloadedNext: drag it into your agent's chat
📎 idecode-install-with-your-ai-agent.zip
This is idecode, a local app that explains your code in plain English. Setting it up now.
Unpacking… ✓
Checking Node.js… v22 ✓
Installing… done ✓
Finding your projects… 4 found ✓
Health check passed ✓
idecode is ready. Opening it in your browser.
localhost
Your projects
Sstorefrontupdated today
Bbooking-appupdated yesterday
Pportfolio3 days ago
Iinvoice-botlast week

Use the AI you already have

No new subscription.

idecode runs on your own computer and opens in your browser, using the AI you already pay for: your Claude Code plan, or your own Anthropic or OpenAI API key. Nothing to sign up for, no account to make, no monthly bill.

How it works

A translator for the code underneath.

01

Open any project.

Open any project on your computer, or add one straight from GitHub with a link, private repos included. Every file and folder gets a short line in plain English, so the layout makes sense before you open anything.

02

Read it side by side.

Open a file and the explanation lines up with the code, part by part. Hover a card and its lines light up. Highlight any lines to ask about them.

03

Set how plain, and how long.

Plain is written for someone who has never coded. Technical is for developers who want the why. Short or detailed, your call, and you can change it anytime.

04

Learn the words as you go.

Programming terms are underlined. Hover for a plain definition, and mark the ones you know so they stop getting in your way. Your dictionary grows with you.

05

Ask how anything works.

"How does logging in work?" idecode searches the actual code, follows the trail across files, and answers with links that open the exact lines.

06

Take the guided tour.

A guide walks you through the real code, stop by stop. Everything dims except the lines that matter while it explains what they do and how they connect. Ask questions mid-tour.

07

See what it's made of.

Languages, frameworks and where it runs, at a glance. Every tool is a dictionary word, so you can find out what Next.js or Supabase actually does here.

checkout-app
▤ Project
checkout-app
acme/checkout-app· from GitHub
184files
21klines of code
Next.jsmain framework
TypeScript 71%JavaScript 17%CSS 8%
⌕Ask how anything in checkout-app works…→
src/app/api/login/route.tsExplainedCode only
1import { NextResponse } from "next/server";
2import { createClient } from "@/lib/supabase";
3

The tools it needslines 1-2

Brings in Next.js's way of sending a reply and the connection to the user database.

4export async function POST(req: Request) {
5 const { email, password } = await req.json();
6 if (!email || !password)
7 return NextResponse.json({ error: "Missing fields" }, { status: 400 });

Checking what was sentlines 4-7

Runs when someone submits the login form. If the email or password is empty, it stops right away and says what's missing.

8 const db = await createClient();
9 const { error } = await db.auth.signInWithPassword({ email, password });
10 if (error) return NextResponse.json({ error: "Wrong email or password" }, { status: 401 });
11 return NextResponse.json({ ok: true });
12}

Signing you inlines 8-12

Asks the database whether the email and password match. A wrong guess gets a polite no; a match signs you in.

✎ Ask about lines 5-6
⚙ Explanations
How plain
PlainBalancedTechnical
No coding background assumed
How long
ShortMediumDetailed
5 const { email, password } = await req.json();
6 if (!email || !password)
7 return NextResponse.json({ error: "Missing fields" }, { status: 400 });

Checking what was sentlines 5-7

This part is like a doorman. If someone forgets their email or password, it stops them at the door and tells them what's missing.

8 const db = await createClient();
9 const { error } = await db.auth.signInWithPassword({ email, password });

Signing you inlines 8-9

It calls the database's sign-in check, an async function, and waits for the answer before replying to the browser.

📖 async function

A step that takes a moment, like asking a database something, so the code waits for the answer instead of guessing.

✓ I know this word
Words used in this file
async functionI know this
JSONKnown
status codeI know this
⌕→
✦ Question
How does logging in work?
⌕Searching for "login|signIn"
▤Reading src/app/login/page.tsx
▤Reading src/app/api/login/route.ts
▤Reading middleware.ts

The login page sends your email and password to ▤ route.ts 4-12, which checks them with the database.

After that, ▤ middleware.ts 3-9 lets you through to your account pages on every visit.

Want to see it in the code?A short guided walkthrough, stop by stop.
⚑ Walk me through this
middleware.ts
1import { NextResponse } from "next/server";
2
3export function middleware(req) {
4 const session = req.cookies.get("session");
5 const isPrivate = req.nextUrl.pathname.startsWith("/account");
6 if (isPrivate && !session)
7 return NextResponse.redirect(new URL("/login", req.url));
8 return NextResponse.next();
9}
⚑ Keeping pages private?×

Every visit passes here first

▤ middleware.ts · lines 3-4

Before any page loads, this runs and reads your sign-in cookie, the little note your browser keeps after you log in.

‹1/3Next ›
≋ Stack
TypeScript71%
JavaScript17%
CSS8%
SQL4%
Built with
Next.jsReactSupabasePrismaStripeTailwind CSS
Runs on
VercelGitHub Actions
⚑ Guided tour

How checkout-app works, from login to receipt

9 stops · 3 chapters

▶ Start the tour

Security

Your code stays yours.

idecode runs on your own computer, and your code stays there. The parts you ask about go straight to your own AI, your Claude Code plan or your API key, and nowhere else.

No middleman. No idecode servers, no account, no tracking.

On your computer
const apiKey = "";
.envstays here
What your AI receives
const apiKey = "[redacted]";
.envnever sent
Secrets are removed on your computer, before anything is sent. Your AI never sees them.
Ignored means invisible.

Anything your project's .gitignore hides, idecode never shows or sends.

Secrets get scrubbed.

Keys, tokens and passwords written into code become [redacted] before the AI sees a line.

Never touches .env.

Environment files, keys, certificates and databases are off limits, tracked by git or not.

Read-only.

It can't change, run or delete anything. It only reads, and only inside the folder you choose.

A log of everything sent.

See exactly which files went to the AI, when, and why. Paths only, never contents.

Pricing

One plan. It's free.

Everything, for everyone
$ / month Free.
  • Explanations beside every part of the code
  • Plain, Balanced or Technical, short or detailed
  • A dictionary that learns the words you know
  • Ask how anything works, with links to the lines
  • Guided tours through the real code
  • Project overview, stack and file labels
  • Privacy built in: ignored files hidden, secrets scrubbed

You only pay for the AI you already use: your Claude Code plan or your own API key.

Download♥ Tip jar coming soon
Private beta · v0.1.0

Get it first.

idecode is in private beta. Join the waitlist and you'll be first to get it. Free, drop it into your agent, ready in about 30 seconds.

Just your email, only for idecode news. No spam, unsubscribe anytime. Privacy

  1. Download idecode.One file, made to be handed to your coding agent.
  2. Drop it into your agent.It unpacks and sets itself up. Want to check it first? Ask your agent to review the code.
  3. Start reading.It opens in your browser and walks you through your first file.
✓ Free✓ No subscription✓ No account✓ Uses the AI you already have

Works with a Claude Code sign-in, an Anthropic API key, or an OpenAI API key.