How long?
TimelineA storefront with checkout, delivery pricing and a working admin is weeks, not months. The unknown is never the code. It's how many decisions about your own business are still open when we start.
Press any key to skip
Systems we designed, built and shipped
Arrows or WASD to walk · E to use a cabinet
Cabinets currently on the workbench. Each screen is a recording of the real build in motion. Not a mockup, not a concept board.
We build web platforms that reach production, not demos. Every cabinet on this floor is a system somebody's business actually runs on: taking orders, moving stock, handling money.
The shape is consistent: a Django and DRF core with a PostgreSQL schema designed for the domain, a React front end, Celery for the work that shouldn't block a request, and Docker underneath so the thing that runs on a laptop is the thing that runs on the server. Then TLS, nightly backups and role-based access, because shipping is where the job actually starts.
| Storefronts live in production | 2 |
|---|---|
| Wilayas served with courier pricing | 58 |
| Deploys behind TLS + nightly backups | 100% |
| Roles enforced server-side | Always |
We start from how the business actually runs (who takes the order, who packs it, who gets paid) rather than from a feature list.
Django models and a PostgreSQL schema shaped to that reality first. Get the data right and the screens follow.
Docker, nginx, TLS, a real domain. Not a staging link, but the thing customers type into a phone.
An admin where the owner changes prices, stock, delivery rates and staff access without calling us.
How long?
TimelineA storefront with checkout, delivery pricing and a working admin is weeks, not months. The unknown is never the code. It's how many decisions about your own business are still open when we start.
Can I change things myself?
OwnershipPrices, stock, products, photos, delivery rates per wilaya, staff accounts and the text on your contact page are all editable from the admin. No developer, no redeploy. If you have to call us to change a price, we built it wrong.
Who owns the code?
HandoverYou do. It runs on your server, your domain, your database, with the credentials in your hands. Nothing is locked to a platform you'd have to keep paying us for.
What if it breaks at 2am?
OperationsThe database and uploads are backed up nightly and the restore is tested, not assumed. Containers restart on their own, certificates renew on their own, and a bad deploy can be rolled back to the previous image.
The 58-Wilaya Courier
Delivery pricing · clearedAlgeria has 58 wilayas and every one has a different courier rate, twice over, home delivery and stop desk. Hard-coding a flat fee quietly loses money on the far ones. Beaten by per-wilaya tariffs the owner edits in the admin, and a rule that an unpriced destination is refused at checkout rather than shipped at a loss.
The Phantom Price
Bundled data · clearedA storefront that ships a fallback catalogue renders those prices for a beat before the real ones load. Customers saw a figure the shop would never honour. Beaten by deleting the bundled catalogue outright. The database is the only source of a price, and the page waits rather than lying.
The Stale Address
Zero-downtime deploys · clearednginx resolves an upstream hostname once, at boot. Redeploy the API and it gets a new container address, so the site loads while every order, cart and product call quietly returns 502. Beaten by resolving service names per request through Docker's DNS, verified by moving the API to a different address mid-flight and watching traffic follow.
The Backup That Wasn't
Data safety · clearedThe nastiest kind of bug: a scheduled backup that installs cleanly, reports nothing, and writes an empty file. You find out on the day you need it. Beaten by restoring from the dump as part of setting it up, counting the tables and the media files, not trusting the exit code.
The blight spreads to a neighbouring cell every tick. Clear the infected ones before half the field is lost. A wrong tap costs a point, so sweeping the board doesn't work.
Watch the entry code, then repeat it. It grows by one key each round and a single wrong press locks you out. Keys 1 to 4, arrows, or tap.
Clear the backlog before the build breaks. The ball gains speed on every paddle hit, so a long rally gets harder rather than safer, and where it lands on the paddle is how you steer.
Every request you serve makes the queue behind you longer, and the service speeds up as it grows. Hit a wall or your own tail and you're down.
9
There's a free cabinet on this floor. Tell us what your business actually does all day and we'll build the system that runs it.
▸ Insert coin