About Atlas

What inspired me

I've always thought that searching through your own files is way harder than it should be. Half the time I remember what a document is about, but not what it's called or where I saved it. Windows search usually depends on filenames or exact words, so if I forgot those, I ended up manually opening folders and checking files one by one.

That was basically the idea behind Atlas. I wanted something that felt more like talking to an AI than searching through folders. Instead of typing a filename, I wanted to be able to type something like "that accounting project with the balance sheet" and still find the right document.

How I built it

Atlas is a local-first desktop application built with Tauri, React, and TypeScript for the frontend, and FastAPI for the backend.

When a folder is indexed, Atlas scans supported documents like PDFs, DOCX, Markdown, and text files. The text is extracted, split into chunks, converted into embeddings using a local embedding model, and stored inside a local Chroma vector database.

When the user searches, the query is embedded the same way, and Atlas performs semantic similarity search to retrieve the most relevant chunks instead of relying on exact keyword matching.

Everything runs locally, so documents never leave the user's computer.

Challenges I faced

Honestly, this project fought me almost every step of the way 😭.

The biggest challenge was getting the frontend and backend to communicate reliably. I ran into API routing issues, indexing bugs, document count mismatches, and more than a few moments where everything suddenly stopped working for reasons I couldn't explain.

Another difficult part was making the indexing system feel responsive. Since indexing can take some time, I had to think about progress tracking, background watching, updating changed files instead of re-indexing everything, and making the UI show useful information while all of that was happening.

I also spent way more time than I expected polishing the desktop interface. I wanted it to feel clean and modern without becoming cluttered, so I redesigned the theme, improved the layout, and tried to make the overall experience feel closer to a real desktop application than just another web page.

What I learned

This project taught me a lot about building a complete application instead of just individual pieces.

I learned how semantic search actually works under the hood, how vector databases are used, how embeddings make searching by meaning possible, and how desktop applications can be built using web technologies through Tauri.

I also learned a lot about debugging. There were plenty of issues where the problem wasn't obvious at all, so I had to trace requests, inspect logs, understand where data was flowing, and slowly narrow things down until I found the actual cause.

Probably the biggest lesson was that building something end-to-end is very different from following tutorials. You spend much more time solving unexpected problems than writing new features, but that's also where you learn the most.

Overall, Atlas started as an idea to make personal file search feel smarter, and by the end it became a full desktop application that combines AI-powered semantic search with a privacy-first, local experience.

Built With

Share this project:

Updates