Inspiration
We built Gauntlet because modern work and personal life generate too much scattered information across chats, docs, meetings, and calendars. We wanted an AI memory system that acts like a second brain: it remembers context continuously, connects related facts, and helps users act before things slip through the cracks.
What it does
Gauntlet ingests continuous micro-updates (“micro-dumps”) and turns them into searchable memory with semantic embeddings and a knowledge graph.
It can:
- Recall context from past conversations and events
- Link people, projects, topics, and tasks
- Trigger proactive alerts for time-based commitments
- Draft actions (like replies or scheduling) with a confirm-before-send safety gate
How we built it
We used a hybrid architecture:
- Neon Postgres for durable cloud memory
- IndexedDB for offline/local resilience
- Gemini text-embedding-004 for semantic retrieval
- A knowledge graph with nodes (
person,project,event,topic) and relational edges - Better Auth + Google OAuth for secure per-user access and Google Workspace integrations
Server functions are scoped by context.userId to keep user data isolated and secure.
Challenges we ran into
- Designing reliable continuous ingestion instead of one-shot memory dumps
- Keeping entity resolution accurate (e.g., same person mentioned multiple times)
- Balancing proactive automation with trust and control
- Managing integration token handling securely for external tools
Accomplishments that we're proud of
- Built a unified memory stream that works across personal and professional contexts
- Implemented semantic recall plus graph relationships for richer context understanding
- Added proactive alert generation based on detected date/time entities
- Established a clean integration path for external tools (Google first, Slack/Jira next)
What we learned
- Continuous ingestion creates much better long-term recall than episodic input
- Hybrid storage dramatically improves reliability and UX
- Proactivity is only useful when paired with explicit user confirmation
- Strong auth boundaries (
context.userIdscoping) are essential from day one
What's next for Gauntlet
- Expand connectors (Slack, Jira, Notion, email)
- Improve graph reasoning and relationship inference
- Add smarter daily/weekly planning copilots
- Introduce team-level memory spaces with permission controls
- Optimize latency and cost for real-time, always-on assistance
Built With
- agent-development-kit
- canvas-api
- gemini-3.5-flash
- gemini-3.7-flash
- google-cloud-firestore
- google-gemini
- google-workspace-api
- lucide-react
- react-19
- tailwind-css
- tanstack-start
- text-embedding-004
- typescript
- web-audio-api
Log in or sign up for Devpost to join the conversation.