Inspiration
Most task managers are passive lists, while typical conversational AI assistants only output conversational advice without taking real action or remembering context across sessions. We wanted to build an Alexa+-style conversational productivity assistant that doesn't just chat, but actively reasons, chooses application tools, updates persistent state, and calculates realistic schedules when unexpected delays happen.
What it does
ContextFlow is a context-aware, AI-powered productivity assistant that simulates an Alexa+-style natural language experience through a web application.
Key capabilities include:
- Conversational Task & Preference Management: Create, update, and inspect tasks and working preferences through natural language or direct UI controls.
- Deterministic Scheduling Engine: Rather than letting the LLM invent or hallucinate timings, the backend runs deterministic scheduling algorithms respecting deadlines, task durations, priorities, day start hours, and break periods.
- Persistent Context: Remembers active tasks, user preferences, and generated plans across refreshes and multiple turns.
- Dynamic Plan Revision: When circumstances change (e.g., losing an hour of availability), the assistant recalculates the schedule, protects high-priority deadlines, and clearly flags any unscheduled tasks that no longer fit.
- Real-Time Agent Activity Visualization: Transparently surfaces actual backend tool invocations and outcomes.
How we built it
- Frontend: Built with React, Vite, and custom CSS for a clean, responsive dashboard (Chat, Task Management, Preferences, Schedule/Plan visualization, and Agent Activity log).
- Backend: Node.js & Express server handling API endpoints and session management.
- AI & Tool Calling: Powered by Groq API using tool-calling models (
llama-3.3-70b-versatile/llama3-groq-70b-8192-tool-use-preview), mapped strictly to application-defined tools. - Persistence: SQLite with
better-sqlite3for local, reliable relational storage of tasks, preferences, sessions, and generated plans. - Validation & Security: Zod for schema validation across tool arguments and API payloads, Helmet, CORS, and Express rate limiting.
Challenges we ran into
- Ensuring True Tool Grounding: Designing the agent loop so the LLM calls registered application tools rather than guessing dates or calculating schedules hallucinated in text.
- Reliable Deterministic Scheduling: Building an algorithm that accounts for breaks, work window constraints, and gracefully handles overbooked capacity by surfacing unscheduled tasks instead of dropping them silently.
- Session & Context Continuity: Preserving conversation history and database state across user turns so follow-up commands (like adjusting time or changing priorities) seamlessly reference the existing plan.
Accomplishments that we're proud of
- A closed-loop agent workflow where user intent triggers verified tool calls, real SQLite state mutations, and accurate UI updates.
- Complete adherence to free, accessible tooling without sacrificing speed or agent reliability.
- Seamless dual-mode interaction: users can interact directly via the UI or converse naturally through the assistant.
What we learned
- The power of separating conversational interpretation (LLM) from computational execution (deterministic algorithms).
- How to structure strict tool schemas with Zod to eliminate tool-calling failures and malformed arguments.
What's next for ContextFlow
- Enhanced multi-day scheduling and recurring routine blocks.
- Calendar integration (iCal / Google Calendar sync).
- Voice input / audio feedback simulation to bring the Alexa+ experience even closer to natural voice devices.
Built With
- better-sqlite3
- css
- express.js
- groq
- javascript
- node.js
- react
- sqlite
- vite
- zod
Log in or sign up for Devpost to join the conversation.