Capture a project idea the moment it shows up, and let it sort itself onto a ranked "do-next" board before it escapes.
FutBoard is a local-first idea engine. You text an idea to its Telegram bot from wherever you are, and it parses the message, drafts a plan against the tech stack it has learned from your own projects, and drops it onto a board ordered by what's worth doing next. Everything you capture stays as plain Markdown on your own disk.
This repository documents the architecture and the on-disk format, with a worked example under
examples/. The running app (Telegram bot, Fastify API, and React board) is a personal local-first build; the pieces that matter for understanding how it works are here.
Telegram message -> parser -> auto-planner -> ranked board
"build X, P1" structured phase plan do-next order
idea (stack-aware)
Message the bot in one line from your phone or desktop. No app to open, no form to fill. Each capture becomes a Markdown file named for its source (tg-<chatid>-...md for Telegram, cap-...md for the web capture box). You can keep chatting with the bot to rename, reprioritise, or refine an idea after the fact.
The parser pulls structure out of free text: title, effort (S/M/L), impact (1 to 5), priority (P0 to P3), and an optional deadline. Anything it can't find it defaults and records under parseWarnings, so nothing is silently invented and you can see exactly what it guessed.
FutBoard keeps a stack profile it has learned from scanning your projects (preferred language, frameworks, test runner, package manager). When it plans an idea it produces a deterministic phase skeleton (Setup, Core, Ship) scaffolded in your stack, and flags anything off-stack so a stray dependency doesn't sneak in. If an Anthropic API key is present it enriches the skeleton into a fuller plan; if not, you still get a usable plan with aiEnriched: false.
Ideas land on a board ordered by impact, priority, and effort, so the next thing to work on is always at the top.
- Markdown is the source of truth. Every idea is a Markdown file with YAML front matter that you own and can edit by hand.
- The database is disposable. A SQLite index (via Node's built-in
node:sqlite) is rebuilt from your Markdown on startup. Delete it any time; nothing is lost. - Plans are files too. Each idea has a matching plan JSON next to it.
An idea (data/ideas/<id>.md):
---
id: cap-1779658518485-b0216528
title: Realtime sync for the notes app
state: Inbox
needsReview: false
offStack: false
effort: M
impact: 4
priority: P1
deadline: 2026-07-01
---
Add realtime sync so notes update across devices without a refresh.Its plan (data/plans/<id>.json) is a stack-aware skeleton, optionally AI-enriched. See examples/ for a full pair.
TypeScript · Node.js · Fastify · React · Tailwind CSS · Vite · SQLite (node:sqlite) · Vitest · Telegram Bot API · Anthropic API (optional enrichment)
See STACK.md for the profile FutBoard learned and plans against.