Software, prettyand perfect.
Working is the minimum. Half artists, half engineers, we pour 110% into details nobody asked for.
We don't have opinions. We have axioms.
All the details.
Quality is the sum of a thousand small decisions: typography, timing curves, schemas, SQL plans. We make all thousand on purpose, including the ones only we will ever notice.
Noise never ships.
A feature ships only when its derivative (value gained against complexity paid) is positive. Everything else is noise. We don't ship noise. Ever.
Prove it. Then ship it.
“It works on my machine” is a confession, not a status. Types, tests, observability, reproducible builds: we don't debate the basics. We do them, and we sleep fine.
Exact to the pixel.
Anyone can make it work. We make it inevitable: rigor underneath, warmth on the surface, nothing out of place. Art, with unit tests.
A step beyond. Always.
Four practices. One obsession.
We're artists and engineers. There's nobody here to sell you anything. The seniors who answer your email write your code and draw your pixels. That's the whole org chart.
Web Platforms
Nuxt and Next platforms polished until they feel instant: commerce, dashboards, design systems. Beautiful down to the empty states.
Nuxt / Vue / TypeScript / Tailwind
APIs & Infrastructure
Typed APIs, event-driven backends, queues, observability. Infrastructure that survives 3 a.m. without waking anyone. We built it that way.
Node / PostgreSQL / Redis / Docker
Native & Mobile
iOS, Android, and desktop apps engineered tight and polished long after they already work. Built once. Built right.
Swift / Kotlin / Tauri / Flutter
Brand & Interface
Identity, motion language, and product UI, from first sketch to live release without losing a pixel in translation.
Figma / GSAP / WebGL / After Effects
We don't guess. We derive.
Define.
The problem stated precisely: constraints, success metrics, and the list of things we refuse to build. Scope creep dies here, in writing.
Design.
Architecture, data model, and interface decided as one system, redrawn until nothing more can be removed. Then we stop.
Build.
Short, opinionated sprints. Every commit reviewed, every change observed, every Friday a working demo. Yes, every Friday.
Ship.
We launch quietly, measure ruthlessly, and stay on call. The handover docs are good enough to replace us. We're not worried.
The proof is in the pixels.
Three builds in flight, all under NDA. Our clients like it quiet. The builds are private. The standard isn't. These plates are live. Touch them.
state: rest
180 ms
cubic-bezier(0.2, 0, 0, 1)
An Iraqi IBAN has 23 characters. This one has 19. It looks like the account number was cut short.
This field validates as you type, against the real rule: an Iraqi IBAN is exactly 23 characters. The message names the problem, counts the gap, and guesses the cause. No red toast, no "something went wrong". That's the standard on every field we ship.
Case studies drop on ship. Want the tour early?
Get a private walkthrough→We commission ourselves, too.
Client builds ship quiet. These two carry our name on the spine: SaaS we designed, built, and run ourselves, to the same standard, with nobody to demand it but us.
Rocca Menu
QR menus for restaurants and cafés. Every venue gets its own theme, its own domain, and an Arabic-first menu that loads before the waiter arrives. Run from one dashboard the staff actually like.
- field
- hospitality
- form
- multi-tenant SaaS
- languages
- Arabic-first + English
Auction Key
The platform a car-auction brokerage runs on: controlled live-auction access with bid limits, approvals, and full session recording, plus the ERP underneath. Cars, fees, client ledgers, and apps under the broker's own brand.
- field
- car auctions
- form
- SaaS + white-label apps
- languages
- English + Arabic
Enough scrolling. Let's build.
Tell us what you're building and how perfect it needs to be. A senior engineer replies within a working day. No bots, no salespeople. Usually within the hour.
Commission something perfect.
Baghdad, Iraq