by day: Senior DevOps Architect / AI Architect @ Alerant
by night: solo developer. 6 apps shipped. 0 co-founders.
$
peterdongo.dev
ls ~/shipped
Six apps. One developer.
Fingertips
Everything you reuse, one keystroke away
macOS · iPadOS · iOS
FrostCam
Pause your webcam without the black screen
macOS
Névtárs
Choose a baby name as a couple
iOS · Android
MeterTab
Know how much AI you have left
macOS · iOS · watchOS
DropRoost
Track the price you actually pay
iOS · iPadOS · macOS
WarmCam
Look your best on every video call
macOS
?
[REDACTED]
A mystery app, written in Kotlin Multiplatform.
// shipping in 2 months
This talk is about the first one, and the hackathon it was built for.
open Fingertips.app
The paragraph you keep retyping, five letters away.
The email reply, the IBAN, the Wi-Fi card, the contract PDF. One library on iPhone, iPad and Mac.
4.6 ms
to search 5,000 snippets
0
servers of mine
cat SHIPATON.md
A hackathon where the deliverable is a shipped, paid app.
$740k
in prizes
26,449
developers registered
57
days left when I decided to enter
[x] a new app, first released inside the window
[x] live on a real app store // not a demo, not a repo
[x] takes payment through the sponsor's SDK
[x] a written entry and a demo video
the award I built for
Influencer Award: Productivity
Named judge: Christopher Lawley. $20k / $10k / $5k. One award, one judge, one app.
grep -ri "lawley" ~/internet | wc -l
I researched the judge like a customer.
The brief, verbatim
"one fast, focused place to save and retrieve reusable text snippets, documents, files, and images"
The suspect
230K YouTube subscribers. iPad-first. And he ships his own apps.
His three use cases
Canned email replies. Documents you show clients. Details you type into forms.
// his audience, by age (%)
61.5% are 25 to 44: people with clients, invoices and forms.
70% live outside the US, so the app ships in 12 languages.
stage: build · day 3
Day 3: the thesis dies.
The plan: a custom keyboard, so your snippets live exactly where you type. The target user: an iPad in a keyboard case.
Attach a hardware keyboard and iPadOS hides every on-screen keyboard. Including mine.
The one user I built it for was the one user who could not reach it.
wc -l WRONG.md
39
things I wrote down as facts that testing proved false.
#7 · build settings
The config key that vanished
A build setting silently dropped my payments API key. The app ran with purchases disabled and looked perfectly healthy.
#35 · the expensive one
The 14-day trial that never ended
Offline, the entitlement check failed open and never looked at the local trial. One launch on airport wifi turned 14 days into forever.
#14 · the polite one
Siri said "copied". It copied nothing.
A background process cannot write the clipboard. No error, no log, a cheerful success message.
None of them was ever an open question. The flat, confident voice in a plan is the tell.
stage: review · a mandatory code review by a stranger, with no SLA
Imagine your CI takes 24 days.
waiting in the queuetalking to a humanblocked: its purchase item was locked in the other queue
7 days
first commit to "submitted"
24 days
"submitted" to live in the store
1 day
the second Mac review, after I gave in
review: FAILED · 3 findings · 20 Aug
2.3.7
A price in a screenshot
Mine. Deleted the screenshot.
2.1(b)
The purchase item was missing
It was in the other queue. I had submitted it 28 seconds earlier.
2.4.5
Auto-paste needs an Accessibility permission
Argued it for two pages. Appealed. The answer: no.
So I deleted the feature.
Mac/Paster.swift | 190 lines → 40
++++++++------------------------------
$ nm -u Fingertips | grep -Ei 'AX|CGEvent'
(no output)
A review note cannot win an argument. It can make a removal checkable.
409
STATE_ERROR.NON_ACTIVE_APP "Offers can only be created for active apps." Launch-day bonus: approved is not active. The judges' free code could not exist until I pressed Release.
stage: submit · the part no build tool helps with
Then you have to explain it.
the text
Rule: short, and not AI-generated.
So I wrote it by hand. Like an animal.
the video
Four claims died on camera.
"The app never appears on screen." It does, for 1.2 seconds. "Search finds it first." Below my web history, actually.
0:44 of the first master. Every still I checked looked perfect, because ffmpeg auto-rotates when it decodes. A human found it in one viewing.
stage: judge · the field
Four in ten entries arrived in the last 36 hours.
// my category, after the close
3,914
entries
~20
eligible, in or near my category
6
real contenders
3
prizes
cat how-we-judge.md
How 3,914 entries actually get judged.
01 · a tool
Intake filter
Store link, video, assets. Your category comes from your own form answers.
02 · two screeners
Pre-screen
Watch the first 2 minutes. Score 1 to 5.
03 · 30 judges
Scoring
Read the description, watch 2 minutes, score 1 to 5, nominate.
04 · the sponsor
Final pick
1st to 3rd are chosen. One developer advocate installs the app first.
Until step 4, nobody has to install the thing you spent 57 days on.
Influencer Award: Productivity
the judge I built the whole app for: Christopher Lawley
not on the panel
yt-analytics --by source --after close
Nobody watches your video.
13 views in total, about 3 of them mine. One came from the judging side, and it watched all of it.
cat NEXT-TIME.md
The first 2 minutes of the video are the video.That is all a judge is asked to watch. Anything after it may never be seen.
Publish late: 12 to 24 hours before the close.My page was public for 8 days. Some late entries started to sound familiar. I can't prove a thing.
Run every platform claim on real hardware on day one.39 times, the docs, the simulator or I were wrong.
Budget two review rounds and a queue you cannot hurry.Build time was a week. Calendar time was a month.
cat ~/Mail/Inbox/shipaton.eml
One more thing.
From: RevenueCat
Subject: Your Shipaton result is
Body: Congratulations, or maybe not, who can tell
No email yet.
Winners are announced on 21 Oct. Ask me then, I will either be unbearable or very quiet.
1st
2nd
3rd
brew install --free fingertips
A gift, for sitting through this.
1. Get the appApp Store · iPhone, iPad, Mac
in the room only
2. Unlock it, freethe code was for the room on 13 Oct
Normally $9.99, once. Tonight: on the house.
exit 0
Thank you.
Ask me about the review queue, how the judging really works, or any of the 35 wrong facts I skipped.
peterdongo.dev
usefingertips.com
the write-ups: hackernoon.com/u/peterdongo
peterdongo.dev
assumptions_disproved: 0
00:00
→ next · ← back · F fullscreen · T timer · B black