Graffitecs / Services / Custom Web Apps
Discipline 01 · Web Engineering

Web apps that
feel handcrafted,
scale like factories.

Type-safe React, edge-rendered Next.js, real-time backbones, and design systems that survive the fifth quarterly redesign. We build the web app you'll still want to work on three years from now.

opinionated.
fast. quiet.

Average bundle: 78 kB gzipped. Average Time-to-First-Byte from edge: 84 ms. Average meeting count: low.

SaaS dashboards Real-time collaboration Marketplaces & portals Internal tools Headless commerce API-first products
0ms
Avg edge TTFB
0
Median Lighthouse
0
Web apps shipped
0wks
Avg time to MVP
Capabilities

The shapes of app we ship.

Six recurring archetypes cover most of what we get asked to build. Pick the one closest to yours, or describe your own — we've probably done a cousin of it.

01

Multi-tenant SaaS dashboards

Auth, RBAC, billing, audit logs, customer-facing analytics. The boring scaffolding done right, so you can focus on the part that's actually yours.

  • · Stripe / Paddle billing
  • · SSO + SAML + SCIM
  • · Audit & event logs
02

Real-time collaboration

Live cursors, CRDT documents, presence, conflict-free editing. The stuff that makes Figma feel like Figma — wired into your domain.

  • · Yjs / Liveblocks / Hocuspocus
  • · WebSocket + WebRTC
  • · Optimistic UI
03

Internal tools & ops portals

When Retool runs out of runway. We rebuild your ops backbone with the same speed but without the lock-in or the licence ceiling.

  • · Role-aware workflows
  • · Bulk operations & undo
  • · Custom DSLs where useful
04

Marketplaces & two-sided portals

Buyer side, seller side, ops side. KYC, escrow, dispute flows, search, ranking — patterns we've shipped six times.

  • · Search (Algolia / Typesense)
  • · Stripe Connect / Mangopay
  • · Trust & safety tooling
05

Headless commerce

Storefronts that load like brochures and convert like Shopify. Saleor, Medusa, Commercetools — or a custom layer if you've outgrown them.

  • · ISR + edge caching
  • · PIM integrations
  • · Custom checkout flows
06

API-first platforms

When the API is the product. Versioning, SDK generation, dev portals, sandbox tenants, rate-limit dashboards — the things devs notice.

  • · OpenAPI / GraphQL
  • · Stainless / Speakeasy SDKs
  • · Mintlify dev portals
What you walk away with

More than a repo.

Every engagement ends the same way: a production system, a team that can run it, and a written record of every decision we argued about.

D01
Production-ready codebase
Monorepo, type-safe end to end, ≥80% critical-path test coverage.
D02
Design system & component library
Tokens, primitives, Storybook, accessibility audited (WCAG 2.2 AA).
D03
Infra-as-code + CI/CD
Terraform modules, preview environments per PR, blue-green deploys.
D04
Observability stack
Logs, metrics, traces, error budgets, alert routing, on-call runbooks.
D05
Architecture decision records
Every "why" written down. The next engineer thanks you.
D06
Handover & enablement
Pair-programming weeks, recorded walkthroughs, 90-day support window.
Default stack

Boring on the inside.

A deliberately conservative core. We swap in sharp tools when the problem requires them, never because they're trending.

React
Next.js
TypeScript
Node.js
tRPC
GraphQL
PostgreSQL
Prisma
Redis
Tailwind
Vercel
Playwright
How we engage

Three shapes of work.

Pick the one that maps to where you are. Or hop between them — most clients start at one and end at another.

PHASE A

Discovery sprint

2 weeks · fixed

Architecture review, prototype of the riskiest interaction, and a costed roadmap. You walk away with a plan whether or not we build it.

From AED 38,000
PHASE B · MOST POPULAR

Build pod

8–16 weeks · milestones

Senior pod of 3–5: tech lead, full-stack, design, QA. Two-week cycles, demo every Friday, you own the repo from week one.

From AED 145,000 / month
PHASE C

Embedded retainer

ongoing · monthly

Once it's live. A reduced pod stays in your stand-ups, owns the on-call rota, and ships the roadmap quarter-over-quarter.

From AED 65,000 / month
FAQ

Honest answers.

If yours isn't here, just ask. We respond to most enquiries within a working day.

Will you work with our existing engineering team? +

Yes — most of our work is alongside in-house teams. We default to your repo, your code review, your standup. Where we run our own pods, we still pair-program weekly so the knowledge transfers from day one rather than at handover.

Can you take over a project that's already in trouble? +

Frequently. We start with a one-week audit: code, infra, team, runway. Output is a frank document — what to keep, what to throw out, what to rewrite — and a costed path to stable. About a third of those projects we then take on. The rest we hand back with a plan they can execute themselves.

What about IP and code ownership? +

You own everything we write — code, designs, infra, docs — assigned on first commit. We keep no kill-switches and no exclusivity clauses. Our standard MSA is six pages and we'll happily redline yours.

Can you work fixed-price? +

For well-shaped, mostly-known scopes — yes, we offer fixed-fee with milestone billing. For genuinely exploratory work we recommend time-and-materials with a hard cap, because anyone who quotes you a fixed price for an unknown is either lying or building you something cheap.

What's the smallest engagement you'll take? +

A two-week discovery sprint. Below that we're not adding much value over a good freelancer, and we'd rather refer you to one of the four we trust than do it badly ourselves.

Web pod available July 2026

Got a web app
that deserves better?