Inspiration
Every app on your phone is designed to make you seek validation from others: likes, comments, streaks, follower counts. The hackathon theme was "self happiness," and we kept asking: what would an app look like if it helped you recognize your own growth instead of comparing yourself to everyone else?
Two ideas collided. Journaling doesn't stick because it feels like homework - but what if your reflections literally built a piece of art over time? And psychologists have shown that anticipating a positive event often generates more happiness than the event itself - so what if an app could amplify that anticipation?
We merged both into Mosaic Space: reflect on who you are, look forward to what's coming, and watch both come to life visually on your phone.
What it does
Mosaic - Your reflections become art. Each day the app asks a thought-provoking question. You write a short response. Using Apple's on-device Natural Language framework, the app analyzes your sentiment and assigns a color - warm tones for achievements, cool tones for peace, bright tones for joy, deep tones for growth. That color fills in one region of a mosaic template - a lotus flower, a sunrise, a butterfly, or a tree of life. After 30 reflections your mosaic is complete: a unique piece of art colored entirely by your emotional journey. Then you start a new one.
The prompts evolve as you progress - starting light ("What made you smile today?") and becoming deeper ("What does happiness mean to you - not to anyone else?") as you approach completion.
Perspective - Make the future feel closer. Add events you're looking forward to - graduation, a trip, anything. Instead of a boring countdown, the app reframes time: "That's only 8 weekends away," "You're closer to this than you were to last Christmas." It generates vivid on-device previews of what the experience will feel like and shows beautiful visualizations - a week grid that fills in, a progress ring, and comparative timelines.
Everything runs on-device. Your reflections never leave your phone. No accounts, no cloud, no data collection.
How we built it
Native SwiftUI targeting iOS 18+ with SwiftData for persistence. Zero third-party packages. Zero external APIs.
Sentiment analysis runs through Apple's NLTagger with keyword matching layered on top to classify entries into four emotional categories. Perspective reframing uses a two-tier system: pure Swift math for instant reframes (weekend counts, sleep counts, progress percentages) and Apple Intelligence on-device for vivid previews and preparation nudges.
Mosaic templates are hand-crafted SwiftUI Path definitions - 30 regions that tile together to form recognizable artwork, each filled with sentiment-derived colors as entries come in.
Our team of 5 split across 3 Mac developers writing SwiftUI in Xcode with Claude as an AI coding agent, and 2 teammates contributing Swift logic via VS Code. We used a Git branching strategy with main → dev → feature branches, merging through dev for integration testing.
Challenges we ran into
The mosaic concept went through three identity crises. Version one was colored tiles in a grid - looked like a spreadsheet. Version two used hexagonal slots - still just separate pieces. It took multiple iterations to land on pre-designed artwork templates that reveal themselves piece by piece. The shift from "grid of tiles" to "one painting colored by your emotions" was the breakthrough.
Sentiment differentiation was harder than expected. Apple's NLTagger classified "I laughed really hard" and "I completed 100 push ups" identically. We had to build a keyword-priority layer on top of the raw score to get meaningful color variation.
Two teammates didn't have Macs capable of running Xcode. We explored cloud Macs, MCP servers, and remote build tools before landing on the simplest answer: they write Swift in VS Code, push to Git, a Mac dev pulls and builds.
We also scrapped an entire Python FastAPI backend mid-hackathon after discovering Apple's on-device AI handled everything we needed. Letting go of working code was tough but made the product stronger.
Accomplishments that we're proud of
The app runs entirely on-device with zero external dependencies. No API keys, no servers, no accounts. "Your happiness is yours" isn't just a tagline - it's the architecture.
The mosaic reveal moment is genuinely beautiful. Watching a lotus flower slowly come to life in your own emotional colors over 30 days of reflection is something we haven't seen in any other app.
The progressive prompt system - questions that start simple and grow deeper as you fill your mosaic - creates a real sense of journey. Entry 1 asks "What made you smile today?" and entry 30 asks "Your mosaic is almost complete. How do you feel?"
We shipped a polished native iOS app with adaptive light/dark theming, haptic feedback, smooth animations, onboarding, and authentication - all in 48 hours with a team that had never worked together before.
What we learned
On-device AI is massively underrated. Apple's Natural Language framework and Apple Intelligence handle sentiment analysis and text generation without any cloud dependency. Not everything needs an API call.
The best pivots come from constraints. The hackathon rules, our hardware limitations, and the "self happiness" theme all pushed us toward a better product than our original plan.
Design iteration matters more than code volume. We rewrote the mosaic three times. The final version has less code than version two but is ten times more compelling.
Privacy can be a feature, not a limitation. Users are tired of every app harvesting their data. Building on-device-first made the product better and the pitch stronger.
What's next for Mosaic Space
- More mosaic templates - community-submitted designs, seasonal themes, and templates that unlock as you complete mosaics
- Export and share completed mosaics as phone wallpapers or social posts (just the art, not the reflections)
- Apple Watch companion for quick reflection logging with haptic celebration
- Home screen widget showing current mosaic progress and the next perspective reframe
- Morning notifications with today's prompt and a fresh reframe for upcoming events
- Long-term emotional analytics across multiple completed mosaics - visualize your patterns over months
Built With
- swiftui
- xcode
Log in or sign up for Devpost to join the conversation.