Inspiration
Every meeting we’ve attended ends the same way: everyone agrees, and then nothing happens. Notes are written late, tasks have no owner, and the follow-up email never goes out. The same pattern repeats across the office, in leave requests, onboarding, scheduling, and hunting through policy documents. Each task lives in a different tool and waits in someone’s inbox.
Most AI tools we looked at stop at summarising or answering. They don’t act, and they don’t know who is in the room or what that person is allowed to do. We wanted an assistant that finishes the work, safely.
What it does
NOVA, the Neural Operational Virtual Assistant, is one AI assistant that acts as the operating layer of an enterprise. One reasoning engine runs four skills:
- Meetings: live transcript, decision and task extraction with owners and deadlines, a self-filling task board, and an end-of-meeting report covering what should and shouldn’t be done.
- Email and calendar: drafts and sends emails to the right people and schedules meetings.
- HR requests: leave requests, balance checks, and onboarding checklists.
- Policy and document Q&A: answers questions from company policies and cites the source document and page.
A single sentence can fan out across skills, such as “Schedule the review, send the summary, and onboard our new hire,” and the agents work in parallel on a live dashboard.
NOVA also knows who is in the room. It recognises attendees with consent-based face recognition. If it can’t identify someone, it asks for their name and role. For a brand-new person it sends a confirmation email with no meeting content, and releases the information only after they click the link. A recipient preview with a countdown and a Cancel button keeps a human in control.
How we built it
Vision: a C++ engine using OpenCV YuNet and SFace for face detection and recognition, with fast embedding matching. Only numerical embeddings are stored, never photos.
Speech-to-text: Groq-hosted Whisper, with the browser Web Speech API as a fallback. Language models: free hosted open models. Llama on Groq handles live extraction and email drafting, with Cerebras and Gemini Flash-Lite as backups and for long summaries.
Router and skills: a rule-based fast path handles common commands without a model call. Everything else goes to the LLM, which returns structured JSON that selects a skill from a registry.
Policy Q&A: an open-source embedding model with retrieval over [number] sample policy documents. Backend and dashboard: an async orchestrator [Node.js / Go / Python] pushing live updates over WebSockets to a React dashboard.
Challenges we ran into
Recognition will fail sometimes. Instead of treating failure as an error, we built a fallback chain: face, then name and role, then email confirmation.
Free-tier rate limits. More skills mean more model calls, so we added rule-based routing and fallback providers.
Speed. We streamed everything and kept prompts and outputs small.
Safety. An assistant that acts needs boundaries, so we added role checks, approvals, held content for unverified people, and an audit log.
Optimization to make it work faster in lower resources.
Accomplishments that we're proud of
A working end-to-end flow where one spoken sentence triggers several skills in parallel [confirm once built]. An identity flow that turns recognition failure into a feature: a new person confirms on their phone and their face box turns green on screen [confirm once built]. .
What we learned
For a system like this, most of the delay comes from model calls and speech, not from the programming language, so C++ matters where the maths is heavy (vision) and much less elsewhere. Rule-based routing plus a language model for ambiguity is faster and cheaper than sending everything to a model.
What's next for NOVA
Real integrations with HR systems, CRMs, and task tools such as Jira, replacing our mock data. More skills: finance and expense approvals, IT helpdesk, procurement, and sales follow-ups. Multi-language meetings and multi-room deployment. Enterprise single sign-on and compliance reporting. Institute modules such as attendance and timetables, using the same engine.
Built With
- c++
- cerebras
- faiss
- framer-motion
- gemini-api
- google-calendar-api
- groq
- javascript
- kokoro
- llama
- node.js
- onnx-runtime
- opencv
- react
- react-flow
- resend
- sface
- silero-vad
- sqlite
- tailwind-css
- websockets
- whisper
Log in or sign up for Devpost to join the conversation.