Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Lately, I’ve been exploring a few interconnected ideas:

Local-first web applications with a compiled backend – After eight years working on web platforms, the conventional stack feels bloated. The client already defines what it wants to fetch or insert. Usually through queries. So why not parse those queries and generate the backend automatically (or at least, the parts that can be)?

Triple stores as a core abstraction – I’ve been thinking about using a triple-based model instead of traditional in-memory data structures, especially in local-first apps. Facts could power both state and logic, and make syncing a lot simpler.

Lower-level systems programming – I’ve mostly worked in high-level languages, but lately I’ve been writing C libraries (like hash maps) and built a minimal 32-bit bare-metal RISC-V OS.

It’s all still brewing, but I think these ideas tie together nicely. What if the OS didn’t have a file system and just a fact store? Everything could be queried and updated live, like a Lisp machine but built on facts.

Some other things I’ve been playing with:

A jQuery-like framework and element factory - You can pass signals that automatically updates the DOM.

A Datomic-like database on top of OPFS - where queries become signals that react to new triples as they enter the system. Pairs well with the framework above.



Isnt this kind of a thing already, with the front end being able to write the sql queries


It’s getting there, but it does not handle permissions so you either have to add a bunch of rules through the database (such as RLS on Postgres) or define a permission schema.

Trying to see how far inference can go given that queries usually specify this information (ex: where(r => r.author == $SESSION.AUTHOR_ID)).


What hardware are you testing/running your RISC-V OS on ??


I’m using QEMU virt machine, so no hardware for the time being.

Would love to boot on a physical machine eventually though! If you have suggestions, happy to hear them :)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: