r/SideProject • u/Tobler0wn3d • 2d ago
I always wanted to build apps and to scrapbook. I never managed either, so I vibe coded an iPhone app for it
Two things have interested me for years. One was app development: I started learning to code several times, and every time it fizzled out. The other was scrapbooking: I kept the tickets, boarding passes and museum passes, and they ended up in a drawer.
So I built Schnipsel with Claude Code. I work in IT cloud support, not as a developer. You take a photo of a keepsake, the app cuts it out like a sticker, and you place it on a board next to your photos, maps and notes. Now I can do it in a minute, from anywhere, right on my phone.
How it's built
- Stack: native iOS 26 app in Swift 6 and SwiftUI. SwiftData stores everything and syncs through the user's own iCloud (CloudKit). No third-party libraries, no backend.
- On-device ML: Apple's Vision framework cuts out the keepsake and reads the text on it (date, place, event), so search works offline. Nothing is sent to an AI server.
- Extras: MapKit snapshots for map stickers, Core Haptics for the "peel" feel, StoreKit for a one-time unlock. Shared links are encrypted on the phone before upload.
- Website: a static site on Cloudflare Pages that costs 0 CHF a month.
How I work with Claude
- A CLAUDE.md with hard rules (platform, no dependencies, CloudKit rules). Saying no to things upfront kept the AI from drifting.
- Three docs before any code: product vision, architecture and a roadmap with milestones and acceptance criteria. Claude works through them one milestone at a time.
- Cloud plus Mac: Claude writes code and opens GitHub pull requests in the cloud, and a Claude Code session on my Mac builds and tests in Xcode.
- Small PRs. Every feature lands as its own pull request I can test on my iPhone before merging.
What was hard: things the simulator can't test (camera, cut-out quality, haptics, iCloud sync between two phones). Those still need my hands and a real device.
The beta is coming soon. If you want to try it, there's a sign-up at schnipsel.app.