Inspiration
A few things aligned at the right moment and sparked the idea to finally build this app. I had been carrying around the concept of a couples app for some time, I wanted to sharpen my skills as a mobile developer, and this hackathon offered the perfect chance to do both while competing and creating alongside others in a fun environment. I also wanted to challenge myself and see how quickly I could develop an app and monetize it while doing so in public and sharing every step of the way.
In addition to the personal goals I had for this project, I saw an opportunity to create something practical and meaningful that didn’t seem to exist. After exploring the apps already out there, I became even more motivated to build Junto as a way to provide the value I felt was missing.
What it does
Junto helps couples discover events, plan goals and dates, and save memories in one shared space. It accomplishes this by combining four core experiences:
- Discover events - Users can browse curated local events tailored to their taste and location.
- Plan Together - Users can propose dates, vote on ideas, and create shared goal boards such as travel, finances and more.
- Stay Organized - Users can track goals, milestones, and plans in one shared space, keeping both partners aligned.
- Capturing Memories - Users can save photos, notes, and locations, turning completed goals and special moments into a shared timeline and map.
How I built it
Front-end:
- Kotlin and Compose Multiplatform for a shared iOS and Android codebase
- Koin dependency injection
- Decompose for shared navigation, lifecycle and state management
- Coil for image loading
- Firebase for analytics and crash reporting
- SQLDelight for caching
- Mapbox for map display and annotations
- Supabase-kt as a KMP client for Supabase
Backend:
- Supabase for PostgreSQL database, user authentication, file storage, and real-time data subscriptions
- OpenAI for sourcing local city events
- Prefect for automating the retrieval of city events on-demand and on a schedule
- Firebase Messaging for push notifications
- RevenueCat for paywall and payments
Architecture:
- MVI
- Repository pattern
Challenges I ran into
Technical challenges:
- Building a scalable pipeline for curating local events weekly across all unique cities
- Building a recommendation engine based on user/couple preferences
- Creating a system that allows users to inherit premium features from a subscribed partner
- Synchronizing data between users in a couple and providing real-time updates
Personal challenges: What I struggled with most during this hackathon, and have come to learn from watching others build in public, was knowing when something is good enough to ship and getting it out there quickly without dwelling on what's missing. Although it's clear to me that getting feedback early and iterating accordingly is the most efficient way to build a product, I often found myself trying to push past the feeling that the app was incomplete or that I might lose the chance to capture a user because not enough value was being delivered.
What I learned
- Building an app with KMP and CMP
- Market research and competitive analysis
What's next for Junto
- Promote and advertise the app
- Gather user feedback and refine features for V2
Log in or sign up for Devpost to join the conversation.