- Android – Dependency Injection with Hilt
What Hilt actually generates, @Inject constructors, modules with @Provides and @Binds, components and scopes as lifetimes, qualifiers, @HiltViewModel, and swapping the network for fakes in a test — set against the hand-written composition root the iOS version of this app uses instead.
- iOS – Build Configuration, CI and Shipping
xcconfig files so a build setting is reviewable, Info.plist keys a custom plist makes you own, signing and what actually needs an Apple account, a CI workflow that checks the committed project still matches its manifest, and the archive-to-App-Store path with the rejections worth avoiding.
- AI-Assisted Engineering – Planning: The Plan Is the Contract
Plan mode, a written plan split into reviewable steps, and a progress report that survives the session. The plan is what you review every later diff against, so it is worth more of your attention than any single line of code.
- Android – App Architecture
Layers with dependencies pointing inwards: repository interfaces in the domain, Retrofit in the data layer, a pure reducer for the rules and a store for the effects, and unidirectional data flow from StateFlow to screen and back. With the parts of Google's guide this app follows and the parts it skips.
- iOS – Previews, Linting and the Tools Around the Code
A preview that needs a running backend is a preview nobody uses. Stub repositories so every screen renders instantly — including its failure state — plus SwiftLint and SwiftFormat configured to catch what review keeps catching, and the Instruments templates worth knowing before you need them.