Services
We take on software work end to end — architecture, implementation, release, and the maintenance that follows — either as the engineering team for a project or alongside the one you already have.
Mobile application development
We build native applications for iPhone and iPad in Swift and SwiftUI, covering the whole path from an idea to an app people have installed: data modeling and offline storage, iCloud and CloudKit sync, in-app purchases and subscriptions, push notifications, accessibility, and localization. We are as comfortable starting a new app as we are taking over one that already has users and a backlog of platform changes to absorb.
Release work is part of the engagement, not an extra. That includes App Store Connect setup, signing and provisioning, TestFlight builds for your testers, privacy nutrition labels and App Privacy disclosures, submission and review, staged rollouts, and the crash and analytics reporting you need to know whether a release went well.
Web and backend engineering
We design and build the services behind a product: HTTP and JSON APIs, authentication and authorization, background jobs and scheduled work, relational data models and the migrations that evolve them, third-party integrations, and webhooks. On the front end we build straightforward, fast web interfaces and admin tools — the internal screens that make a product operable are usually the ones that get skipped, and they are often the highest-leverage thing we can build in a week.
We favor boring, well-understood technology, thorough automated tests around the parts that carry money or data, and documentation written for the person on call rather than for the person who wrote the code.
Cloud infrastructure and DevOps
We set up and maintain the machinery around a codebase: continuous integration and automated test runs, reproducible builds, infrastructure as code, staging environments that resemble production, database backup and restore that has actually been tested, secrets management, logging, metrics, uptime alerting, and cost review. If deploying your software currently requires a specific laptop and a specific person, this is the work that fixes it.
Technical consulting and advisory
Sometimes the deliverable is a decision rather than a commit. We perform codebase and architecture reviews that describe what you have and what it will cost to keep, technical due diligence for investors and acquirers, build-versus-buy and platform assessments, and roadmap planning that sizes the work in terms an engineering team recognizes. We also help non-technical founders evaluate contractors, scope proposals, and interview their first engineering hires.
Maintenance and support
Shipped software needs attention. On a retainer we handle dependency and runtime upgrades, annual iOS and SDK migrations, expiring certificates and API keys, security patches, bug triage, and incident response — so that the version of your product in the store keeps working while your team builds the next one.
How engagements are structured
Project
A defined scope with a fixed deliverable — a new app, a service, a migration — planned in releasable increments with a written scope and schedule up front.
Retainer
A recurring block of engineering time each month for continuing development, maintenance, and support, with priorities set together at the start of each cycle.
Advisory
Reviews, assessments, and scheduled technical guidance for teams that need an experienced second opinion rather than additional hands.
Not sure which fits? Send us a note describing the problem and we will tell you honestly whether it is something we should take on.