Native Android — Bothell, WA — Est. 2017

Native Android apps that respect the platform.

A senior studio building Material 3 apps for Pixel, Samsung, and the long tail of Android. Kotlin, Jetpack Compose, Coroutines, Room — written by humans who use Android phones every day, not as a port of an iOS build.

100%Senior engineers on your build
2017Founded · Bothell WA
1Production SaaS we operate
1 dayMax founder reply time
9:41
ForagerAS
TodayWeekTrailsGarden
Foraging walk · saved
Snohomish River loop
Chanterelle · 1.4 lbDouglas-fir grove · 6.2 km+18 XP
Up next · Saturday
Lake Forest Park
Lobster mushroom windowOak/cedar mix · 8.0 kmplan

Concept · AndroidStudio concepts, hand-built in code — not screenshots, not client logos.

The toolchain
  • Jetpack Compose
  • Kotlin Coroutines
  • Room + DataStore
  • Material 3 Expressive
  • Wear OS 5
  • Glance widgets
  • Play Billing 7
  • Hilt
  • WorkManager
  • CameraX
What we actually do

An Android team you can hire, not a consultant who tries.

We build, ship, and maintain Android apps. Compose, Wear, Auto, foldables. We're hands-on engineers, not strategists with decks. Below: what we practice every day.

01

Compose-first product engineering

Modern Compose UIs with proper state hoisting, predictable navigation, and components that survive a redesign. We avoid ViewBindings — and we don't apologize for it.

ComposeCompose MultiplatformMaterial 3Glance
Default stack
02

Form-factor & adaptive UI

Pixel Fold, Tablet, foldables across the Android ecosystem, Chromebook, Wear OS, Auto, Cast. WindowSizeClass and adaptive scaffolds — not stretched phone UI.

FoldablesTabletsWear OSAutoChromebook
Cross-surface
03

Performance & power discipline

Macrobenchmark on every PR. Baseline Profiles by default. JankStats budgets in CI. Cold start budgets enforced. Battery historian sweeps before every release.

MacrobenchmarkBaseline ProfilesJankStatsPerfetto
Non-negotiable
04

Background work that respects the OS

WorkManager done right. Foreground service rules. Doze and App Standby compliance. Predictive back, edge-to-edge, gesture nav. Behaves on stock Android, OEM skins, and Pixel.

WorkManagerJobSchedulerDoze-awareOEM-tested
Works in field
05

Play Store craft & launch

Listing, screenshots, store experiments, staged rollouts, Pre-Launch reports, In-App Updates, Play Integrity. We know the Console intimately.

Play ConsolePre-LaunchIn-App UpdateIntegrity API
Launch + grow
06

Native + Kotlin Multiplatform

When KMP makes sense, we use it. When it doesn't, we don't pretend. Shared business logic with iOS via KMP; UI stays platform-native.

Kotlin MultiplatformKtorSQLDelight
Pragmatic
Signature · ship discipline

Every commit, on the Internal track by lunchtime.

Continuous delivery on Android isn't optional — it's how you survive the device matrix. Our standard CI runs on every push: Compose tests, JankStats budgets, ktlint/detekt, Macrobenchmark, Baseline Profile, R8, sign, bundle, push to Play Internal. Below, a hand-built demo of that pipeline on one of our concept apps — rendered in code, not screenshotted.

odins3-ci · forager-android (concept) · mainRunner: Linux · AGP 8.7 · JDK 21Demo

Recent builds

4.2.0 (412)Forager · 8m ago · running
3.9.4 (388)Bivouac · 1h · passed
2.1.7 (104)Suncloth · 4h · passed
1.4.0 (22)Forager Wear · 1d · passed
4.1.9 (411)Forager · 2d · failed
4.1.8 (410)Forager · 3d · passed
Build #412Passed19.4s · 0 errors
Cold start p501.18sbudget 1.50s · −21.3%
Coverage81.6%▲ 0.4% vs main
Crash-free99.94%last 7d · 42.1k sessions

Cold start p50 · last 28 builds (ms)▼ trending down

~ build #412 log

14:02:11 > Task :app:assembleRelease14:02:12 Resolving dependencies (BOM-aligned · 142 modules)…14:02:14 Compiling Kotlin → :app (386 source files, K2 compiler)14:02:31 ✓ assembleRelease — 19.4s · 0 errors · 0 warnings14:02:32 Running tests on Pixel 9 Pro (Android 15, API 35)…14:02:48 ✓ ForagerUnitTests: 248 passed (16.1s)14:02:49 ✓ ForagerComposeTests: 32 passed (8.4s)14:02:50 ✓ ForagerWearTests: 64 passed (4.0s)14:02:51 ktlint + detekt: 0 violations14:02:51 Code coverage: 81.6% (+0.4% vs main)14:02:52 Macrobenchmark · cold start p50: 1.18s14:02:53 JankStats · main thread frames > 16.6ms: 0.4%14:02:54 Generating Baseline Profile…14:03:09 ✓ Bundle (.aab) — 14.7s · 28.4 MB · R8 minified14:03:10 Validating Play asset bundle · adaptive icons → ✓14:03:11 Signing with Play App Signing (upload key)14:03:14 Uploading to Play Console (Forager 4.2.0/412)…14:03:38 ✓ Promoted to Internal testing track14:03:39 ⤷ Pre-launch report queued · 23 device matrix
Studio concepts · capability work

Three concepts that show the standard we hold Android to.

Three studio concepts, designed and built in-house as capability demonstrations — Material 3 discipline, form-factor range, native detail. Every rendering below is hand-built in code, not a screenshot. The production system we build and operate for real is our own SaaS platform.

Concept · Android
9:41
ForagerAS
Season · Autumn 2025
14.8 lb
Species11Sites7Walks23
ChanterelleSnohomish · 1.4 lb+18 XP
Lobster mushroomLake Forest · 0.8 lb+24 XP
HedgehogCougar Mt · 0.4 lb+12 XP
ForagerOutdoors · phone + Wear

A concept foraging companion for the Pacific Northwest — species ID, season tracking, on-watch live walks with haptic cues, offline maps. Built to show how we treat a phone-plus-Wear pairing.

ComposeWear ComposeCameraXMaps SDKGlance
2
Surfaces · phone + wear
M3
Design language
Offline
Maps-first
Concept · Android
9:41
BivouacEJ
Distance12.4 kmClimb+842 mETA3h 14m
Mt Pilchuck trailheadGranite Falls · 4.6 km1h 02m
Lookout saddleSwitchbacks · 5.2 km1h 38m
Summit & returnGranite scramble · 2.6 km34m
BivouacHiking · foldable + Wear

A concept trail navigator for backpackers — offline topo, foldable two-pane on Pixel Fold, Wear-led turn-by-turn, low-battery survival mode. Quiet, slow design language for big country.

ComposeWindowSizeClassWorkManagerMaps SDKWear OS
3
Form factors
2-pane
Foldable layout
Low-batt
Survival mode
Concept · Android
9:41
Suncloth
Long evening, slow rainOlafur · For Now I Am Winter
Bothell, six o'clockMix · 22 tracks1h 42m
Coast drive · northMix · 18 tracks1h 14m
Slow Sunday paperMix · 14 tracks58m
SunclothMusic · phone + Auto + Wear

A concept slow-radio app — curated mixes for hours, not algorithms for seconds. Android Auto and Wear playback, ExoPlayer-driven crossfades, Play Billing subscriptions.

ComposeMedia3 / ExoPlayerAutoWearPlay Billing 7
3
Surfaces · phone auto wear
Media3
Playback engine
Billing 7
Subscriptions
The studio

A boutique by design — a team, not a roster.

Every engagement gets senior engineers and a founder in the room. No offshore overflow, no “we'll staff it next week.” These are the people who lead your build.

Sam Kishline, MSc, MBA
Sam Kishline, MSc, MBA
Co-Founder · Technical Consultant · Engineering lead
EngineeringArchitectureMobile

11+ years of engineering, including Amazon. Sam leads the engineering on mobile builds — architecture, code review, and the standard every release has to clear before it ships.

Spencer Hoggart, MSc
Spencer Hoggart, MSc
CTO · AI/ML
AI/MLSystemsTooling

Spencer owns the technical direction of the studio — systems design, AI/ML integration, and the tooling that keeps builds fast and releases boring.

Backed by the full studioCindy Lugnuits, MBA (CEO & Co-Founder) · Patrick Williams (CMO) · Mark Lambert (Content Lead) · Andrew Neisch (Infrastructure Lead)
What we hold ourselves to

Standards we put in writing, in every contract.

We don't decorate this page with borrowed praise. Instead, here are the six operating guarantees we commit to — in writing — on every engagement. Hold us to them.

You own the repo from day one.

Your code lives in your organization from the first commit. No escrow, no handover ceremony at the end, no leverage held over you. Walk away any time and everything comes with you.

In every contract

A founder on every engagement.

You never get handed to an account manager. A co-founder is in the room — in the code, in the demos, reachable directly — from kickoff to launch and beyond.

In every contract

Senior people, start to finish.

A deliberately small senior team — no offshore overflow, no rotating cast. The people you meet on the first call are the people who do the work. We say no to projects rather than dilute that.

In every contract

A weekly demo, every Friday.

Working builds, not slideware. Every Friday you see the product run — on device — and steer the next week's work. If there's nothing to show, we tell you why, in plain language.

In every contract

Performance is the shipping bar.

We hold our web work to Lighthouse 100 and our Android work to the same discipline: cold-start budgets, jank budgets, and benchmarks in CI. Slow doesn't ship.

In every contract

Reply within one business day.

Every message gets a real answer from a real person within one business day — during the sale, during the build, and after launch. Usually much faster.

In every contract
How an engagement runs

Fixed-price discovery first. Then a steady rhythm.

Most projects follow this rhythm. Bigger ones get more sprints; smaller ones collapse into a single phase. Every project starts with a fixed-price discovery sprint so we both know what we're agreeing to.

Phase 01

Discovery sprint

Two days on-site (or remote video) with your team. Audit existing code if any. Device matrix planning. Architecture proposal. Fixed price, fixed scope.

Week 0–1
Phase 02

Design + foundation

Material 3 design system tuned to your brand. Compose component library. CI pipeline standing up. First playable build on Internal track by week 4.

Week 2–6
Phase 03

Build sprints

Two-week sprints with a working demo every Friday — on device, not slideware. A founder stays on the engagement throughout. Daily Slack channel.

Week 7–14
Phase 04

Launch + retainer

Phased rollout via Play Console (1% → 5% → 20% → 100%). Crash-free target ≥99.9%. Optional retainer for new versions, A/B tests, OS upgrades.

Week 15+
Frequently asked

Honest answers, on the record.

The questions we get on every first call. If yours isn't here, write to us — we'll write back within one business day, in plain language, from a real person.

How does pricing work?

The discovery sprint is fixed price, with deliverables you keep either way. After that, projects run time-and-materials with weekly burn caps so there are no surprises. We scope honestly on the first call — and we'd rather tell you a number is wrong for us than grow into it badly.

Do you only do Android, or full mobile?

We build native for both platforms — the same senior engineers, not separate silos. Where it fits, we use Kotlin Multiplatform to share business logic between Android and iOS; where it doesn't, we say so and keep the platforms honest.

Can you work with our existing Android team?

Yes — and we like it. On co-builds we bring senior engineers, design, and tooling into your existing team and lift the codebase together. We pair, we PR-review, we transfer everything. You own the repo from day one either way.

How fast can you start?

A discovery sprint can start within two weeks. A full build typically starts four to six weeks after the discovery sprint completes — most of which is contract and onboarding, not waiting for capacity.

What's your stance on Flutter / React Native / Cordova?

We don't take them on. Cross-platform UI tools have a place; that place is not in the apps we ship. We are an opinionated native shop — if a cross-platform framework is genuinely the right call for you, we'll say so and point you elsewhere.

Do you maintain after launch?

Yes. We offer a monthly retainer after launch, sized to your scope, covering OS upgrades, A/B tests, new device support, and small features. Cancel anytime, 30 days notice.

Where are you based?

Bothell, Washington, with deep PT/ET overlap. We travel — discovery sprints are usually on-site if you're anywhere reachable in a day.

Hire the studio

Let's build something worth keeping on your home screen.

A 30-minute call, no deck, no sales engineer. A founder and a senior engineer, and a fast read on whether we're the right team for what you want to ship.

At a glance
Studio
Odins3
Founded
2017 · Bothell, WA
Team
Senior · end to end
In production
SaaS we built & run
Demos
Weekly · Friday
Reply time
1 business day
Email
support@odins3.com
Start a brief

Tell us what you're building.

Six quick steps, two minutes. A senior team member reads every brief — not a form auto-router — and replies within one business day.

Step 1 of 6

Tell us about your company.

The basics — so we walk into the call already halfway up to speed.