#S2E14
The keypad refused every digit after 0.08 BTC.
The limit came from how bitcoin is printed on a price tag: 2 decimals. Useless if you actually hold some.
Crypto now goes down to a satoshi, 8 decimals, and 2.53125 BTC stays 2.53125.
#buildinpublic#indiedev
#S2E13
Not every currency has 2 decimals. Yen has none. The Kuwaiti dinar has three.
My first version forced 2 on everything. Now each currency uses its own.
And "$", "CA$" and "A$" all show as "$". The flag next to it already says which one.
#buildinpublic#indiedev
@dkhaburdzania I run a Claude Code audit before every submit too. It caught loads, but Apple still bounced my first app asking for a video of it on a real device. Does your skill help prep reviewer notes or demo videos?
@AppLauncher_App A small app with a tiny user base can't ask new users to learn custom gestures. Native means zero extra effort for someone who just opened it for the first time.
#S2E10
My first reorder was a hand-made drag gesture.
I replaced it with SwiftUI's built-in edit mode. The drag handle, haptics and VoiceOver came for free, and work the way iPhone users expect.
Custom is a cost. Pay it only where it's the point.
#buildinpublic#indiedev
@aksenHQ Nothing. Claude Code read my description and rebuilt the drag from scratch instead of using the native one. Catching that is exactly where experience pays.
@foreseeingx@pfernan95dev What was the privacy CTA rejection about? I have Claude Code audit the app against the review guidelines before every submit, and I'm curious if it would've caught that one.
#S2E11
I needed 146 flags. I took an open-source SVG set and dropped it into Xcode.
Japan rendered as a half-moon. The EU flag became a plain yellow disc. No warning. ๐งต
#buildinpublic#indiedev
@AxialisSoftware Spot on. Ended up pre-rendering everything to PNG to bypass Xcode's SVG quirks altogether, but a contact sheet diff is a great idea for catching these early."
@The_CozyDev It went through after the video, and it's been live since Oct 7 ๐ Funny how the one thing the audit couldn't check was the one Apple asked for.
https://t.co/gNjbwzhFUf
@corhoonx Not rounding in the end. My rates feed publishes one file per base and they updated on different days, so USDโEUR and EURโUSD weren't exact opposites. Now I fetch one table and derive every other base from it.
The fix: download one table and work out every other base from it. Now every pair is an exact reciprocal.
Ten switches later: $100.00. And switching base doesn't need the network at all anymore.
A tiny mismatch alone is harmless. But every base switch multiplied the already-converted amount by a fresh rate, so the error stacked up in one direction.
The worst pair, GBP/ILS, drifted about 2%.
Why not emoji flags? Apple draws them waving, with curved edges, so they leave gaps when you crop them into a circle.
The square flag set fills the circle at every size.
Xcode's asset catalog supports only part of SVG, and silently drops clipPath (47 of the files) and <use> (38).
Fix: a script renders each flag to PNG at three sizes. 2.5 MB of files compile down to 416 KB.
@ericcosulea localizing the listing into a few more languages, and App Store in-app events, which can show up in search. Both live in App Store Connect, so they cost an afternoon, not a budget.