"Distance fades with every moment."
A private, minimalist photo-sharing application built for couples, delivering photos directly to your Android Home Screen widget.
Epoch is a private photo-sharing application designed exclusively for couples. Instead of sending photos into crowded chat groups or social media feeds, Epoch lets you share photos directly with your partner - displaying their latest photo live on your Android Home Screen Widget.
When your partner captures a moment and hits Send, your home screen widget automatically updates. You don't even need to open the application to stay connected.
- Private Couple Connection: Pair securely using a unique 8-character Share ID.
- Live Home Screen Widget: Full-bleed Jetpack Glance widget with an instant, background-capable Refresh button.
- Instant Photo Sharing: Fast 2-step S3 presigned photo upload pipeline for high-resolution images.
- Celestial Sun & Moon Aesthetic: Custom-crafted dark space navy & sun-gold theme derived directly from the app logo.
- Disconnect & Control: Easily manage or disconnect partner pairing at any time from your profile.
- One-Tap Widget Pinning: Request system widget placement directly from inside the app.
- Sign Up & Share ID: Each user receives a unique Share ID upon registration.
- Connect Partner: Exchange Share IDs to establish a private, bidirectional link.
- Send & Display: Upload a photo from your gallery - your partner's home screen widget updates automatically!
- Widget Refresh: Press the floating
↻button on your widget anytime to sync the latest photo in the background.
Epoch is engineered using modern Android development practices and scalable cloud backend architecture.
- Kotlin: 100% modern Kotlin codebase.
- Jetpack Compose: Declarative UI built with Material Design 3 design system tokens and micro-animations.
- Jetpack Glance (1.1.0): Native Android Home Screen AppWidget framework with background
BroadcastReceiverintegration. - Retrofit 2 & Moshi: Type-safe REST client with JSON adapter serialisation.
- Coil: Fast, asynchronous image loading with memory & disk caching.
- Android Architecture: MVVM (Model-View-ViewModel) with Kotlin Coroutines and StateFlow.
- AWS Lambda: Node.js microservice architecture.
- Amazon DynamoDB: Scalable NoSQL database storing user profiles and partner linkages.
- Amazon S3: High-performance object storage utilizing S3 Presigned URLs for direct 2-step client uploads.
- JWT & bcrypt: Secure JSON Web Token authentication with salted password hashing.
For detailed backend API contracts, request/response schemas, and AWS Lambda endpoint specifications, please refer to the full API Documentation.
Crafted with ❤️ for couples everywhere.




