About the project — GitViz
I built GitViz because dashboards shouldn’t feel like doing taxes. It turns your repo activity into simple, glanceable insights you can actually use: streaks, review velocity, contributor impact, and where your codebase is quietly yelling for help.
Why I built it
- I love data storytelling, but most Git dashboards are noise-first, insight-later.
- I wanted something fast, offline-friendly, and native that respects my attention span.
- Also: I’m lazy. If an app isn’t one-tap useful, I won’t open it again.
How I built it
- Stack: Kotlin Multiplatform for shared domain logic, Compose for Android UI, SwiftUI shell on iOS for navigation and native polish.
- Automation: Fastlane for builds, UI/snapshot testing, and App Store screenshot pipelines (across iPhone/iPad sizes).
- Monetization: RevenueCat for entitlements/paywall logic without yak shaving.
- Testing: Snapshot/UI tests for key states (loading/empty/error/content) so screenshots and regressions don’t fight me.
What I learned
- KMP is great for shared logic; you still need platform-native finesse to feel truly “at home.”
- Automating screenshots saves hours and keeps visual regressions honest.
- Clear state modeling (loading/empty/error/content) makes UI code boring—in the best way.
Challenges (aka the fun bits)
- Bridging SwiftUI with the KMP layer cleanly (lifecycle, threading, observation).
- Making charts buttery-smooth on lower-end devices.
- Handling GitHub pagination/rate limits without turning the app into a spinner simulator.
- Deterministic UI tests across simulators and locales. Flakes be gone.
Highlights
- Glanceable dashboards with opinionated defaults (good taste > 50 toggles).
- Offline-first reads with smart refresh.
- Thoughtful empty/error states so users never hit a dead end.
What’s next
- Deeper contributor insights (file ownership, review velocity, hotspots).
- More chart types + custom time windows.
- On-device anomaly detection for weird repo days.
- Team views with shared baselines and gentle “hey, maybe look here” alerts.
If Shipaton wants tighter word counts or specific prompts (impact, tech, learnings), point me at the form and I’ll tailor this to fit.
Built With
- compose
- jetpack
- kmp
- swiftui
Log in or sign up for Devpost to join the conversation.