02 — Selected work
Systems I have built and owned
The problem and the outcome of each system; the full record — context, role, decisions, engineering — is on the work page.
EasyLlama · 2025 – present Architected and own the production AI agent platform inside a multi-tenant Rails SaaS product — the assistants, routing, tooling, conversation state and evaluation infrastructure that turn LLM calls into dependable product workflows.
- problem
- Isolated AI interactions do not compose. Each new capability meant re-solving routing, permissions, conversation state and quality, and LLM behaviour was hard to trust in a product where tenants must never see each other's data.
- outcome
- Customers build dashboards, query their data and produce, save and export reports through the assistants instead of waiting on engineering. New capabilities are added as tools on shared infrastructure, and regressions in agent behaviour are caught by the evaluation suites before release rather than by customers.
Ruby · Rails · PostgreSQL · Redis · Sidekiq · LLM APIs
Airbnb and PMS booking synchronisation
boomnow · 2024 – 2025Owned the architecture and implementation of the Airbnb integration for a hospitality platform: keeping bookings consistent between the product and external property-management systems.
- problem
- Two systems each believe they own the booking. Synchronisation has to survive partial failures, late updates and multi-unit allocation, in a multi-tenant environment where a bug is visible to a guest standing at a door.
- outcome
- Bookings from Airbnb and third-party PMS platforms flow into the platform and are allocated across units through one set of workflows, and integration problems can be diagnosed from tenant state without an engineer reproducing them.
Ruby · Rails · PostgreSQL · Sidekiq · Airbnb API
SaaS payment platform
MobiDev · 2022 – 2023Led the development of a SaaS payment platform from the ground up as Tech Lead — technical planning, engineering workflows and release coordination.
- problem
- Standing up a payments system from zero while keeping releases predictable for a team that was forming at the same time.
- outcome
- A platform delivered from an empty repository with a repeatable release process, and deployments about a quarter faster than the starting point.
Ruby · Rails · PostgreSQL · CI/CD
High-load crawling and exchange-data platform
DigitalBridges · 2016 – 2022Core architecture, large-scale web crawlers and crypto-exchange integrations for a data-heavy platform, over five years of growth and production hardening.
- problem
- Crawling at volume without being blocked, keeping exchange data consistent, and making search over a large dataset fast enough — while a legacy frontend and long-standing production issues slowed the team down.
- outcome
- A platform that stayed stable and consistent as the dataset and load grew over five years, with the long-standing production issues resolved and a frontend the team could keep evolving.
Ruby · Rails · PostgreSQL · Redis · Vue.js · Web scraping