What it is
Copout is a Magic-8-Ball for getting out of things. Pick your situation — running late or cancelling plans — then who you're dodging (work, a friend, or family), give your phone a shake, and out pops a believable, ready-to-use excuse from a hand-written library of 1,200. Tap "Use this one" and it copies straight to your clipboard and saves it — and Copout never offers you the same excuse twice. It runs fully offline: no account, no sign-up, no waiting.
Inspiration
Everyone knows the freeze of trying to invent a plausible reason to bail — and the worse feeling of reusing the same tired one. We wanted to turn that dreaded moment into a single shake: a fast, funny way out when you need one and your imagination's on empty.
How we built it
- SwiftUI + SwiftData, with the project generated by XcodeGen.
- The 1,200-line excuse library lives entirely on-device — no backend, no network call in the core loop — so it's instant and works offline.
- Monetization runs entirely through RevenueCat Ads over Google AdMob: a banner, a frequency-capped interstitial, and a rewarded video.
loadAndTrackwraps every ad call so impressions, clicks, and revenue report into one RevenueCat dashboard. - Google UMP handles consent and SKAdNetwork handles attribution. Non-personalized ads only — no IDFA request, no ATT prompt.
Challenges we ran into
- Funding a free app with ads without wrecking the "shake → laugh" loop — solved by tying each ad to a moment of user intent rather than raw volume.
- Keeping everything offline and instant.
- Guaranteeing an excuse never repeats within a category.
- Clearing App Store review, including an initial Guideline 2.1 information request.
What we learned
Using RevenueCat Ads as a single source of truth for ad revenue across formats made monetization measurable from day one — and that measurability is what shaped where each ad belongs. We also learned the unglamorous side of shipping: app-ads.txt / AdMob setup and the App Store review dance.
What's next
Seasonal and situational excuse packs, shareable excuses, and an optional AI mode for fully bespoke excuses on demand.
Log in or sign up for Devpost to join the conversation.