Inspiration
We all forget the things we were working on.
Important ideas get buried across Markdown files, meeting notes, browser tabs, project folders, and half-finished thoughts. Traditional chatbots can answer questions, but they do not truly understand the personal context behind a person’s work.
Noema was inspired by the idea of a private, intelligent work companion: something that helps you recover your own thinking instead of constantly making you explain it again.
The goal was to build a personal knowledge workspace that feels more like a thoughtful research partner than a search box.
What it does
Noema gives users their own local knowledge corpus. It can:
- Search and answer questions from personal notes with verified citations
- Understand conversational context instead of relying on rigid keywords
- Ask the user to explicitly select a file or folder when more local context is needed
- Research the live web and provide source-grounded answers
- Turn notes into literature reviews and structured artifacts
- Capture URLs, text, and meeting transcripts into editable drafts
- Resurface forgotten ideas and open questions
- Maintain a local work timeline and focus memory
- Explain its approach through a concise, human-readable reasoning summary
Noema never silently writes to the user’s corpus. Every proposed change must be reviewed and approved first.
How we built it
Noema is a local-first Electron desktop application with a React and TypeScript interface.
Its architecture is divided into:
- A local Markdown corpus owned by the user
- A lightweight semantic index for searching notes
- A main-process agent layer that communicates with NVIDIA NIM
- A secure preload bridge between Electron and the renderer
- A conversation-aware router that decides whether to answer directly, search the corpus, request selected local context, or research the web
- A citation validation layer that checks whether generated claims are actually supported by retrieved source text
For local files and folders, Noema uses an explicit native picker. The user chooses what the assistant can inspect. Reads are bounded, credentials and .env files are excluded, and selected context is never silently added to the persistent corpus.
For web research, Noema retrieves a bounded set of readable sources, sends the relevant text to the model, and only renders claims whose citations can be validated against the fetched source content.
What we learned
The biggest lesson was that useful AI behavior is not just about generating better answers. It is about choosing the correct context.
A greeting should not trigger a database search. A question about personal notes should not receive a generic answer. A request to inspect a local folder should not result in a fabricated response or unsafe filesystem access.
We learned to treat routing, permissions, provenance, and user control as first-class parts of the AI experience.
We also learned that trust comes from showing the user where an answer came from, what Noema did, and what it was unable to verify.
Challenges we faced
The hardest challenges were:
- Designing semantic routing without reducing the experience to brittle keyword rules
- Preventing hallucinated citations and unsupported corpus claims
- Safely handling local file and folder context in an Electron application
- Supporting live web research without turning the assistant into an unrestricted browser
- Preserving privacy while still making the product feel intelligent
- Creating a polished interface for complex agent states such as searching, requesting context, retrying, and asking for approval
- Making the entire flow work reliably during a hackathon demo
The final result is a hackathon-safe personal knowledge companion that combines memory, research, and conversation while keeping the user in control.
Built With
- 3.1
- ai
- artificial
- context
- developer
- electron
- embeddings
- intelligence
- knowledge
- llama
- management
- markdown
- model
- nemotron
- nim
- nvidia
- privacy
- productivity
- protocol
- rag
- react
- search
- semantic
- typescript
- vite
Log in or sign up for Devpost to join the conversation.