Superego: a Malleable Personal Computing Platform

Hello! I’m the creator of Superego, an open-source personal database that I think qualifies as malleable software.

I started Superego because I wanted a place where I could gather all my data so that I could then slice it and dice it however I wanted. For example, making charts with custom stats, identifying correlations, easily searching for old records, etc. (As you can tell, I’m a data geek).

The software I had in mind was first of all a general-purpose database where I could store every possible piece of information about myself in an organized manner (i.e., enforcing a schema for each type of data). But I also wanted it to be a hackable platform for small apps that use my data. That would allow me to build a personal dashboard, a specific “input view” for a particular type of data, a hook to make a custom automation, etc. Back in March, I wrote a bit more about my vision in this blog post–Own Data, Own Software.

Fast forward a few months of intense work, and now I have an actual implementation of that vision. It’s still not everything I want it to be, of course, but it’s a start.

Along the way I also succumbed to the AI hype. Initially I wasn’t really giving much thought to AI, but then–as an experiment–I tried integrating an LLM to answer questions about the data, and it blew my mind that I could actually get interesting and meaningful insights, so I made it a permanent feature.

From there, the AI integration started spreading. Now I’m using it for many different things, but the most interesting uses from the “malleable perspective” are:

  • It simplifies the creation of collections in the database. As I wrote above, I wanted the database to enforce a schema for each type of data, so creating a collection in the database involves defining the schema, which is a JSON object similar to JSON Schema. Creating it “manually” is basically impossible for non-developers, but with the AI you can do it by chatting, which is of course much easier.
  • It simplifies the creation of apps. Apps in Superego are snippets of React/TypeScript code. Again, basically impossible to create manually for non-devs, but it’s ~easy with AI.

The Ink & Switch essay on malleable software talks about the role AI can have in smoothing “the slope to tailorability”, and I think Superego demonstrates this quite well. It’s still not at the point where my parents could make their own apps, but it’s definitely accessible to users at the “create Excel formulas” level of expertise.

This is a long blurb already, so I’ll stop here, but of course I’m happy to answer questions.

Btw, you can try Superego online at https://demo.superego.dev/. (It’s a desktop app, but–for the demo–I also made it work in the browser using IndexedDB as the data store.)

P.S. I’m brand new to the community, which I actually only discovered a couple of weeks ago! I hope this is the right place to post this. Short self-intro: I’m Paolo, dev/consultant from Italy, living in Vilnius, Lithuania. I’ve always been an OSS enthusiast and contributor, and over the years I’ve worked on many unpopular open-source projects.

2 Likes