←back to thread

439 points david927 | 1 comments | | HN request time: 0.205s | source

What are you working on? Any new ideas which you're thinking about?
Show context
0xb0565e486 ◴[] No.44418683[source]
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.

replies(2): >>44419012 #>>44422087 #
andoando ◴[] No.44419012[source]
Isnt this kind of a thing already, with the front end being able to write the sql queries
replies(1): >>44425302 #
1. 0xb0565e486 ◴[] No.44425302[source]
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)).