Skip to content
cbirddev schema rev 0.1 — last updated 2026.04

Experience

Career timeline — roles, teams, and the systems I've helped build.

career timeline
  1. Senior Software Engineer

    Malouf Companies — 2015–present

    Lead architect and primary contributor (11,700+ commits) to the company's flagship internal ERP — 400+ data models and 270k+ lines of PHP spanning purchasing, fulfillment, EDI, financials, and more.

    PHP Laravel Vue 2/3 AWS

    Malouf is a furniture and bedding manufacturer operating across wholesale, direct-to-consumer, and marketplace channels. I joined in 2015 as the primary engineer on their internal platform and have been the lead architect ever since — 11,700+ commits, 10+ years, and every major system either built or rebuilt by me.

    HQ — the internal ERP

    HQ is the operational core: purchasing, inventory, order management, fulfillment, vendor relations, EDI, HR, and financials — all in one platform. At current scale: 400+ Eloquent models, 270,000+ lines of PHP, and enough background jobs to keep a dedicated worker farm running around the clock.

    • Order pipeline — Ingests orders from Amazon, Walmart, eBay, and a dozen other channels. Routes through availability checks, fraud screening, and fulfillment assignment before anything touches a warehouse queue.
    • Fulfillment routing — Determines whether an order ships from a company warehouse, a drop-shipper, or splits across both. Handles backorders, substitutions, and carrier selection.
    • Vue 2 → Vue 3 migration — In 2023 I led a full frontend migration across 700+ components with no downtime, using a compatibility shim that allowed incremental rollout alongside active feature development.

    Bifrost — integration middleware

    Before Bifrost, every new sales channel or trading partner meant writing glue code directly into the ERP. Bifrost decouples all of that — an internal event bus where systems publish facts and consumers react independently.

    • Ingests orders from Pipe17, DSCO, and direct channel APIs (Amazon, Walmart, Shopify, and others)
    • Routes outbound purchase orders to drop-ship vendors via EDI (850, 855, 856, 810, 945, 846)
    • Processes inbound acknowledgements and ASNs, reconciling against open orders
    • Publishes inventory updates back to channel listings on stock changes

    Infrastructure & standards

    I own the hosting infrastructure on AWS, all CI/CD pipelines via GitHub Actions, and the PHPStan and coding standard configuration that keeps a multi-developer team consistent. A new channel integration is now an additive change — a new module, no upstream modifications required.

  2. Freelance Software Developer

    The Family Place Utah — 2016–present

    Sole developer for Starfish — a custom service management platform supporting nursery, therapy, and education programs. Completed a full ground-up rebuild in 2024, modernizing from a home-grown PHP/AngularJS stack to Laravel and Filament.

    Laravel Filament PHP Full-stack

    The Family Place Utah runs nursery, therapy, and early education programs across multiple locations. I've been their sole developer since 2016 — first building their original platform, then rebuilding it from scratch when it had outgrown what incremental changes could fix.

    The rebuild (2024–present)

    The original system was built on a home-grown PHP framework with AngularJS on the front end. After nearly a decade of organic growth it had become difficult to change safely. In early 2024 we agreed to start over.

    The rebuilt platform — Starfish — is a proper Laravel application with clean domain separation, Filament admin, and test coverage. The data model was redesigned from scratch to support actual workflows rather than the workarounds the old system had forced.

    What the platform does

    • Calendar & scheduling — Org-wide calendar tracking room usage, staff assignments, and program sessions. Rooms are reservable independently of sessions, which matters when multiple programs compete for the same spaces.
    • Time clock — Staff clock in and out through the platform. Replaced paper sign-in sheets and manual data entry.
    • Document store — Onboarding documents and HR paperwork attached to staff records, with expiry tracking for credentials.
    • Program management — Each program (nursery, therapy, education) has its own configuration, roster management, and reporting. Staff see only what's relevant to their program.

    My role

    I handle everything end-to-end: requirements, architecture, development, deployment, and ongoing support. It's a long-term embedded relationship — I know their programs, their staff, and their operational quirks well enough to build software that actually fits how they work.

  3. Software Engineer

    UK2 Group — 2011–2015

    Built and maintained web applications and internal tooling for a web hosting provider. Progressed from front-line support to engineering, and managed a team of 10–15 support technicians alongside development work.

    PHP JavaScript Web hosting

    UK2 Group is a UK-based web hosting provider. I joined on the support team and moved into an engineering role through consistent technical contributions — building tools that made the support workflow faster, then expanding into product-facing work.

    Engineering

    • Built and maintained customer-facing web applications and internal tooling across the hosting product portfolio
    • Worked across the full stack: PHP backends, JavaScript frontends, and direct database work

    Team management

    Alongside engineering, I managed a team of 10–15 support technicians — scheduling, performance coaching, 1:1s, and training. The dual role gave me an early appreciation for the gap between what engineers build and what support teams actually deal with at scale.