Backend systems,
drawn to spec.
Ten years building fintech-grade marketplace and payment platforms on Ruby on Rails, Go, and PostgreSQL. Deep specialization in Stripe Connect infrastructure — split payments, escrow, subscriptions, automated payouts — owned end to end from technical design to production. Previously an Engineering Manager behind a system sustaining 1,000 TPS at 99.9% uptime; most recently took an early-stage rental and services marketplace from zero to launch. Now focused on hands-on senior IC work with distributed teams.
Tech stack
Parts list — the tooling these systems are actually built on.
Infrastructure
- Docker / Docker Compose
- Kubernetes
- Terraform (IaC)
- AWS / GCP
- Nginx / Traefik
Languages
- Ruby / Rails
- Go
- Node.js / NestJS
- PHP / Laravel
- JavaScript
Data storage
- PostgreSQL
- MySQL / SQL Server
- Redis / Memcached
- MongoDB
- Prisma / ActiveRecord
Performance
- Prometheus / Grafana
- Distributed tracing
- Load balancing
- Query & index tuning
- BullMQ / Sidekiq
Experience
Elevation view — most recent position at the top.
- Built Bati, a multi-tenant POS SaaS on NestJS and PostgreSQL serving a Flutter cashier app and admin dashboard.
- Designed offline-first sync using client-generated UUIDv7 keys with idempotent push and cursor-based pull, allowing merchants to sell offline and reconcile without duplicate sales or lost stock.
- Modeled every cash and stock movement as an immutable event with a derived read model, so corrections are counter-entries rather than edits. Profit and loss, cash flow, balance sheets, shift cash reconciliations, and ledgers are all projected from a single source of truth, preventing retroactive movement.
- Built a freemium/Pro entitlement layer: features are resolved as package features, cached in Redis, and enforced server-side by feature and quota guards, allowing each report to be sold per flag as an add-on.
- Shipped an F&B sales pipeline with per-channel and open billing without changing the core checkout flow, enabling multiple POS terminals to serve a single table concurrently without data loss from race conditions.
- Ran production on Docker/Traefik; made BullMQ scheduled jobs (analytics, subscription lifecycle, notifications) idempotent via deduplication locks.
- Removed horizontal scaling barriers via a one-time migration service, Redis-backed rate limiting, and S3-compatible storage.
- Designed the core domain layer using the Interactor and Organizer patterns, separating business logic from Rails models and controllers — a maintainable foundation that reduced PR review time.
- Engineered an end-to-end marketplace payment infrastructure on Stripe API and Stripe Connect, implementing destination fees and split payments.
- Built an automated payment routing pipeline that distributes rent payments from tenants to owners with platform fee capture, eliminating manual reconciliation and delivering same-day payment SLAs.
- Designed an escrow and subscription billing engine supporting recurring fee payments, hold-and-release flows, and professional services bookings across multiple pricing tiers.
- Implemented a real-time messaging layer with AnyCable in Ruby on Rails for in-app chat and social media features, tested to maintain 1,000+ concurrent WebSocket connections.
- Eliminated N+1 query patterns and refactored heavy database loads, adding counter caching combined with Redis caching to lower PostgreSQL latency.
- Containerized the entire application stack with Docker and Docker Compose, achieving dev/staging/production parity and reducing new-engineer onboarding from 2 days to under 4 hours.
- Partnered with distributed cross-functional teams (FE, UI/UX, Product) across time zones using Agile/Scrum.
- Promoted from Senior Backend Developer to Engineering Manager after 2 years — given full ownership of technology direction and architectural decisions, and responsible for managing an 8-person engineering team while continuing hands-on backend development.
- Led the backend for AtozGo — a new on-demand food delivery super-app built as a new product line — achieving over 154,000 monthly transactions with a 92% delivery success rate and IDR 3.76 billion GMV within months of launch.
- Designed a multi-sided order routing and delivery engine across 9 service domains with real-time push notifications via AnyCable.
- Led a monolith-to-microservices migration, separating billing and transaction flows into independently deployable services.
- Fully responsible for the backend architecture of a fintech super-app spanning 7 core service domains and 21+ sub-services — bill payments (PPOB), top-up, QRIS, e-money, flight and bus ticketing, transfers, and bank disbursement — achieving a monthly transaction volume over IDR 8.6 billion and 181,000+ transactions/month within two years of launch.
- Maintained 1,000 TPS with 99.9% uptime during peak utility payment cycles through load balancing on Nginx, horizontal scaling of stateless services, and proactive migration of bottlenecks before incidents.
- Developed and maintained the Nutrifood Shipping Export & Import system using Ruby on Rails and SQL Server.
- Improved data management efficiency by implementing database best practices and optimizing complex SQL queries.
- Served as a technical lead for specific sprints, managing SOW estimations, milestones, and developer assignments.
- Authored core application skeletons and shared libraries to be utilized by the wider development team to ensure consistency.
- Built a comprehensive Certification Management System using Laravel and MySQL.
- Translated complex business requirements into functional product features while maintaining platform stability.
How I build
Notes and standards applied across every drawing.
I treat a backend like a set of drawings: explicit contracts, dimensions you can check, and a revision history anyone can read. Domain logic sits in interactors rather than models, money paths are idempotent by construction, and every service ships with the telemetry needed to prove it works.