all experience
completed[Nov 2024 – Jun 2026]

NexBell Inc.

Software Engineer

  • Led sprint planning and PR review for a 9-person engineering team. Introduced mandatory CI gates (lint, typecheck, tests) so every PR had to clear them before review.
  • Rebuilt the login system on OAuth2, JWT, and RBAC, closing authentication vulnerabilities in the legacy session-based flow. Ran old and new auth in parallel for a month to migrate without breaking active sessions.
  • Redesigned composite indexes and rewrote ORM queries across a multi-vendor MySQL system. Cut query execution time by 17% across 50+ store deployments, with tail latency dropping more.
  • Migrated idle AWS resources to reserved instances and auto-scaling capacity. Rebuilt CI/CD on CodePipeline and Docker. Cut cloud spend by 35% and deployment lead time from hours to minutes.

The story

idea → framing → build → deploy → what's next
  1. 01 IDEA

    Led sprint planning and PR review for a 9-person engineering team

    NexBell was the first role where I owned a real production system under live traffic. It was a multi-vendor marketplace platform serving 50+ independent stores, all running on a shared Django and MySQL backend. The system had grown organically for years. Features were stacked on features. Indexes were inherited from migrations that no one remembered writing. The session-based login was showing its age.

  2. 02 FRAMING

    My first job was to take ownership of the auth layer.

    My first job was to take ownership of the auth layer. The legacy session cookies were vulnerable to fixation, and the role checks lived in scattered decorators across the codebase. I rebuilt login on OAuth2 and JWT, attached a clean RBAC layer, and gated every protected endpoint behind a single decorator. The hard part was the migration path. Existing sessions had to keep working while we rolled out the new flow, so we ran the two in parallel for a month before sunset. PR review for a 9-person team was the meta-work. Introducing mandatory CI gates made "did CI pass?" the first thing every PR read.

  3. 03 BUILD

    The second big push was a query rewrite.

    The second big push was a query rewrite. The original ORM code had lazy-loading everywhere. N+1 queries were common, and the indexes were inherited from migrations no one remembered writing. I redesigned composite indexes on the high-traffic tables (vendor-product mapping, order-history rollups) and rewrote the 12 hot-path queries to do eager-fetch and bulk reads. Query execution time dropped 17% across the deployment, measured at the median. Tail latency dropped more, because the worst offenders benefited most from composite indexes.

  4. 04 DEPLOY

    Cloud spend was the third lever.

    Cloud spend was the third lever. A previous engineer had provisioned staging as a pair of always-on m5.larges that nobody touched. I migrated the always-on fleets to reserved instances (1-year, no-upfront), collapsed the idle staging environment into spot capacity, and rebuilt CI/CD on CodePipeline and Docker. Deploys went from "submit a PR and someone sshes into the bastion" to a 12-minute automated pipeline. Lead time fell from hours to minutes, and cloud spend fell 35%.

  5. 05 WHAT'S NEXT

    Outcome — Led sprint planning and PR review for a 9-person engineering

    The deploys themselves were the unsung hero. Blue/green on the ALB with session draining. Postgres migrations gated behind a no-DDL-during-traffic runbook. Celery worker pools split by task class, so a slow batch job couldn't starve the realtime queue. By the end of my time there, shipping a feature was a 12-minute loop: PR, CI gates, CodePipeline, ALB swap, dashboards show new error rate, latency, and conversion within five minutes. That's the muscle memory I now expect on every team I join.

Keywords

6 techs · links go to /stack

Related projects

2 projects shipped alongside work at NexBell Inc.

Related writing

9 posts reference NexBell Inc.

Product case studies

For the architecture deep-dive: three-layer build, isolation strategy, deployment topology. Read the case studys: DataLineage Doctor, and Algocode on /work.