Skip to content

Davey2Waveyy/futboard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FutBoard

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.

How it works

Telegram message  ->  parser  ->  auto-planner  ->  ranked board
   "build X, P1"      structured     phase plan       do-next order
                        idea        (stack-aware)

1. Capture over Telegram

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.

2. Parse

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.

3. Plan, against your own stack

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.

4. Rank

Ideas land on a board ordered by impact, priority, and effort, so the next thing to work on is always at the top.

Local-first by design

  • 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.

On-disk format

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.

Stack

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.

About

FutBoard — local-first idea engine: capture ideas over Telegram, auto-plan them against your own stack, and rank them on a do-next board.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors