Software your business runs on, built with AI and the judgment to use it well.

Oceancrest Software designs, builds, and maintains iOS apps and the backends behind them for small teams that depend on them every day. AI-assisted development means features ship in days instead of months. One engineer, end to end, means someone is accountable for every line and knows exactly where the AI gets things wrong.

Start a conversationCardiff-by-the-Sea, California

Built for

What I build

iOS apps for working teams

Native Swift and SwiftUI apps for people who use them in the field all day: sales, service, operations. Offline first, quick to open, and honest about what has and hasn't synced.

The backend behind them

Node services and relational databases the app can trust, connected to what you already run: CRM, calendar, expense and finance systems. Idempotent APIs, background sync, retries that never duplicate a record, and monitoring that emails you before your users do.

AI where it earns its place

Reading receipts, matching records, summarizing notes, researching the accounts your team covers. Built into the product where it saves real hours, measured to prove it, and left out where it doesn't.

How I work

Move fast with AI. Ship only what can be explained.

  1. 1
    Start with the invariant.What must never happen, what must always converge, and which layer owns each one. The design follows from that list, not the other way round.
  2. 2
    Build with AI, decide without it.AI writes plausible code fast and will happily add machinery nobody asked for. The value is in directing it: saying no early, with a reason, and keeping the system small enough to explain.
  3. 3
    Ship in small, reversible steps.Server first, client second, always backward compatible, so a release never depends on everyone updating at once. Real IDs on screen and real logs, so the next bug report is evidence rather than a guess.
  4. 4
    Stay after launch.Ongoing maintenance and on-call support as part of the engagement, because the interesting bugs arrive after the release.

Work

Case studies are being written up now.

The first covers a receipt-capture and background upload system for a field sales app: durable queues, idempotent uploads, and a duplicate bug that turned out to be a cache. Until it is published, the long-form version of the engineering story is on jeffsherin.com.