Tethr
A developer contribution ledger that logs work from your AI coding IDE over MCP and syncs daily tables, weekly summaries and monthly appraisal dossiers to Google Docs.
- Role
- Solo developer: product, frontend, backend and MCP server
- Timeline
- Sep 2026 – present
- Type
- Personal project
Overview
Tethr records every contribution as Contribution → Outcome → Evidence: what you did, the impact it had, and proof such as a PR, commit or ticket. Entries come straight from AI coding IDEs (Cursor, Claude Code, Antigravity, Windsurf) through the Model Context Protocol, or from a web dashboard, and are written to a connected Google Doc.
The problem
Before a performance review, developers dig through months of git history, closed PRs and chat threads to remember what they shipped and why it mattered. A vague work diary does not hold up, and nobody keeps one by hand.
Tech stack
- Next.js
- TypeScript
- FastAPI
- Python
- MongoDB
- MCP
- Gemini
- Clerk
- Google Docs API
What I built
- FastMCP server with add_task, update_task, get_tasks and sync_docs tools, so the IDE assistant logs work from the code it just changed
- Three-tier Google Docs ledger: a 10-column daily contribution table, Saturday weekly summaries and month-end appraisal dossiers
- Gemini 2.0 Flash writes weekly and monthly summaries, with a template fallback that works offline or without an API key
- Custom MCP sign-in screen with silent Clerk session checks, loopback redirect and a copy-code fallback for IDEs
- Configurable sync cadence (real-time, end of day or weekly) with a cap on manual summary syncs
- Dashboard with impact table, Kanban view and starred career highlights for promotion packets
Challenges
Designing an OAuth-style authorization flow that works inside IDE MCP clients, with a loopback redirect and a manual-code fallback; verifying Clerk JWTs (RS256) in FastAPI; encrypting stored Google tokens with AES-256-GCM; and formatting structured tables reliably through the Google Docs batchUpdate API.
Outcome
Live, with the MCP tools, Google Docs sync and AI-written summaries running across a Next.js frontend and a FastAPI backend. New features are being added.