Taking on new projects
Apps that feel native — because they are.
Black Olive is a product engineering studio for iOS, Android and
the web. Real Swift and Kotlin, not a cross-platform compromise — shipped with the
architecture, tests and release pipeline to keep moving after launch.
- Platforms
- iOS · Android · Web
- Approach
- Native-first, tested
- Delivery
- Store-ready releases
SwiftSwiftUIUIKitKotlinJetpack Compose
TypeScriptReactNext.jsGraphQLSwift Concurrency
CoroutinesFastlaneGitHub ActionsDesign systems
SwiftSwiftUIUIKitKotlinJetpack Compose
TypeScriptReactNext.jsGraphQLSwift Concurrency
CoroutinesFastlaneGitHub ActionsDesign systems
Services
Three platforms, one engineering standard.
Whether it is a new app, a rescue mission on an old one, or a web product that has to load fast
everywhere — the same discipline applies: clear architecture, tested behaviour, automated releases.
Native iOS
SwiftUI-first apps built the way Apple platforms want to be built — fluid, accessible and at home on the device.
- SwiftUI & UIKit, Swift Concurrency
- Modular architecture (TCA, MVVM) that scales with the team
- StoreKit, push, widgets, App Clips, deep links
- TestFlight, App Store submission and review support
SwiftSwiftUIXCTest
Native Android
Kotlin and Jetpack Compose apps that behave correctly across the real spread of devices, densities and OS versions.
- Jetpack Compose, Material 3, Coroutines & Flow
- Clean modularisation with Hilt and Gradle conventions
- Play Billing, notifications, background work
- Play Console tracks, staged rollouts, crash triage
KotlinComposeGradle
Web products
TypeScript front ends and marketing sites that stay fast under real conditions, and APIs that hold up behind them.
- React & Next.js, server rendering where it pays off
- Design systems and reusable component libraries
- Core Web Vitals, SEO and WCAG 2.2 AA accessibility
- REST and GraphQL integration, typed end to end
TypeScriptReactGraphQL
Capabilities
The work around the feature work.
Most app problems are not missing features. They are slow releases, brittle architecture and performance nobody owns.
01Architecture & code review
Module boundaries, state management and dependency seams that keep a codebase changeable a year from now.
02CI/CD & release automation
Reproducible builds, signing, automated tests and one-command releases with Fastlane, GitHub Actions or Bitrise.
03Design systems
Tokens, components and documentation shared across iOS, Android and web so products stop drifting apart.
04Performance & memory
Profiling with real instruments: scroll hitches, cold start, leaks and retain cycles found and fixed, not guessed at.
05Analytics & experiments
Event schemas that answer product questions, plus feature flags and rollouts you can trust in production.
06Accessibility & QA
VoiceOver and TalkBack support, Dynamic Type, contrast, and automated test coverage where it earns its keep.
Process
Predictable from first call to release.
No black box. You see working software early and often, and you own everything at the end.
STEP 01
Discover
A short paid discovery: goals, constraints, existing code and platform risks. You leave with a scope and an estimate, not a sales deck.
STEP 02
Shape
Architecture, data flow and a milestone plan. Design partners welcome — or we work from your Figma as the source of truth.
STEP 03
Build
Weekly builds on TestFlight and internal tracks, pull requests you can review, and a demo every sprint. Nothing saved for a big reveal.
STEP 04
Ship & support
Store submission, staged rollout, crash and performance monitoring — then a documented handover or an ongoing retainer.
Engagements
Three ways to work together.
Every engagement starts with a conversation and a fixed-price discovery, so the first commitment is small.
Project build
A defined product or feature set, delivered against milestones with a fixed scope and a clear definition of done.
- Milestone pricing, no hourly surprises
- Weekly builds and written updates
- Full source, CI and docs handed over
Best for: launching something new, or a platform rewrite.
Discuss a build
Most requested
Embedded engineer
Senior capacity inside your team on a monthly retainer — your standups, your board, your review process.
- Part-time or full-time allocation
- Mentoring and code review included
- Month to month, cancel with notice
Best for: teams that need depth on mobile right now.
Check availability
Audit & advisory
A focused review of an existing app: architecture, performance, release process and risk — with a written report you can act on.
- Fixed-fee, typically one to two weeks
- Prioritised findings with effort estimates
- Optional follow-up implementation
Best for: inherited codebases and stalled releases.
Request an audit
FAQ
Questions worth asking early.
Why native instead of React Native or Flutter?
Because the details are the product: gestures, transitions, accessibility, background behaviour and OS integrations all behave better when the app is written in the platform's own language. If a cross-platform stack is genuinely the right call for your budget and scope, we will tell you that too — and can work in your existing one.
Can you take over an existing codebase?
Yes, and it is a large part of the work. Typically it starts with an audit: build health, architecture, test coverage and release pipeline. From there you get a prioritised plan that separates urgent fixes from longer-term refactors.
How do you price work?
Discovery is a small fixed fee. After that, project builds are priced per milestone and retainers are priced per month. Rates depend on scope and timeline, and you get a written proposal before anything starts.
Who owns the code?
You do — all source, assets, CI configuration and documentation, in your repositories and your store accounts, from day one.
Do you provide design?
Engineering is the core service, but we work daily with Figma, design systems and design partners. If you need design, we can bring in a trusted collaborator or build against your existing brand and tokens.