Inspiration
AI coding assistants forget everything between sessions. LeetCode only tracks pass/fail — not WHY you failed or whether you made the same mistake before. We built Recall to give AI assistants persistent, structured memory of your DSA practice.
What it does
Recall is an MCP server that connects to Cursor, Claude Desktop, or VS Code and provides:
- Mastery Decay Engine: Tracks topic mastery with 14-day exponential half-life (mastery = base × 0.5^(days/14))
- Vector Mistake Detection: Embeds mistakes with Google Gemini (768-dim) and detects recurring patterns via cosine similarity
- Company-Specific Study Plans: 3,359 real LeetCode problems tagged with 129+ companies
- Web Dashboard: Full-featured dashboard with AI Study Assistant, progress analytics, and problem browser
- VS Code Extension: Live mastery sidebar with startup notifications
How we built it
- FastMCP (Python 3.11) for 8 MCP tools
- CockroachDB Serverless for distributed SQL + native HNSW vector search
- Google Gemini text-embedding-004 for 768-dimensional mistake embeddings
- FastAPI + Alpine.js for web dashboard
- bcrypt for password authentication
- GitHub Actions for nightly mastery decay cron (0 0 * * *)
- Render for production deployment
Challenges we ran into
- CockroachDB DDL locking with active connection pools during schema migrations
- MCP stdio transport requires pure JSON-RPC on stdout — redirected all logging to stderr
- Integrating FastMCP server with FastAPI web dashboard in a single Railway/Render deployment
Accomplishments
- 49/49 tests passing (4 integration + 45 unit)
- Live deployment with real users
- Working Claude Desktop + Cursor + VS Code integration
- 3,359 company-tagged problems with vector embeddings
What we learned
- MCP protocol design and FastMCP framework
- CockroachDB vector search with HNSW indexing
- Exponential decay modeling for skill retention
- Building production-grade AI memory systems
What's next
- LeetCode auto-sync
- Mobile app
- Spaced repetition scheduler
- Team/group study features
Built With
- alpine-js
- cockroachdb
- fastapi
- fastmcp
- github-actions
- google-gemini
- mcp
- postgresql
- python
- render
- typescript
- vector-search
Log in or sign up for Devpost to join the conversation.