Agentic loops / Lucentive
Icarus
An app factory where agents build and a person gives the final go
Icarus is an app factory run by AI agents. They pick a category, name a gap the leading apps leave open, write a spec, then build the app and check it against that spec; a person gives the final go. It is in development and runs locally: no app has reached a store, and publishing is not built yet.
Product direction, concept & architecture: Hendril Lara. Implementation: Lucentive engineers.
- My part
- Idea, concept, architecture and project lead
- Status
- In development, not yet published
- Stack
- Python, FastAPI; apps in Flutter or web
- Since
- 2026

What it is
Icarus is a production line that turns a market gap into a working app, with several apps moving through it at once. Agents choose a category inside the limits the operator sets, study the leading apps there, name one thing none of them does well, and write a spec around it: the features, how each one is judged done, and what the app must not become.
From then on, the work is held to that spec. An advisor agent scores and trims the idea, a builder writes the app feature by feature, automatic checks compare each feature with the spec, and the finished build waits for a person, who approves it or sends it back.

Who it is for, and my part
Most app ideas die between “interesting gap” and “working app”, because finding the gap, shaping a focused product and building it is slow. I wanted a repeatable way to get from one to the other, without turning out the low-effort clones that app stores rightly reject.
I came up with Icarus and defined its shape: the steps, the spec as the single source of truth, the checks that keep a build honest, and the one human decision before release. I led the project, and Lucentive engineers built it with me.
- Every app must trace back to a named gap, or it does not get built.
- Each agent role can run on a different AI model, including free ones that run locally.
- Spending caps per app and overall, plus one switch that stops everything.
- A finished app can be handed to Loop, our marketing system, as a campaign brief.

From a gap to a spec
The screens on this page come from one run on my machine, with a large hosted AI model in every role and a spending cap of a few dollars. From the allowed categories it chose cooking, listed three recipe apps already there, and settled on a gap: they suggest recipes that need ingredients you do not have, or send you to pages full of ads. Its answer was an app that shows only what you can cook with what is in your pantry right now. The discovery agents reason from what the model knows; live app-store data is not connected yet.
The spec is the source of truth. Each feature has a priority (must, should or could) and a plain test of what done means, and the spec lists non-goals so the app cannot grow beyond its idea.
Built one feature at a time, checked against the spec
The builder does not write the whole app in one go. It lays a foundation, then adds one feature at a time, and after each one automatic checks look for drift from the spec, screens nobody can reach, placeholder code and errors when each page opens in a real browser. A feature that fails gets a few rounds of fixes before the line moves on, and every step is timed and logged.
Apps come out as Flutter apps for phones or as plain web apps. Stronger models design each app from scratch; small models start from a guided layout.


One human decision
When an app clears its checks, it stops at the gate, under a red banner. The console shows what was built, how it matches the spec and the full log, and lets the person open the app to try it. Approving marks the app ready to publish, though the publishing step itself is not built yet; rejecting sends it back to the builder, with notes if the person writes any. The gate refuses to approve a build that failed its checks, and no setting turns it off.
The run shown here is the gate doing its job. The builder finished three of the four features, and the checks found one screen that could not be reached and one feature left as a placeholder. So the console marks the build unverified, switches approval off and offers only to send it back to the builder.
Where it stands
Icarus is in development and runs locally. Everything up to the human gate works end to end, along with budgets, alerts and the stop switch. It has produced working web apps, one of them wrapped as an Android test build and run in an emulator, and a small 3D game.
Not built yet: creating a code repository for each app and publishing to the app stores, which need real store accounts and signing. Live app-store data for discovery is planned, and the handoff to Loop has only run in test mode.

More screens

Next project