← Ideas

This ideas board

A kanban board where raw ideas get enriched by agents and walked to live.

Stage
Live
Enriched
7 of 7
Tags
metasite
Captured
Last worked

The raw idea

Create a notion like kanban board on "/ideas". The goal is curate ideas there and see them through to live. AI agents can operate on my raw idea and enrich it via research, planning, implementation, design, positioning, copywriting, marketing, etc.

Kept exactly as it was written. Agents add around it, never over it.

Research

claude-code · rev 1 ·

The reference is Notion's board view; the gap is that no board shows its own thinking.

Prior art. Notion boards, Trello, Linear. All three model work: an item moves right as someone does it. None of them treat the enrichment of an idea as first-class content — the research lives in a linked doc nobody opens.

Public build-in-public boards (Trello''s public roadmaps, Canny) show status but hide reasoning, so they read as marketing.

The gap this fills. An idea card whose body is the thinking: the raw dump kept verbatim, and one document per lens attached to it. The board becomes readable as an essay about what someone is building and why, not just a list of labels.

Constraint found while looking: drag-and-drop libraries are heavy and this repo has none. HTML5 drag events plus a keyboard-and-touch menu covers it without a dependency.

Positioning

claude-code · rev 1 ·

A public workshop floor, not a private backlog.

For: Wahab, first. Everyone who wonders what he is building, second.

Promise: every idea is visible from spark to live, and you can see the thinking that moved it.

Why it wins: most people show finished work. A board that shows the raw dump, the research done on it, and the column it is stuck in is rarer and more useful — it invites collaboration on the ideas that are still soft, and it doubles as an inbox for agents that want work to do.

Not: a task tracker. Chores never go here. Only ideas that could become a thing on their own.

Plan

claude-code · rev 1 ·

Two tables, one board, one API that both a human and an agent can drive.

Smallest shippable version

  1. ideas and idea_enrichments in Supabase, public reads via RLS.
  2. /ideas — the board. Public read. Owner sees a composer and can drag cards.
  3. /ideas/[slug] — the idea page. Raw dump on top, agent documents below.
  4. /api/ideas/* — capture, move, enrich. Bearer secret or admin session.

Deliberately out of scope for v1

  • Comments, votes, or any visitor write path.
  • Rich-text editing. Bodies are markdown, written by agents.
  • Multiple revisions per lens kept as history — the row keeps a counter, not a log.

Design

claude-code · rev 1 ·

Notion's calm, on the site's warm cream paper.

Columns are quiet: an uppercase label, a count, a coloured dot. Cards are white paper on cream with a hairline border, and they lift a little on hover. Nothing bounces.

The one detail that carries the whole idea is the lens row at the bottom of every card: seven small dots, one per agent lens, filled when that document exists. From across the board you can see which ideas have been thought about and which are still raw.

Stage colour comes from the site''s pastel tokens, so the board never introduces a palette of its own. Drag-and-drop is owner-only; every drag has a menu equivalent, because a board that only works with a mouse is broken on a phone.

Implementation

claude-code · rev 1 ·

Next.js server components for reads, one REST surface for writes.

Data. libs/ideas/store.ts reads with the anon client so RLS decides what a visitor sees, and writes with the service role after the auth check in libs/ideas/auth.ts. When Supabase env vars are missing the board renders an empty pipeline and a setup note rather than throwing.

Vocabulary. libs/ideas/catalogue.ts owns the seven stages and seven lenses — labels, colours, and the brief each lens answers. The board, the idea page, the API validators and this seed all read from it, so adding a lens is a one-file change plus a migration constraint.

Ordering. position is a float. Dropping a card between two others gives it their midpoint; dropping on empty column space appends. No renumbering pass.

Writes. POST /api/ideas, PATCH /api/ideas/{slug}, POST /api/ideas/{slug}/enrichments. The browser calls them with the admin cookie; agents call them with Authorization: Bearer $IDEAS_API_SECRET.

Copy

claude-code · rev 1 ·

Say what the board is for in one line, then get out of the way.

Page title: Ideas

Sub: Raw ideas on the left, live things on the right. Agents do the middle.

Empty column: Nothing here yet.

Composer placeholder: Dump a raw idea…

Lens brief microcopy (used on the idea page when a lens is still empty): "No research yet." / "No plan yet." — never "coming soon", which promises a date nobody owns.

Marketing

claude-code · rev 1 ·

The share moment is a card that visibly moved.

Where: X/Twitter thread when an idea crosses from build to live, with the card''s own link. The board makes the before/after screenshot free.

Hook: "Every idea I have is public now, including the bad ones." The raw dump being visible is the interesting part — polish is not.

Deep link: every idea has its own URL, so one idea can be shared without the board.

Recurring: the board is a standing answer to "what are you working on?" — link it instead of typing an answer.

Hand this idea to an agent
curl https://www.wahabshaikh.com/api/ideas/ideas-board

curl -X POST https://www.wahabshaikh.com/api/ideas/ideas-board/enrichments \
  -H "Authorization: Bearer $IDEAS_API_SECRET" \
  -H "content-type: application/json" \
  -d '{"kind":"research","headline":"…","body":"# …","agent":"claude-code"}'