PRJ-04 · Internal API Platform
Luce Backend Internal Apps
Rails and GraphQL backend behind Luce's internal apps, client websites, and mobile apps.
- production Sentry errors
- −73%
- high-severity security issues
- 0
- fast API call performance
- +32%
02 / Decisions
DEC-01 Tests first, upgrade second
The Rails monolith had 26% test coverage, and its GraphQL API served internal admin apps, client websites, and mobile apps. An upgrade could break any of them without a single test failing.
Turned downUpgrade first, then fix what breaks in production
ChoseGrew an RSpec and VCR safety net from 26% to 77% coverage over six months, then upgraded Rails 7.0 → 7.2 and fixed the transaction rollback, encryption, and dependency issues the tests caught.
- Cost
- A slower start. Months of test work came before the upgrade itself.
- Proof
- Rails 7.0 → 7.2 shipped, up-to-date backend dependencies went from 26% to 83%, and production Sentry errors fell by 73%.
03 / What I did
-
Led backend scalability, security, and refactoring work on Luce's Ruby on Rails monolith, whose GraphQL API serves internal admin apps, client websites, and mobile apps.
-
Cut production Sentry errors by 73%, removed all high-severity security issues, and improved fast API calls by 32% (p95 <500ms).