Dana OakesFounder
The player crashes on my Pixel when a squirrel notification comes in 😩 twice this morning
Development team, as a service
I'm Joshua. I've built mobile apps for 12 years, for companies like Etsy and Albertsons. Today I build with Claude Code every day, with a small senior team behind me. Your code and accounts stay yours, and you see every change, before and after, every week.
Each change reviewed by a senior engineer, with a before and after. See the week An invented example app. One real week of mine: 450 changes, 5 releases.
What we build
We ship production software with Claude Code every day. We know where it is fast, where it needs guard rails, and how to make it reliable on a real codebase: tests it must pass, review before merge, and a before and after picture of every change.
Claude Code set up for your team (instructions, skills, hooks, MCP tools, CI), agents that run your routine work on a schedule, and apps with AI inside: reports written by a model, documents read and turned into data.
We pick up an app that you or a builder tool (Lovable, Replit, FlutterFlow, Cursor) got started, make it solid, and take it to the App Store and Google Play.
Kotlin Multiplatform and Compose, SwiftUI and iOS, Android and Flutter, with Firebase or Supabase behind them. Apps with tens of millions of users included.
Start to finish
Follow one project from the first call to a shipped app, and every small detail in between.
A whole product team, sold like a product.
One weekly engagement, billed by the hour up to a cap you set. AI does the legwork, a senior engineer reviews every change, and everything runs on your accounts.
Follow Dana and Pawdcast, an example project
Dana shows us Pawdcast, what is broken and what she wants next. We leave with a plan, not a pitch deck.
Agents join your workspace and reply in seconds. A senior engineer is in every thread and approves the plan.
One senior engineer is Dana's point of contact. Specialists cover design, release and cloud; agent squads do the legwork.
Accounts and agents first, then dev, staging and prod for the whole stack, tests and fixes, and the first release.
Every change with a before and after and the number it moved. Dana reads it in two minutes and replies in the thread.
Pawdcast 4.0 is in both stores. From here it is a release every week, with Dana on the call.
Track record
Top Rated Plus and Expert-Vetted on Upwork
450
Changes shipped in a single week
on one product, counted and anonymised
5
Releases that same week
each with a before and after of every change
12+
Years building mobile apps
for Etsy, Bed Bath & Beyond, Albertsons and AT&T
100%
Changes reviewed by a senior engineer
AI does the legwork, a senior engineer signs off. Always.
The week's numbers were counted on one product and anonymised. The companies are Joshua's own career. The example products further down the page (Pawdcast, Moonmilk, Snackrobat) are fictional.
Slack, live
Agents sit in your channels and pick up every message, crash and request. They reproduce, fix, record a before/after clip and open the PR. A senior engineer reviews it, signs off and keeps you in the loop.
Works in your own Slack workspace. You own it; we are invited and removable. Fictional products, people and timings, shown for illustration.
Try it
Report a bug or ask for a feature on one of our fictional products. The agent answers the way it would in your Slack: what it found, the pull request, a staging link to try, when it ships, and which senior engineer is on it.
Hi, I'm the AI assistant for Pawdcast, Moonmilk and Snackrobat (all fictional). Ask me about a bug, a feature or a release.
Signals river
Crashes, reviews, payments, deploys and support tickets stream into #signals in your Slack. Agents triage each one in seconds: fix it, hand it to a senior engineer, or save it for the weekly update.
# signalsPawdcast HQ · and friends
live47 this week
Fixed automatically
PR opened, engineer-reviewed
9 this week
Escalated to an engineer
a human owns it in minutes
26 this week
Batched into the weekly update
shown with before/after
Illustrative: fictional products and events. Tool marks are trademarks of their owners, shown as examples of what we connect.
Agents at work
A crash grouped, a fix tested, a review approved, a build promoted. This is a normal hour on your product: agents doing the work in seconds, a senior engineer signing off on every step.
Example products and data, for illustration.
Works with your stack
Bring the product you already have. We plug into the tools it runs on today, on your accounts, and every one of them reports into your Slack. No rewrite, no migration to "our" stack.
13 tools in Product analytics
Events, funnels, cohorts and dashboards, wired into every feature we ship.
Not on the list yet. If it has an API or a console, we can wire it in during onboarding.
"Works with" means we build on and operate these tools in clients' own accounts. Names and marks belong to their owners and imply no partnership or endorsement.
Ownership
Your Slack, your GitHub, your cloud. Our engineers and agents join as members you invited, and you can remove every one of them with a single click. Try it.
6 guests connected
14 members 6 guests
100% of the code4 repos
dev staging prod
Everything is still yours: 1 workspace · 4 repos · 9 services · 3 environments.
Invited guests removable any time
Humans on top
Every client gets a named senior engineer as their point of contact, plus specialists in mobile, backend, infrastructure, product and QA. They run the agent teams, and nothing ships without them.
Joshua reviewed PR #482 and asked the AI for a smaller diffNadia approved the new episodes index the AI proposedSam promoted 3.9.0 (412) to stagingEric rewrote the paywall copy the AI drafted for DanaKai re-ran 43 acceptance checks on a Pixel 8Joshua stepped into #pawdcast-team: "I'll own this one"
Review every pull request
No agent merges alone. A senior engineer reads each diff, the tests and the before/after media.
100% of PRs
Own architecture
Data models, module boundaries, dependencies: decided by a human, written down, followed by agents.
Decision log
QA every release
Real devices, real accounts, the acceptance tree re-run before anything reaches your users.
Every build
Lead the weekly call
Your point of contact walks you through what shipped, what's next and what needs your call.
30 min / week
Steer the agent teams
Set priorities, split work, unblock, and step into any Slack thread the moment it needs a person.
All day
#482 Add Bark-to-Search
An agent can open a pull request in minutes. It still pauses at a human gate, every time.
Three environments
A safe place to try every change before your users see it. Not just the app: your backend, database and analytics run in three copies too, and nothing reaches your users without checks, a human review and your go-ahead.
#482 feat(player): Bark-to-Search · Pawdcast
dev.pawdcast.app
3.9.0-dev.14
staging.pawdcast.app
3.9.0 (412)
App Store · Google Play · web
3.9.0
Release train
Staging every day · production every Thursday · hotfixes any day
The weekly update
No vague status reports. Every Friday you get the release: each change with a before and after, a clip of it working, the number it moved, and who checked it. Here is one from a fictional client.
Pawdcast v3.9.0
Podcasts for dogs · Week 14 · Oct 6 – Oct 10
Voice search with a live waveform. Paws were never built for keyboards.
The player crashed on Android 15 when a squirrel alert arrived mid-episode. Now it keeps playing.
One name, a few vibes, a free trial. Everything else waits until the dog is hooked.
A low-glow theme that switches on after sunset, with a calm night walk mix up top.
Lazy treats: we load the home feed first and fetch everything else behind it.
Pawdcast is a fictional app made for this page. Real updates link every change to its pull request, its test results and a staging build you can open.
Cadence
Small pull requests merge every day, staging updates several times a day, and production ships on the same day every week. Here are the last 26 weeks of three fictional products.
Acceptance proof
A tree of everything your product does, each branch checked and dated. Not a test report once a quarter: a record that updates itself every time we ship.
2 checks to re-verify before release
A week in the life
Same rhythm every week, so you always know what's coming. Agents never sleep; your engineers keep the rhythm.
Everything you asked for last week becomes this week's plan. Your point of contact confirms priorities with you in the thread.
Merged work lands on staging the same day, with a preview link and notes for you to try on your own phone.
Thirty minutes led by your senior engineer: what shipped, what's next, and the two decisions only you can make.
The acceptance tree runs again on real devices against the release build. Anything amber gets fixed or verified before Friday.
Every change with a before/after picture or clip, the numbers that moved, and what goes to your users next.
Crashes, reviews, payments and errors are watched around the clock. Noise is grouped into one issue with a suggested fix.
When something real breaks, a named engineer is paged, acknowledges in minutes and owns it until it's fixed.
Coverage
Senior engineers work across three US time zones. Overnight, AI triages the crash, prepares the fix and hands a ready-to-review pull request to the first engineer who signs on.
--:--:--
UTC, live
Agents on watch
Next human handoff in --
Onboarding
From the first call to the first release. Agents start answering in your Slack on day one; by week four your whole stack runs in three environments and the first update is in your inbox.
Week 1
Invited into your Slack and GitHub. Agents start answering the same day.
You get
Week 2
Every tool you use starts talking to your Slack: crashes, analytics, deploys, reviews, payments, support.
You get
Week 3
Dev, staging and prod of the whole stack, with test gates between them. Acceptance trees for what already exists.
You get
Week 4
The first weekly update lands, every change with a before and after, and the first release goes out.
You get
Building it yourself?
We work alongside you: you keep building, we set up the foundations and watch them, week after week. Need less than that? We also coach by the hour while you build.
Book a callWhat usually bites at launch
Pricing
We work on your product every week and bill weekly by the hour, up to a weekly cap you choose. Raise it, lower it or pause it any week. No fixed quote that the real work outgrows.
Billed weekly
by the hour, for the work actually done
Your weekly cap
we never go over it without asking
Raise, lower or pause
any week, as your plans change
How a week with us works
An app needs care every week: fixes, store updates, new features and growth tests. We stay on it with you, at the pace you set.
We agree the hourly rate and your weekly cap on the call, before any work starts.
The team
Real people you can talk to. Every client has a named senior engineer and a few specialists who review every pull request, own the architecture, run the weekly call and keep the AI honest.
Founder · Principal Engineer
Senior engineer and UI/UX designer with 12 years in mobile, from startups to Etsy, Workday, Nike SNKRS and Axon. Founded Elevation Mobile.
UI/UX Designer
Theatrically trained UI/UX designer crafting intuitive app features from the user's perspective.
FAQ
Ownership, security, coverage and what happens if you leave. Anything else, ask us on a call.
Book a callMe, Joshua. You talk to me, not an account manager. I review every change, run the weekly call and bring in specialists for design, backend, QA and release when your product needs them.
Yes. We pick up apps that a founder or a builder tool got started, make them solid and take them to the App Store and Google Play. You can keep building alongside us.
You do. Everything lives in your GitHub organisation from the first commit, and every service runs on accounts you own. We are invited in as members, never owners.
It answers questions, triages signals, writes code, opens pull requests and runs tests around the clock. It cannot merge to production, change access, spend money or talk to your customers. A senior engineer reviews every pull request and approves every release.
Least privilege on your own accounts: scoped roles, service accounts where a tool supports them, secrets in your vault, never in code. Every access is listed for you and can be revoked in one click.
Nothing breaks. You already own the code, the environments, the Slack history and every account. Remove us, and your team or another one picks up from a clean repo with tests and docs.
Native iOS and Android, Kotlin Multiplatform, Flutter, React Native, the web (React, Next.js, Astro and friends) and the usual backends: Firebase, Supabase, AWS, Google Cloud, Azure, Rails, Node and Postgres. If it is in your repo, we can work in it.
AI replies in your Slack in seconds, at any hour. A senior engineer follows up within your working day, and production issues come first.
AI watches your signals around the clock. Engineers cover North American and European hours, and production issues come first.
Billed weekly by the hour, up to a cap you set. Raise it, lower it or pause it any week. No fixed quote that the real work outgrows.
Yes, happily, before the first call if you like. All work product and IP is yours, in writing.
Yes. They use the same repo, the same Slack and the same pull requests. The AI answers their questions too, and our engineers review their code like anyone else's if you want.
Agents on shift now · --:-- your time
Thirty minutes with a senior engineer. Bring an idea, a half-built app or a product with users; leave with a plan for your first week.