A creative canvas for learning software by building real apps with an AI mentor.
"The most dangerous thought you can have as a creative person is to think you know what you're doing." — Bret Victor, The Future of Programming
Hi ✋🏼, I'm Azzam Alrashed. IDK what I'm doing. This project is my passion project, and working on it is my unique way of having fun!
My dev journey started when a freelancer asked for more money to keep developing my simple app, and I was broke... So in 2018, with only 2 years of dev XP, I decided to develop an app for non-technical users. The old goal was to make it super easy, simple, cheap & fun (E.S.C.F) to turn any idea into software.
The new chapter is sharper: CAOCAP should help creative people become capable of building software, not just dependent on AI that builds for them.
How Hard Can It Be? .... I fried my brain trying to figure it out.
Hello ✋🏽, My name is Anas Ahumaid. Thanks Azzam for reviewing and merging my pull request — I really appreciate it. Glad I could contribute to the project. For any one intrested you can find my fork at: https://github.com/AnasAlhumaid/CAOCAP-Ficruty
CAOCAP is the refusal to accept today's software development process, and today's software education, as the final form.
CAOCAP is not defined by any single interface, feature, or implementation. It is a relentless belief that software can become more visible, more learnable, and more creative.
CAOCAP is bigger than the current implementation. The current implementation is not the doctrine. It is an experiment in service of the larger act: challenging the inherited shape of software development and building better ways for people to learn by making real things.
The next pivot is documented in Azzamification of CAOCAP.
CAOCAP is moving away from being another prompt-to-app tool and toward being a software learning studio for creative builders. You still build real Mini-Apps with CoCaptain, but the deeper promise is that you leave more capable than you arrived.
function CAOCAP(idea) {
const app = new Software();
const builder = new Human();
while (!app.ready) {
builder.learnByBuilding(app, idea);
app.run();
app.explain();
}
return builder.capability;
}
Distributed under the GNU General Public License v3.0. See LICENSE for the full text.

