Jerico PulveraSenior software engineerPhilippines · Since 2016

I build software end to end.

I have built production software since 2016, from the database to the screens people use. My work includes multi-tenant SaaS, data pipelines, native mobile apps, and an election results site followed across the Philippines.

Selected work

Systems I led from development to production. Open any project to read more. Some of my work is private and not listed here.

  • Multi-Tenant Membership Benefits Platform

    2022 to now

    A benefits platform shared by several organizations. I led its rebuild from seven microservices into one modular monolith.

    • Next.js
    • TypeScript
    • MySQL
    • Drizzle
    • AWS
    Read the case studyHide details
    Problem
    Every organization on the platform wanted its own storefront, domain, catalogue, prices, branding, and access rules. Benefits still had to be issued and redeemed in one shared system.
    Solution
    The brief called for microservices, so the first version had seven of them, connected through Kafka with a DynamoDB event store. After launch, we spent a lot of time on order sagas, outbox pollers, and authentication between services, and the traffic never needed that kind of scaling. I led a rebuild as a modular monolith on Next.js and MySQL. Each old service became a module, background jobs run in their own process, and the request hostname decides which tenant to load.
    Outcome
    The platform now runs its production workload from a single deployment, and every organization keeps its own domain and storefront. A small team can run it and keep shipping. The client code is private, so the public demo recreates the tenant routing, catalogues, and theming.
  • Election Night Results Platform

    2025

    A national election results site for a news network. It stayed up through the election night traffic spike.

    • Go
    • ClickHouse
    • Redis
    • MySQL
    • Next.js
    Read the case studyHide details
    Problem
    A news network had to publish national and local results all through election night. COMELEC released compressed result files in batches, and viewers across the country would request the same numbers at the same moment. Once counting began, the site could not go down.
    Solution
    A Go pipeline unpacked each COMELEC release and loaded it into ClickHouse, which computed the national and local tallies. The site read each new set of results from ClickHouse once and served every other request from a Redis cache, so the database never saw the audience.
    Outcome
    The network used it as its public quick count on election night. Tallies updated with each COMELEC release, and the site is still online.
  • Simply Finance

    2025 to now

    An expense tracker for iOS and Android where logging a purchase takes a few taps and the monthly view shows where the money went.

    • Swift
    • Kotlin
    • SQLite
    Read the case studyHide details
    Problem
    I wanted an expense tracker that is quick enough to use after every purchase. Logging has to take a few taps, and the month has to show where the money went at a glance.
    Solution
    The first version was React Native. The current apps are native, Swift on iOS and Kotlin on Android. Each device keeps its data in SQLite, and SimplySync keeps a person’s devices in sync.
    Outcome
    Both apps are on the App Store and Google Play. Sync between devices is end-to-end encrypted, so the server never sees anyone’s spending.
  • SimplySync

    2026 to now

    Open source, end-to-end encrypted sync for local-first apps. It powers sync in Simply Finance.

    • TypeScript
    • Swift
    • Kotlin
    • SQLite
    • Cloudflare Workers
    Read the case studyHide details
    Problem
    Simply Finance keeps its data in SQLite on each device. Syncing it through an ordinary backend would mean a server that can read every user’s finances.
    Solution
    Each device encrypts its changes before they leave it. A relay that cannot read them passes the changes between devices, and each device applies them to its own SQLite database.
    Outcome
    It powers sync in Simply Finance. The code is open source, and a paid hosted relay runs on Cloudflare.
  • Golf Club Booking & Membership System

    2019 to 2021

    Booking and membership software that moved a golf club off paper and spreadsheets.

    • Node.js
    • Vue
    • React
    • MongoDB
    Read the case studyHide details
    Problem
    The club tracked tee times, members, and events on paper and in spreadsheets. Staff and members needed to work with the same schedule in different ways.
    Solution
    We built one Node.js and MongoDB backend with two frontends: a console where staff managed schedules, memberships, and events, and a booking app for members.
    Outcome
    The club used it every day for bookings and member records. The client system is private, so the public demo recreates the member booking flow.

Earlier client work

  • Property Listing Portal

    2019

    Buyers filtered listings by the details they cared about, browsed photos, and contacted agents. Agents managed their own listings.

  • Incident Response Platform

    2018 to 2019

    Used during a national election to log incidents, assign an owner to each one, and track it until it was resolved. Every status change was kept in the history. The demo lists sign-in details on its landing page.

  • Satellite Imagery Request Portal

    2018 to 2019

    Clients drew the area they needed on a map instead of describing it over email. The shape stayed attached to the order until it was delivered.

Personal projects

  • Goalist

    2024

    Breaks a long-term goal into steps you can check off, and keeps a history of your progress.

  • Pusoy Dos

    2021 to 2022

    A four-player online card game. The server holds the table state, checks every turn, and ranks the hands.

  • Game of the Generals

    2019

    A turn-based strategy game where piece ranks are hidden. The server settles every challenge, so neither player can see the other side of the board.

  • eCampus

    2016 to 2017

    A school portal where teachers posted grades and students checked their standing and class rank.

What I build

The parts of a product I usually own. Each one links to the projects that show it.

Technologies

The tools I use most in production.

Backend
  • TypeScript
  • Node.js
  • Bun
  • Hono
  • Go
  • Laravel
Frontend
  • React
  • Next.js
  • Vue
  • Tailwind CSS
Data
  • PostgreSQL
  • MySQL
  • MongoDB
  • ClickHouse
  • Redis
  • D1
Infrastructure
  • AWS
  • Kubernetes
  • Terraform
  • AWS CDK
  • Cloudflare Workers
  • Docker
  • GitHub Actions
Commerce
  • Shopify Plus
  • Hydrogen
  • Storefront API
  • Shopify Functions
Mobile
  • Swift
  • Kotlin
  • React Native

How I build

How I make technical decisions and keep projects moving.

  • Pick proven tools

    I add a new tool only when it solves a real problem, because someone has to maintain it for years.

  • Ship small

    I put a small working version in production early and improve it from what I learn there.

  • Size the architecture to the need

    I design for the traffic a system will likely see and the team that will run it.

  • Stay on after launch

    I handle the deployment, the edge cases, and the things the ticket left out.

  • Use AI and review the output

    I use Claude Code and Codex every day, and I read every change before it ships.

  • Write it down

    I record decisions, keep modules separate, and write code the next person can follow.