Inspiration
It started on a cold night when I was a kid. My grandpa bought me my first computer and became my first mentor.
I didn’t know how to use it, but I knew I could ask him for help. “Hey Grandpa, I need help with my essay.” He would sit with me, gather information, and help me put it into words. He made something unfamiliar feel approachable.
When I lost him, I lost that everyday guidance too.
OJJIPA grew from the wish to bring some of that feeling back: having someone to turn to when you have an idea, need help, or don’t know where to start.
The Nebius-NVIDIA hackathon gave our team an opportunity to turn that personal inspiration into a working desktop AI companion.
What it does
OJJIPA turns everyday requests into work carried out by AI agents.
You tell Grandpa, its coordination layer, what’s on your mind. Grandpa interprets the request and assigns a focused worker called a MiniPa. MiniPas can research topics, work with files, use available tools, and interact with a Chrome tab you explicitly connect.
You might ask for help researching an essay or request regular scientific paper recommendations. OJJIPA currently supports recurring research monitoring through arXiv, alongside web research through its Tavily integration.
OJJIPA also considers when to bring results back. Direct requests return their results immediately, while background findings can wait while you’re focused. You can follow progress, pause workers, and review findings from the desktop app.
How we built it
We built OJJIPA with Tauri and Rust for the desktop application, React and TypeScript for the interface, and Python for the backend engine. A local WebSocket bridge connects these components, while SQLite preserves tasks, decisions, reports, and preferences.
Our architecture separates three responsibilities:
- Grandpa interprets requests, assigns work, and remembers explicitly stated preferences.
- MiniPas carry out focused tasks or recurring monitoring.
- Hermes provides the underlying agent reasoning and tool execution.
We use NVIDIA Nemotron Super 120B, served through Nebius Token Factory, to power Grandpa’s request interpretation and MiniPa agent reasoning. Tavily provides web search and research through the Hermes agent runtime. Together, these bring NVIDIA’s model capabilities, Nebius inference, and Tavily’s information retrieval into OJJIPA’s desktop experience. We also built an attention queue for background findings, duplicate detection, a paired Chrome extension, and a floating reader that lets users ask questions about selected text.
Challenges we ran into
Connecting a conversation to reliable background work was a major challenge. A request needs to become a persistent task, show understandable progress, handle failures, and return a useful result.
Coordinating the desktop interface, Python engine, model calls, and separate worker processes required careful handling of communication, cancellation, and recovery.
We also had to distinguish directly requested answers from background findings. That meant designing rules for holding results, avoiding duplicate reports, and delivering information when the user’s attention becomes available.
Browser interaction introduced another challenge: keeping workers attached to the exact tab the user approved, with a clear way to stop access.
Accomplishments that we're proud of
We’re proud of turning a personal memory into a working desktop prototype with agent execution, persistent tasks, research monitoring, and visible progress.
Connecting Nebius inference and Tavily research to that experience helped us move from a conversational idea to a system that can carry out work and bring findings back.
We’re especially proud of the attention system. Users can let work continue in the background, stay focused, and retrieve findings when they’re ready.
What we learned
We learned that a useful AI companion needs more than a capable model. It needs clear responsibilities, durable state, understandable progress, and ways to recover when something fails.
Combining model inference with web retrieval also taught us to treat planning, information gathering, execution, and delivery as distinct parts of the experience.
Above all, we learned that timing matters. A relevant finding can still arrive at the wrong moment. Deciding when to deliver information deserves as much care as generating it.
What's next for OJJIPA
We want to expand monitoring beyond arXiv, improve how Grandpa handles ambiguous requests, and make longer tasks easier to follow and recover.
We also plan to deepen our Nebius and Tavily integrations and explore NVIDIA models and acceleration options as we evaluate performance, latency, and cost.
Our next product priorities are simpler installation, smoother browser setup, stronger cross-platform support, and testing with people doing real research and everyday work.
Our ambition is to make OJJIPA a dependable companion that helps people move from “I don’t know where to start” to meaningful progress.
Built With
- codex
- nebuis
- python
- react
- rust
- tavily
- typescript