Built for the apps people actually ship.
A backend for Flutter apps, a designer that writes real Dart, and code push that puts a fix on your users’ phones the same day you write it.
A Friday afternoon bug
Koolbase started with a one-line fix. A production app, a wrong label, two minutes to correct it — and then a rebuild, a submission, and a review queue that ran into the following week. The fix was written on Friday. Users saw it on Tuesday.
Web developers have never had that problem. They push, and it is live. Mobile developers have spent a decade accepting that the distance between writing a fix and shipping it is measured in days, and that nothing can be done about it.
Something can. A Flutter engine can accept new Dart at startup, if you build one that does. That took a long time and more of the Dart VM than anyone should have to learn — but it works, and it is what Koolbase is built around.
The rest followed. An app needs auth, a database, storage and realtime before code push matters at all, so Koolbase has them. Building screens was the slowest part of every project, so the Designer writes them. One platform, because stitching four services together was the other half of the problem.
Three things that do not move
The code is yours
Everything the Designer generates is Flutter you can open, read and take with you. No runtime to license, no proprietary format, no version of this where leaving costs you the app.
Small pieces you can see
A patch names the build it belongs to and refuses to land on any other. A generated file says that it was generated. Nothing here should require trusting a black box.
Built for real conditions
The apps on Koolbase run on patchy connections and mid-range hardware. Offline is the normal state, not a failure mode, and the SDK is built for it rather than around it.
Kennedy Owusu
Founder · Product Engineer, Systems
Koolbase is led by Kennedy Owusu, a product engineer whose work spans mobile, backend and embedded systems — Flutter apps shipped to both stores, production APIs, and firmware on custom hardware he designed the boards for.
Code push came out of that range. Making a Flutter app accept new Dart at startup meant patching the engine itself: building a custom Flutter runtime, working inside the Dart VM’s dispatch table, and signing every patch so it can only land on the build it was made for. Most people building developer tools never go below the SDK. This one starts there.
That is why the platform is one piece rather than four services stitched together. The database, the auth, the SDK, the Designer and the runtime were designed against each other, by someone who has shipped apps that needed all five.