Build & Hardening
The production-grade version of what the prototype promised.
Firebase rewards teams that design for it and punishes teams that treat it like a generic database with a login widget. Build & hardening engagements do the design work — either building new capability on your Firebase stack or rebuilding the parts that were assembled in a hurry.
Firestore schema design
Firestore schemas are query-first: the right model depends on what the app reads, how often, and by whom. We design collections, subcollections, and denormalized projections around your actual access patterns — including the unglamorous parts like counter shards, fan-out writes, and pagination cursors that behave under concurrent updates.
Security rules, with tests
We write rules the way production code is written: version-controlled, reviewed, and tested against the emulator suite before deploy. Ownership checks, role claims via custom tokens, field-level validation, and rules that fail closed. Every ruleset we deliver ships with a test suite your team runs in CI.
Cloud Functions architecture
Gen 2 Functions on Cloud Run infrastructure change the design space: longer timeouts, concurrency, and better cold-start behavior. We architect Function estates deliberately — event triggers with idempotency keys, Cloud Tasks queues for retryable work, scheduled jobs with overlap guards, and clear boundaries between what runs in a Function and what deserves a real service.
Auth and App Check
Sign-in flows that handle the edge cases (account linking, anonymous upgrade, token refresh in long-lived clients), custom claims as the authorization backbone, and App Check enforced across Firestore, Functions, and Storage so your backend answers only to your app.
How engagements run
Work is billed hourly by senior US engineers, as a scoped project or as staff augmentation inside your team's repo, review process, and on-call rotation. We write code your team owns from day one — no black-box deliverables, no dependency on us to change a rule.