Project Info
Inspiration
As a developer, I've dealt with agent memory issues for months. My two biggest pain points were persistent memory and shareability. I tried storing all my agents' context in Obsidian markdown files, but that blew up my token costs and hurt my agent's performance, and it didn't solve sharing at all. As someone who competes in hackathons almost every week, I wanted a way to share context with my team so all our coding agents stay on the same page. So I built ContextMaster.
What it does
Say you have a team of five builders, each using Claude, Cursor, and Gemini. All your agents can see the codebase, but the code doesn't tell the whole story. There's no record of why you made a decision, where you pivoted, or how the product reached its current state. ContextMaster connects all agents to a single workspace over MCP. Instead of copy-pasting context between agents and losing details, each agent selectively pushes and pulls from a shared "team brain", so every decision is tracked and every model stays up to date.
How we built it
I built a custom MCP server with tools to push and pull context from specific workspaces (you can have as many as you want). When you save a chat session, gpt-4o-mini chunks it into typed categories: decisions, current state, conventions, findings, open questions, references, and context. Each chunk is embedded with text-embedding-3-small and stored in Redis. Every save is timestamped, so you can tell which decisions are current and which are old but still relevant, and superseded decisions get flagged automatically. For retrieval, I use RediSearch. Your query is embedded and two ranked lists come back: one ranks chunks by keyword match using BM25, the other by semantic similarity using K-nearest-neighbors with cosine distance over an HNSW vector index. I fuse the both lists, keyword + semantic, with Reciprocal Rank Fusion (RRF). The top chunks load into the agent's context, so it doesn't miss anything and doesn't have to load the entire project into its window. Vectors, full-text search, and storage all live in one Redis instance, no separate vector database.
Challenges we ran into
The hardest challenge was keeping the agent faithful to the tool instead of falling back on its own memory, where it tends to miss details and hallucinate. Getting reliable retrieval took real experimentation before I landed on the BM25 + KNN/HNSW hybrid. To test this out, I turned off my agent memory and examined if it could pull catch specific details and important information from the context. The other challenge was minimizing overhead so developers don't feel like they're migrating to a new tool. You do 99% of the work right inside Claude or Cursor, make an account, connect your agents, and you're set.
Accomplishments we're proud of
I'm proud of the retrieval performance — even with minimal LLM calls, agents save and retrieve details reliably. A big milestone was connecting multiple coding agents to a single shared workspace, so different agents stay in sync through one "team brain." I also architected the system for full team sharing: once it's deployed, users can share workspaces and connect their own agents across machines, I just couldn't demo that part solo on one computer.
What we learned
I learned how to manage large amounts of context and why it matters, not just for coding agents. Context loss is a serious industry problem, and this project showed me that conservative, shared context isn't just about saving tokens; it directly improves an agent's performance.
What's next
I'm planning to deploy this, it's a tool I'd genuinely use with my hackathon teams. I'd also love to bring it to local startups and see how they respond to this approach.
This repository has no readme, or GitHub could not be reached.
Analysis
View
Metric
- 5
- 5
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- CSSIn code
- ExpressIn code
- HTMLIn code
- JavaScriptIn code
- OpenAIIn code
- ReactIn code
- RedisIn code
- Tailwind CSSIn code
- TypeScriptIn code
- DockerClaimed
- Node.jsClaimed
9 of 11 appear in the indexed code. 2 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
- CursorCommits
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
1.5 MB
Source files
150
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
AbeBhatti/ContextMaster
178 files · 5.8 MB · @ f6edb8e
Structure
Interface
46 files · 26%Screens, components and styles rendered to the user.
API & routing
53 files · 30%Request entry points: routes, handlers and controllers.
Application logic
35 files · 20%Domain rules, services and shared utilities.
Background jobs
1 file · 1%Work run outside a request: tasks, workers and schedules.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- TypeScript81%
- HTML10%
- YAML8%
- JavaScript1%
- CSS0%
- XML0%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
packages/api/package.json
npm · 22- @clerk/backend
- @modelcontextprotocol/sdk
- cors
- dotenv
- express
- jose
- mammoth
- mixpanel
- multer
- openai
- pdf-parse
- redis
- resend
- svix
- zod
- +7 more
packages/dashboard/package.json
npm · 17- @clerk/clerk-react
- clsx
- lucide-react
- mixpanel-browser
- react
- react-dom
- react-router-dom
- tailwind-merge
- +9 more
packages/mcp-client/package.json
npm · 5- @modelcontextprotocol/sdk
- zod
- +3 more
package.json
npm · 3- dotenv
- openai
- redis
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.