Inspiration

I've always been interested in the idea of having a personal AI assistant that can actually help with everyday computer tasks, not just answer questions.

Most AI assistants are great at conversations, but I wanted to explore something more useful. What if an AI could understand what I wanted to do, break a complex task into smaller steps, use different tools, remember important information from previous conversations, and complete the task?

That idea led me to build Snabller AI.

I wanted to create an assistant that feels less like a chatbot and more like a personal AI agent that can work alongside me.

What it does

Snabller AI is a personal AI desktop assistant designed to make everyday computer tasks easier and smarter.

Unlike a traditional chatbot that mainly responds to questions, Snabller AI combines AI capabilities with tools, memory, and workflow automation.

Its main features include:

  • AI Conversations: Uses NVIDIA Nemotron API to understand user requests and generate intelligent responses.
  • Web Research: Integrates Tavily API to search the web and gather relevant information.
  • Built-in Tools: Provides access to tools such as a calculator, date and time, system information, and file management.
  • Persistent Memory: Stores useful information from conversations to maintain context across interactions.
  • Workflow Automation: Uses a workflow engine to break complex tasks into smaller steps, manage dependencies, track execution, and handle failures.
  • Project Assistant: Helps inspect project files, understand existing code, and suggest possible improvements.

The idea behind Snabller AI is simple: an assistant should not just tell users how to do something; it should help them get it done.

How we built it

We built Snabller AI using JavaScript, Node.js, and Electron to create a desktop application.

For its AI capabilities, we integrated the NVIDIA Nemotron API, while Tavily API handles web research. We also developed a tool-execution system that allows the assistant to interact with different tools instead of relying only on text-based responses.

One of the most important parts of the development was building the workflow engine.

We wanted Snabller AI to handle complex tasks rather than treating every request as a single action. So, we developed a system that breaks workflows into smaller steps, manages dependencies between them, tracks execution states, and handles failures and retries.

We also implemented a persistent memory system to help the assistant retain useful information across conversations.

The application follows a modular architecture, allowing us to add new tools, workflows, and AI capabilities without rebuilding the entire system.

Throughout development, we focused on making the assistant practical, reliable, and flexible enough to grow into a more capable personal AI agent.

Challenges we ran into

Building Snabller AI was not just about connecting an AI model to a desktop application. The real challenge was making all the different components work together reliably.

Some of the challenges we faced during development were:

  • Tool Integration: Making the AI understand when to use a particular tool and correctly process its output.
  • Workflow Execution: Managing multiple steps, dependencies, and execution states without allowing tasks to run in the wrong order.
  • Error Handling: Handling failed operations, implementing retry mechanisms, and recovering interrupted workflows.
  • Memory Management: Storing useful information and retrieving relevant context without introducing unnecessary or outdated information.
  • Safe File Operations: Designing approval-based execution for operations that could modify user files.
  • System Integration: Connecting the Electron frontend with backend services while keeping the application modular and maintainable.

These challenges made us realize that building a useful AI agent requires much more than integrating a powerful language model. The execution system, memory, tools, and reliability of the overall architecture are equally importa

Accomplishments that we're proud of

One of the things we're most proud of about Snabller AI is that we went beyond building a chatbot and focused on the engineering required to make an AI assistant actually execute tasks.

Some of our key technical achievements include:

  • Workflow Execution Engine: We developed an engine that breaks complex tasks into smaller steps, manages dependencies, tracks execution states, and supports retries and recovery when something goes wrong.
  • Persistent Memory System: We implemented memory so the assistant can retain useful context across conversations and use previously stored information when needed.
  • Tool Execution: We connected the AI model with external tools, allowing it to use their outputs as part of completing a task rather than simply generating a text response.
  • Controlled File Operations: We incorporated approval-based execution for operations that can modify user files, keeping the user involved in important actions.
  • Modular Architecture: We designed the application so that AI interactions, memory, tools, and workflows can evolve independently.

What makes us particularly proud is bringing these components together into one desktop application. The challenging part wasn't simply connecting an AI API; it was building the systems around it that make task execution structured, manageable, and more reliable.

What we learned

Working on Snabller AI taught us that building an AI agent involves much more than connecting a language model to an application.

We learned how to integrate AI APIs, connect external tools, and design systems that allow an AI model to interact with the desktop environment.

One of our biggest learning experiences was developing the workflow engine. We understood how important task decomposition, step dependencies, execution tracking, error handling, and recovery are when an AI needs to complete multi-step tasks.

We also learned that persistent memory is not simply about storing information. Retrieving the right information at the right time and maintaining useful context across conversations are equally important.

Another important lesson was that an AI agent should not have unrestricted control over everything. User approval, controlled file operations, and proper error handling are essential parts of building a trustworthy assistant.

Overall, this project helped us understand the difference between building an AI-powered chatbot and engineering an AI agent that can work with tools, memory, and structured workflows.

What's next for SNABLLER AI

We see Snabller AI as a project that can grow into a more capable personal AI agent.

Our next goal is to improve how it understands user intent, retrieves relevant memories, and decides which tools or workflows to use for a particular task.

Some improvements we would like to work on include:

  • Smarter Memory Retrieval: Improve how the assistant finds relevant information and handles outdated or conflicting memories.
  • Advanced Project Assistance: Allow users to select projects from anywhere on their computer and let the assistant understand and work across different codebases.
  • More Capable Workflows: Introduce more reusable workflows and improve how the assistant handles complex tasks, failures, and recovery.
  • Better Tool Integration: Expand the range of tools the assistant can use and improve how it coordinates them.
  • Improved User Experience: Make task execution more transparent while keeping the interface simple and focused on useful results.

Our long-term vision is to make Snabller AI a dependable desktop companion that understands the user's context, remembers what matters, and helps complete everyday digital work with appropriate user control.

Share this project:

Updates

Submission history