How Ifiok works
The Ifiok generation flow — from a blueprint, through automated code generation in a sandboxed build environment, to a downloadable result.
This is a plain description of what happens when you generate code with Ifiok.
1. Start from a blueprint
Every Ifiok run starts from a blueprint — an architecture model that describes the system you want built. You can bring your own, work from one produced in Etione (Iyene, Etione, and Ifiok share the same organization), or start from a template in the marketplace instead of a blank blueprint.
Ifiok generates code across several backend stacks — Flask, Laravel, NestJS, Django, and FastAPI, each paired with a Next.js frontend — so the stack you pick shapes what gets generated.
Entities in the blueprint follow Domain-Driven Design patterns: plain entities, aggregate roots, value objects, domain events, and repositories each produce different generated behavior — an aggregate root, for example, gets optimistic locking and command dispatch, while a domain event is generated as append-only.
2. Generate
From the blueprint, select Generate Code. Ifiok breaks the blueprint down into individual pieces of work and builds them out in an isolated environment set up for that run, rather than against your own machine. Where the blueprint calls for common integrations — payments, email, messaging, file storage, social login — Ifiok can inject the corresponding capability (for example Stripe, SendGrid, Twilio, S3, or OAuth) into the generated application rather than leaving it as a stub.
3. Follow progress
While a run is in progress, Ifiok reports what it's working on and what it has completed. Larger blueprints take longer and are broken into more individual pieces of work than smaller ones.
4. Review and download
When a run finishes, the generated code is available to download and compile. Review it the way you would review any generated code before relying on it — Ifiok is under active development, and generation quality varies with how detailed and specific the input blueprint is.
Getting a better result
The single biggest factor in output quality is the blueprint itself. A blueprint that names actual components, responsibilities, and interfaces produces a more accurate result than a high-level sketch — the same principle as writing a clear requirement for Etione.

