Backends and apps for products that ship at scale.
High-volume device fleets, enterprise services, and mobile app backends — plus the iOS and web apps on top. One team, from the database to the App Store.
01 / Services
What we build, from the database to the App Store.
Specificity is the signal. Below is what an engagement leaves behind — the systems that go in the SOW and the line items your engineers actually ship.
Mobile app backends
- Auth, accounts & sync
- APNs push & notifications
- Live Activities & widgets
- Media upload & delivery
Enterprise service backends
- Multi-tenant APIs
- Workflow & job engines
- Third-party integrations
- Admin & internal tools
Manufacturing & fleet backends
- Device provisioning at volume
- Telemetry ingest & storage
- OTA update rollout
- Fleet operations & control
Mobile & web app development
- SwiftUI iOS apps
- Next.js / React web
- Prototype → App Store
- App + backend as one system
02 / Engagement models
Four ways to buy. Pick one.
Every model below has a concrete shape, so you know exactly what you'd sign and what arrives. No open-ended "consulting."
- Fixed-scope sprint
Backend or app build sprint
4–8 weeks, fixed scope. We ship a concrete milestone — an API, a sync layer, an iOS app cut — with the architecture written down and the PRs in your repo. Most common engagement.
Scope a sprint - Retainer
Embedded engineer
Senior backend + app capacity that joins your team for a quarter. Standups, PRs, on-call for the systems we build. The way to move fast without a permanent hire.
Discuss a retainer - One-shot
Architecture & build plan
An assessment and a written build plan before you commit the budget: the data model, the infrastructure, the sequencing, and an honest estimate. Sold as a single deliverable.
Request a plan - Partner
Product build partner
Multi-quarter, factory to field. App, backend, and fleet infrastructure designed and operated as one system. The 'Gravexa builds and runs the platform' engagement.
Explore a partnership
03 / Process
Built to launch and keep running.
- 01 / Discover
Users, devices, services, load. We map what you're shipping and where it has to scale, and write it down for the team that has to build it.
- 02 / Design
APIs, data model, infrastructure. Chosen for your deployment and your team, documented so the tradeoffs stay legible.
- 03 / Build
PRs in your repo, alongside your engineers. Backend, mobile, and web touched in the same engagement.
- 04 / Ship & operate
Launch, observability, and the runbooks to keep it healthy once real traffic and real devices hit it.
04 / Apps
We ship our own, too.
Not just backends for other people's products. Gravexa builds and ships its own iOS apps, so we run into the same friction you do.
RunWalk
TestFlight · BetaCouch to 5K, one interval at a time.
FerryWatch
TestFlight · BetaCatch your ferry. Without the dock anxiety.
BeerBet
TestFlight · BetaThe friendly way to bet with friends.
05 / Insights
From the work, while it's still warm.
The moderator that voted against you
Our AI bet-moderator kept resolving bets for the losing side — while its written reasoning was dead right every time. An LLM is a literalist: it executes the frame you hand it, hidden assumptions and all. The fix, and the lesson, is structuring the prompt so the model has to be deliberate.
Live Activities in production: the rate limits nobody warns you about
ActivityKit looks simple until you try to keep a Lock-Screen ETA ticking. The frequent-updates entitlement, the roughly-per-minute push ceiling, the 12-hour window, token rotation — what actually constrains a live-updating widget, and how to build the backend around it.
One backend, thousands of phones: serving live ferry data without hammering WSDOT
FerryWatch shows a live ferry position to everyone watching a route — without every phone polling the WSDOT API. Here's the fan-out architecture, the cache that makes it nearly free, and the failure modes we designed around.
// open a brief
One conversation can save a quarter of engineering time.
Tell us what you're shipping — an app, a backend, a fleet at scale. We'll tell you which decisions are load-bearing, which can wait, and where the cheapest win lives.