TreeMap
A free, open-source disk-space visualizer. Squarified treemap, duplicate hunting, disk-full forecasting, and cleanup that only ever moves files to the Trash.
AI-driven Kanban channels
Translation pending
ProductivityTypeScript · JavaScriptGitHub @unboardOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
I think I kan I think I kan
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
A Kanban app where each channel is an AI-assisted, goal-driven space. Cards can be created by
hand or generated by Kan, the built-in assistant, and the way you use a board — moving,
editing, rejecting cards — is the feedback that shapes what it produces next.
Beyond the board, Kanthink runs shrooms: automations that trigger on a schedule or an event,
run a sequence of steps, and learn from what you reject.Read the full README ↗A Kanban app where each channel is an AI-assisted, goal-driven space. Cards can be created by hand or generated by Kan, the built-in assistant, and the way you use a board — moving, editing, rejecting cards — is the feedback that shapes what it produces next.
Beyond the board, Kanthink runs shrooms: automations that trigger on a schedule or an event, run a sequence of steps, and learn from what you reject.
npm install
cp .env.local.example .env.local # then fill it in — see below
npm run dev
Open http://localhost:3000.
At minimum you need a database, auth, and one AI provider:
| Variable | Purpose |
|---|---|
DATABASE_URL, TURSO_AUTH_TOKEN | Turso database |
AUTH_SECRET, NEXTAUTH_SECRET, NEXTAUTH_URL | NextAuth |
GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET | Google sign-in |
OPENAI_API_KEY and/or GOOGLE_API_KEY | AI generation |
NEXT_PUBLIC_APP_URL | Absolute URLs in emails and share links |
Optional, per feature: PUSHER_* / NEXT_PUBLIC_PUSHER_* (realtime), STRIPE_* (billing),
RESEND_* (email), CLOUDINARY_* (uploads), ENCRYPTION_KEY (BYOK key storage),
CRON_SECRET (scheduled routes), INTERNAL_API_SECRET (internal move API),
OWNER_*_API_KEY (fallback keys), *_MONTHLY_LIMIT (usage tiers).
npm run dev # dev server
npm run build # runs migrations, then next build
npm test # vitest
npm run lint # eslint
npm run email # React Email preview on :3001
npm run migrate # apply DB migrations standalone
lib/db/migrations.mjs is the single source of truth for all DDL. Adding a column to
lib/db/schema.ts without adding a matching ALTER TABLE there will break every query on that
table — Drizzle emits explicit column lists, so a missing column fails the whole SELECT.
npm run build applies migrations before building, so Vercel migrates before new code serves
traffic. npm test includes a guard that fails if a schema column has no migration.
git push does not deploy — Vercel's Ignored Build Step is set to "Don't build anything",
so pushes only update GitHub history. Deploys are explicit:
vercel deploy --prod --yes
app/ routes + API (App Router)
components/ UI, grouped by surface (board/, shrooms/, record/, voice/, …)
lib/ domain logic, db schema/migrations, AI, emails
tests/ vitest suites
scripts/ operational one-offs and the /kan driver
.claude/ agent commands (see kan.md)
app/prototypes holds UI experiments that don't ship. /catlife, /wildwood, and /rescue
are standalone personal games that share the codebase but none of Kanthink's domain model.
See CLAUDE.md for working conventions, including the mobile drag-and-drop constraints and the
product-changelog rules.