I’m building SodaOS + CanLang: a software factory for nontechnical enterprise teams. CanLang lets AI build custom apps using an implicit, low-code language. SodaOS hosts them. The goal: replace 80% of business SaaS without waiting on IT.
I abandoned an entire project. from can-lang to canlang. that removal of the dash means a world of difference. Before I had a General Purpose Language. But I realized that a Domain Specific Language could be a better market fit if you specify the target audience well enough.
One of the most satisfying things in programming is when you find a simplification pattern without changing the behavior at all... it turns out that the Can-lang linter DID NOT warn the user when there is a overtly convoluted piece of code that can be simplified. Soon it will.
Removed the entire legacy OAUTH hack that dominated the forgejo seams. Because what I've done now is forked forgejo to make it extendible instead. And called it fountain. Now authentication will become a first class forgejo primitive for soda OS pages. Instead of some crazy hack.
Hi, I'm 32 year old from Amsterdam with more than 10 years of programming experience... My first IDE was Notepad++. The JQuery datepicker was the goat.
Now I'm building @SodaOSdev sodaos.dev using Codex.
Let's connect 🚨
Replying to @theo
It's even worse..
It tries its best to agree with you even if you're wrong.
Soda OS takes an issue, runs your AI CLI on your own server and opens a PR.
then it runs the review... and sends the findings back for fixes. up to the limit you set.
the whole thing runs in a terminal inside your repo page. you can actually see what it's doing.
Me: "Make sure that we use API from upstream"
Astra: "A specific API endpoint isn't available upstream, hmm, and the user only approved API usage from upstream"
...
Also Astra: "Well I guess I just have to fork and build upstream myself."
Replying to @thsottiaux
I see it in my desktop app.. but not in the CLI... why is that?












