Inspiration

AI tools made generation cheap. Organization didn’t keep up.

After enough sessions, the real mess wasn’t “I can’t create.” It was drafts, images, audio, scripts, and near-final versions scattered across chats and folders — with no clear map of what belongs together, which version is current, or what referenced what.

Folders store files. They don’t store project sense. WorkBOM started from that gap: a local workspace for AI-era materials, not another generator.

What it does

WorkBOM is a local-first desktop app for organizing AI creative outputs.

It imports .wbom packages that link to files already on disk, then helps you:

  • browse assets with project context
  • track relationships (part-of, version, reference, use)
  • explore projects in a 3D knowledge graph
  • search by text and local semantic meaning
  • reconnect moved files and recover soft-deleted assets

No telemetry, no account wall, no uploading source files. The goal is to turn scattered AI output into a navigable project again.

How I built it

WorkBOM is a Tauri desktop app: a React frontend with a Rust backend.

The core idea is package-first. A .wbom directory holds manifests and relationship data, while original files stay in place. On top of that sit the asset cockpit, graph views, local full-text search, and on-device semantic retrieval with a bundled embedding model.

The product focus stayed narrow on purpose: import → relate → search → recover. Features that weren’t ready for real feedback (like Inspiration Board) were kept out of the Early Preview.

Challenges I ran into

The hardest part wasn’t rendering a graph. It was modeling creative work without forcing people to move their files into a new silo.

A few recurring challenges:

  • representing versions and references without overcomplicating the data model
  • keeping links reliable when users rename or move files
  • making dense graphs readable instead of decorative
  • shipping a useful Early Preview while resisting feature creep
  • balancing “developer-readable package format” with “creator-usable workspace”

Local-first also means you own the hard parts: indexing, reconnect flows, and trust that nothing leaves the machine.

Accomplishments that I'm proud of

  • A working Early Preview that covers the real loop: import, relate, graph, search, reconnect, recover
  • Keeping source files on disk instead of copying them into an opaque library
  • Shipping local semantic search without a cloud dependency
  • Making relationship structure a first-class product surface, not an afterthought
  • Releasing early enough to get honest workflow feedback instead of polishing in isolation

What I learned

Speed of generation creates a second problem: continuity.

When AI produces faster than people can remember decisions, the scarce resource becomes project memory — what was tried, what was chosen, what still matters. Tools that only store files miss that.

I also learned that demos should show someone else’s concrete scenario, not just the maker’s toolchain. And that local-first only feels real when reconnect, search, and recovery work under messy real-world folders.

What's next for work-boms

  • Refine the Early Preview based on real import/graph/search feedback
  • Ship clearer sample .wbom packages so new users can feel the workflow in minutes
  • Improve relationship editing and version clarity
  • Bring Inspiration Board back when it’s strong enough to earn a place in the product
  • Keep the privacy boundary: local by default, no telemetry theater
Share this project:

Updates