Backend architecture
API design, database schema, system design for products that need to scale.
Senior full-stack developer. My core strength is backend architecture — multi-tenancy, billing, integrations — and I carry that into the frontend and mobile app (Flutter) so you get one person who owns the whole system, not just an API.
Most work starts as one of these and expands into architecture ownership.
API design, database schema, system design for products that need to scale.
Tenant isolation, per-tenant data and billing, onboarding that doesn't need a human in the loop.
Third-party API integration, webhooks, retry/failure handling that doesn't leak into the product.
Subscription logic, usage-based billing, payment provider integration.
The interface layer for the systems above, built to match the product, not a generic template.
A mobile client for the same backend, when the product needs one.
Client names are withheld. The architecture and the shape of the problem are not.
Built a multi-tenant architecture from a single-tenant Laravel codebase — a tenant-scoped connection resolver, model-level scoping, and a single migration pipeline instead of a per-customer manual deploy. Onboarding a new tenant went from a multi-day manual process to a self-serve flow.
I started in backend, and it's still where I do my deepest work — the parts users never see and always feel: the integration that must reconcile, the queue that must not lose a job, the tenant that must never see another tenant's data. Over time I extended that same ownership forward into the frontend and into mobile with Flutter, so a project doesn't stall at a handoff between “the backend person” and “the frontend person” — it's one person who understands the whole system.
I treat observability and rollback plans as part of the deliverable, not an afterthought.
Business constraints, traffic shape, failure history, what "broken" costs you.
Audit or architecture doc with trade-offs stated and decisions recorded.
Incremental delivery behind flags, across backend and any frontend/mobile client the project needs.
Observability, alerts that mean something, load validation before launch.
Retained architecture ownership, or a clean handover your team can carry.
Where to put the dedupe boundary when the vendor retries and the customer doesn't care why.
Row scoping, schema-per-tenant, database-per-tenant — and the migration cost of each.
Poison jobs, unbounded payloads, and the retry storm that took down the database.
Send the shape of the problem — traffic, integrations, what keeps breaking. You'll get an honest read on scope within two working days.