Understand the World

River: Bitemporal App Platform

November 08, 2019

I should really blog more often. Surprisingly, the database idea works.

Tried to prototype that. Yes, it’s possible. Still not enough. Still “just another database.”

Another try

Got to rethink the entire development workflow — experiments, data exploration, deployment, testing, versioning, rollback, library publishing, etc.

Now I have a giant, scary-looking outline with hundreds of items :)

What was a database turned into something much more like an application server, data storage included.

It’s named River because it works with streams. (An “object” from object-oriented programming is a stream, too.)

Ain’t that an insane scope creep?

It is. The PoC looks ridiculous - 1500 lines of code, 1000 lines of documentation, just to display three text boxes doing Super Advanced String Concatenation :D

It can’t even persist anything.

But it’s the first time that I haven’t had to rewrite any code after adding yet another hundred lines. Except for typos, of course. Fifteen times in a row.

Can’t believe it myself. Everything fits just right.

If you happen to know the ‘yak shaving’ meme, I guess this is how the spherical, nanometer-precision finished yak looks like.

Already has been compared to Urbit, except I don’t want it to be “different for the sake of being different.”

I’m thrilled I finally found the way you can re-use your favorite text editor and Git, regardless of their shortcomings. And target standard protocols like HTTP, Websocket, FIX, etc. Because even if it’s clearly superior, you should still have a transition path, not a brick wall.

What’s next

Dogfooding, dogfooding, and more dogfooding.

Going with the theme of “start small,” I’ll start not with apps, but with simple websites — and hopefully move this blog from Gatsby, it’s way too large and finicky.

While seemingly trivial, this will exercise the dev/deployment flow, and nice home-grown visitor statistics as a bonus. Maybe live editing, too (this time visible for all visitors, lol)

Then, there are lots of ideas. Migrate my personal wiki and OneNote (thousands of pages! ugh), finally get to explore financial time series the way I want, check how good this model holds when applied to mobile apps, etc., etc.

We will see.


Oleksandr Nikitin

Ideas, experiments and projects by Oleksandr.
Ping me via Telegram, Facebook, or just e-mail. There's also a Telegram channel of articles I like.