Comment by idontneedcoffee

14 hours ago

I am building my "dream tool" too, a cross-device roaming profile-experience context-focused UI. Many, many iterations that go back maybe 15y, even built a custom linux distro (iolinux) back in the day(ro root, containerized user-spac with composer-like app handling). Always worked on side-projects, consulting gigs or one-off implementations, often times across multiple customer-devices. Switching context is damn expensive, hence tried to build a tool to help with that. Always failed on the UI parts - native linux tooling was just awful. What do you specifically mean by "context" you ask? Well, you get a call, switch to work on `work://customer-foo/project-bar/task-baz`, every bound device / tool / application loads data related to that task (your filesystem mount shows relevant files, browser loads relevant tabs, obsidian relevant notes etc). Building my own small db engine to accommodate that use-case, getting more fun working on it every day

Hey - spent a lot of time in this world (solution / sales engineer, technical account manager to many clients), and thinking about this same problem.

Even experimented with per-client Linux users. Per-client calendars & routines. Per client knowledge-base, etc

Very curious to see what you come up with.

  • I divide my unstructured universe into workspaces, each workspace is a self-contained shareable/moveable soon-to-be-containerized runtime running an in-process LMDB with roaring bitmaps and (for now, S2-like hilbert space projections will replace it soon) lancedb for some basic cossim search. You configure your data sources per Workspace - imap, files, s3, soon slack(bc I use it), on top you create a classically-looking virtual tree. That tree is made of bitmaps - /work/customers/acme org/projects does a logical AND on all bitmaps in the path (work AND customers AND..) - if you zoom out to /work/customers you see all data for all customers, if you'd create /work/projects - you'd see all data tagged with any project. On top of that tree sit contexts - think moveable db views. You create a context "acmeorg" and bind your browsers, cli(for dynamic dotfiles), notes apps etc to it. You can even mount a file representation of all indexed objects via a fuse driver. When you point acmeorg at /work/customers/acme org/projects/foo everything moves with you - your browser stashes current tabs and opens relevant ones, your fs mount shows only relevant content etc - moving to projects/bar does the same, if you do that via commandline ctx set ../projects/foo --update-dotfiles - you get your dotfiles You can setup actions - if I send a browser tab thats a yt url into home/music download it and place it into my roaming profile workspace Home, if I index a arxiv website, hit the library agent to properly assign it to existing tree paths and write a summary There is also timeline support - you can have a personal and wikipedia aaand historian foo timeline, wanna know the zeitgeist of when your grandma was born - tick extra timelines and query in layered mode Ou, and there is real-time streaming support, your db can resurface documents based on GPS or based on your camera feed (or, will implement today - show related documents based on your desktop view) - primitive vector sim search now, will be something much better riding the internal representations of gemma4 (for now) - ok let me stop here, you'll have a pinned task list per workspace on the left and a set of a2ui canvases and old-school boring and rigid apps that will either be directly contextualized or just ride the contextualized filesystem(as obsidian does). Ou, did I mention agent usecase? Agent switches to /work/task1 and his local *.md files are only related to that task, want more zoom, switch to /work. ok, oook, let me really stop here

This is awesome. I always have imagined my computer being well, my desk. So far I have to live with a bunch of i3 screens I name after whatever I'm working on. I'd love to be able to page through the bench to flip to a task. Unfortunately with apps going so mono-windowed (slack, etc) it's harder to do. If I could just say have my slack window for this client, with their docs, proposals, database, whatever up, that'd be sick. I love the idea thank you. good luckl