Inspiration
Most AI assistants are helpful while a conversation is open. The harder problem begins when you close it.
An idea gets buried in chat history. A goal loses its next step. Research produces useful links, but nothing carries them forward. When you return, you have to explain everything again.
Mica grew from wanting a personal AI companion that could maintain continuity: remember what matters, help you think, and follow through on small commitments without turning every conversation into a productivity checklist.
Our guiding question was: What would it take for an assistant to carry an intention from conversation to a useful, verifiable outcome?
What it does
Mica connects personal intention → context-aware discovery → evidence → actionable next steps → persistent follow-through.
Users can converse naturally, develop ideas, save commitments, revise their next actions, and request reminders or finite recurring check-ins. Mica maintains persistent context across conversations, while giving users ways to inspect and control what it has recorded.
Its goal-aware research capability uses Tavily Search and Extract to investigate a request in the context of an existing goal. For example, a user exploring AI engineering opportunities can ask Mica to research using their saved skills, location and preferences. Mica returns source URLs, explains potential relevance, and identifies important unknowns rather than presenting every result as a confirmed match.
A selected finding can then become a commitment with a concrete next action and its source retained.
Mica’s autonomous worker can deliver an in-app reminder even after the browser closes. The existing private deployment also supports owner-linked Telegram conversation and delivery. For judging, we provide a separate HTTPS demo with synthetic data and no connection to the developer’s personal Telegram account.
The Context Inspector makes the process visible: users can inspect the actual model and provider, tool calls, execution receipts, token usage, and scheduled-action outcomes.
How we built it
Mica builds on an existing personal-assistant prototype using Next.js, FastAPI and PostgreSQL.
NVIDIA Nemotron 3.5 Super VL, served through Nebius Token Factory, powers the submitted demonstration’s conversational inference and native tool selection. The model interprets a request and proposes an operation; application code validates permissions, record ownership, parameters and current state before executing it.
We kept a clear division of responsibility:
Nemotron handles conversational interpretation, tool selection and response generation. PostgreSQL on Neon holds authoritative conversation, commitment, proposal, schedule and execution state. The scheduler checks due work and performs bounded, deterministic follow-through. Tavily supplies external search results and extracted source evidence. The existing tracing system records what was requested, what ran and what changed. Tavily is integrated directly into Mica’s tool system. Research is tied to a selected, owned goal and limited to a small search plus a bounded extraction. Users can then authorize a commitment based on a returned source; research itself does not submit applications or contact anyone.
The judge deployment runs on Modal, serving the web interface and API alongside a separate scheduler. It uses an isolated database, synthetic records and a restricted database role.
Significant work during the hackathon period included durable autonomy and commitment lifecycle improvements, restart and duplicate protections, Telegram integration, conversational proposals and reminders, Nebius/Nemotron integration, Tavily research-to-action functionality, and the public judge environment.
Challenges we ran into
A successful API request was not enough. We needed to prove that Nemotron could operate inside the application: use context, select tools, create and amend commitments, and produce state that the worker could act on later.
Application-level testing exposed problems that a simple connectivity check missed. These included malformed nested tool arguments, incomplete proposed actions, and reasoning consuming too much of a small output allowance. We improved schema presentation and instructions, retained strict validation, and adjusted the bounded output budget without silently falling back to Azure.
Follow-through also requires more than a timer. A reminder must survive process restarts, avoid duplicate effects, respect cancellation, and retain evidence of whether it actually executed. We used persisted schedules, action keys, transactional state changes and recovery checks to support that lifecycle.
Research introduced a different grounding problem. Aggregator pages can mix details from several listings. Early transcript review caught a misleading attribution between results. We narrowed research synthesis to the current goal and fresh evidence, preferred extracted text over search snippets, and emphasized unresolved eligibility and availability.
Finally, we needed to make a personal application accessible to judges without exposing personal data. That meant deploying a separate synthetic environment rather than opening the private assistant to the public.
Accomplishments that we're proud of
We demonstrated a complete path through the deployed application:
Real NVIDIA Nemotron inference through Nebius Token Factory. Model-generated commitment creation and amendment. A reminder that persisted and executed while the browser was closed. Duplicate checks that produced no second reminder. Genuine Tavily Search and Extract calls influenced by saved goal constraints. A research finding converted into a commitment with its source URL retained. A fresh-browser judge experience with inspectable model, tool and worker evidence. We are also proud of keeping the implementation grounded. We extended the existing application instead of introducing another orchestration framework, and we distinguished model-generated language from verified effects.
The release was supported by 604 backend tests and 69 frontend tests, alongside real deployed-browser and external-service checks. The public source repository includes an MIT license, setup instructions, deployment guidance and reproducible demonstration scenarios.
What we learned
Continuity is more than remembering a transcript. A useful assistant needs current goals, corrections, next actions and evidence—not just access to old messages.
Conversation and execution need different kinds of flexibility. Natural language benefits from interpretation. Permissions, schedules, state transitions and duplicate prevention need explicit rules.
Research should lead somewhere. A list of links becomes more valuable when it is connected to a user’s constraints and can become a concrete next action. Just as importantly, “this still needs verification” can be a useful outcome.
We also learned to test the whole journey. A convincing reply, a successful tool response and a passing unit test each establish something different. Watching the deployed system save state, recover it and act independently revealed the gaps between them.
What's next for Mica
Our next priority is refining the experience around the working foundation.
We want to make the distinction between saving a commitment and actively monitoring it clearer, improve natural confirmations, preserve multi-step goals more precisely, and make briefings and conversational initiative more context-sensitive.
We also want to develop better guided reflection and adaptive accountability: helping users understand what changed, why a plan stalled, and what smaller next step would be useful.
Longer-term runtime experiments, including Hermes, remain future work rather than part of this submission. We will evaluate them against demonstrated needs while preserving Mica’s authoritative state, owner controls and execution evidence.
The goal is a companion that helps someone continue a meaningful effort—with enough warmth to be approachable and enough accountability to be trusted.
Built With
- alembic
- fastapi
- modal
- nebius-token-factory
- neon
- nextjs
- nvidia-nemotron
- playwright
- postgresql
- pydantic
- pytest
- python
- react
- sqlalchemy
- tavily
- telegram-bot-api
- typescript
- uvicorn
- vitest
Log in or sign up for Devpost to join the conversation.