Rob Pruzan

Student @ University at Buffalo

Your empire

I've been thinking a lot about how I should describe my project, zenbu, to people:

  • it's a better "AI app builder"
  • it's as a devtool that attaches to every website (think react-scan)
  • make it really good for only one framework, and describe it as the best way to develop with x framework
    • for some number of days I was convinced I would call it "next.js studio" and just make it a really good development platform for next.js.

Now that zenbu is in a state where I can use it, I can observe what I like about it, and what I don't. It makes it a lot easier to reason about which features I want to build out further, and what the core focus of the app should be.

As i've been using it, I started falling in love with creating as much software as fast as possible.

This love had emerged since I had optimized for projects to be created and swapped instantly, and there was one night I was using zenbu to the point of generating 5 video games in parallel, while laughing the whole time.

The games were quite horrible, but fun to make nonetheless:

Video game demo created with Zenbu

The original thesis in zenbu devlog intro had an idea of making software as easy to create as making a markdown file, but I didn't realize how fun this would make creating software.

Since I was creating so much software at once, I wanted zenbu to be very ergonomic when multi tasking.

I'm in love with the MacOS stage manager, it's the best GUI based window manager UX i've used. And I think it would work even better in the context of developing websites in parallel

I decided to spin up a prototype for zenbu to explore what it might feel like, which I loved:

Zenbu stage manager prototype

I started to get more inspired by the UX of OS's (mentioned at the end of zenbu devlog #6). I thought about everything an OS does, and tried to take the best pieces from that.

For example, I spun up a prototype of what a home screen might look like that interfaces with zenbu.

Zenbu home screen prototype

I became very obsessed with this specific view. I realized zenbu did not have to be a place you only create software in- it's also the perfect place to consume software.

Imagine you generated dozens of apps through the editor:

Zenbu editor with multiple apps

And then were able to organize all your apps into workspaces, launchable directly from zenbu.

Zenbu workspace organization

Because zenbu controls the process the dev server runs in, all websites can be started/stopped at will, without having to deploy the website.

If this UX existed, you could build a garden of software just for you. Everything is personalized, and will always be accessible

I started thinking about what I might do, as a user, if I had a platform like this. The first thing that came to mind is all the tools I can make for myself when the tools can talk directly to my computer.

note: zenbu is an app that runs on the users computer, and the interface happens to be a normal website. The website can access anything at the operating system level that a normal native app can, since it can communicate with the app running on the computer.

For this project (zenbu) I spun up a redis instance, and I really wanted a gui to play with the data inside of it. I can search for such a tool online to solve this problem. But, the tools I find will probably do more than I want, which means complexity I don't need.

Alternatively, I can create the app in zenbu, have it read from the port redis exposed, and start using the tool. The tool would always be in my "devtool" workspace, and could be edited by me whenever I want.

I started listing dozens of cool tools I could make for myself that read/write data directly from my computer. All the websites would have the power of native apps/widgets, and can be generated nearly instantly.

At this point, I was sure this was the direction I wanted to go with. I very much want to live in a world where I can ergonomically create personal software which lives on my computer, and is organized + personalized how I want.

Since I was infatuated by the idea, I tried to take the idea further to see where its natural ending was.

One trick I like using for reasoning how good a technology could be is pretending like I was teleported into the near distant future. I imagine what would be in front of me, and how the technology would behave

imagining the future

When I think about this with respect to AI, it seems clear we will have very cheap models that are very smart. To the point where they can probably run directly on device, or the API's won't have any rate limits/pay walls. Today, gemini flash 2.5 is only ~50 cents per million input/output token, which is ridiculous.

It's hard to imagine how much cheaper and faster models will be in the near distant future. For a huge value unlock, they don't need to get smarter, just cheaper and faster. This idea was explored more in gwern's post.

Thinking about that value unlock for zenbu, it gets pretty intense.

Imagine zenbu had some insight into your personal life- enough data that zenbu can have a decent understanding about what you're currently doing.

If models were cheap and fast, zenbu could trigger a model to have 1000 ideas generated about how to improve the situation you were just in. Those 1000 ideas turn into 1000 model instances that try to build the idea.

Every minute, 1000 new model instances are trying to build something for you. In one month time you have 1,000,000 apps built that solve something for you. Maybe half of them suck, another quarter aren't very great, but many will be extremely useful to you.

Whenever you want some software, you may not generate it on demand. Instead, you can search in your personal marketplace, made up of software created just for you.

If you find an app that's only almost perfect, you can start editing it in zenbu so it behaves exactly as you want.

The fact you can change the software however you want is quite powerful. Imagine downloading traditional software, and then changing something in seconds, as opposed to making a feature request into the abyss

In this world, its almost like you have a mini empire that exists just to benefit your life. You say an idea in a passing breath, and immediately 10,000 variations are created. The physical footprint of the empire isn't land, but the software made by all these models

laughing over your empire

Thinking about this as an empire is pretty fun, so I kept doing it. For example, if this is my empire, I should be able to do similar things real empires do, like trade.

If you have some group of friends who all use zenbu, and all the software made is personalized to each person, you could imagine a friend having software made for them that you don't have yet.

As you have millions of generations made by your empire, you likely have some valuable software at this point. You could decide to make a free trade agreement with your friend's empire- this allows you two to share software made by your empires freely.

This means all software your friend has is yours, and all your software is his. No cost was incurred for either party, as the cost to generate the software was nothing.

trading between empires

Though, free trade agreements imply paid trade agreements.

Instead of negotiating a free trade agreement, you could negotiate a simpler 1:1 trade for software. You trade something you had made for you, for their software you really want.

In this world you are not bounded by currency. You are bounded by the ideas you have.

The better the idea, the more valuable the software is to other people. They will be willing to give you a great deal of their software made with their ideas, since they would be able to use your software.

trading between empires, serious mode

This is quite fun to think about, since you're creating a mini economy that behaves more like trading pokemon vs the real life economy.

But, I'm not sure if people would want such a way of distributing software, and nothing like this seems to be emerging from image gen, which is a couple years ahead of software gen.

What am I confident about is having a ton of personal software made for you would be awesome. Which only gets easier to make as models get better, cheaper, and smarter.

Next step is to build out this idea over the next couple days, and then see which parts I want to take further.

Edit:

I've been thinking a bit more about the kind of software I would want to make for myself. There was a trend that the software was all "developer tool" related (I suppose not surprising).

One interesting property of developer tools made in zenbu is that they are all strictly more powerful than software generated anywhere else.

The websites launched in zenbu and the website being developed in zenbu can communicate between each other trivially, since they run in the same process (the zenbu app), and both can be read/written to by the agent. So, you can make very powerful tools that can inspect the runtime state of your website.

Things like custom console loggers, network panels, local storage panels, indexDB panels. All possible with a generation that can read data from your website using a standard protocol (that I would need to make)

Zenbu can provide good templates for accessing different data in the browser, to make the one shot generation as reliable as possible.

This is a super interesting workflow to me. Anytime you encounter some friction during development, there is a good chance you can one shot a devtool that solves the problem, or is super useful for a very specific thing you are doing at the moment, which you will never do again.

For example, imagine you were debugging a network request, but it kept returning really hard to read zod errors. So, you have the model generate a custom network panel, where for every network request error, there is a human readable explanation of what went wrong.

This devtool would be general, and would work in any zenbu generated website. So, once you're done with it, you would shove it away into your "devtool workspace".

As time goes on, you have more tools available, and become more powerful. Its like a mini version of the recursive self improvement described in AI 2027, just the outcome is better apps made, not necessarily the end of the world.