Context
Modern productivity has become fragmented. While apps for task management, planning, organization, and automation each excel in different areas, many users rely on several tools throughout a typical day to manage their personal and work life. Some prioritize simplicity and speed, while others focus on flexibility, customization, or automation. However, this often forces users to choose between a focused experience and the capabilities needed to support their entire workflow.
This project became Mosaic, an exploration into reducing context switching by bringing together the essential pieces of modern productivity into one cohesive experience.
Competitor Analysis
Existing productivity tools tend to optimize one stage of the workflow exceptionally well while neglecting others. To better understand the landscape, I compared the strengths and trade-offs of several widely used applications.
The challenge was identifying which features provide meaningful value to users and integrating them in a way that improves the workflow without adding unnecessary complexity.
Things 3
- Beautiful UX
- Organization
- Simplicity
- No NLP
- No attachments
- No location reminders
- No AI workflows
Todoist
- Natural language input
- Collaboration
- Less polished visual experience
TickTick
- Calendar
- Habits
- Pomodoro
- Feature-heavy interface
Apple Reminders
- Native integrations
- NLP
- Location reminders
- Limited organization
Motion
- AI scheduling
- Expensive
- Highly automated
Notion
- Flexible information management
- High setup cost
- Slower capture
Key Insight
Every application solves a different productivity problem well, but no single product combines fast capture, thoughtful organization, contextual reminders, and intelligent assistance while maintaining a clean, minimal experience.
User Research
To understand how people manage their productivity workflows, I analyzed 200+ user discussions across popular productivity platforms. Rather than focusing on isolated feature requests, I identified recurring patterns in how users capture tasks, organize information, and manage their daily workflows.
Research Sources
Key Research Findings
Task Capture
Users struggle with quickly capturing ideas and turning them into actionable tasks.
Fragmented Workflows
Users rely on multiple applications to manage tasks, notes, calendars, and reminders.
Contextual Organization
Users want tasks connected to relevant context such as deadlines, locations, and attachments.
AI Assistance
Users are interested in automation that reduces repetitive work while keeping them in control.
Findings
After synthesizing community feedback, four themes consistently emerged.
Users don't want another productivity app.
They want fewer productivity apps. Many workflows involve switching between a task manager, calendar, notes app, reminder app, and AI assistant throughout the day.
Capture should feel effortless.
Users naturally think in phrases. Modern task entry should understand intent instead of requiring multiple manual inputs.
- “Email Haley tomorrow.”
- “Pick up groceries when I leave work.”
Context matters.
Many tasks depend on where someone is, what meeting they just attended, or what document they're referencing. Users repeatedly requested features like:
- Photo attachments
- File attachments
- Location-based reminders
- Calendar awareness
Product
Inspired by Things 3’s simplicity, Mosaic brings modern productivity features into one cohesive experience.
Natural Language Task Entry
Create structured tasks by typing naturally, such as "Email Haley tomorrow at 2 PM."
Photo & File Attachments
Keep screenshots, PDFs, and reference materials directly connected to the task they support.
Location-Based Reminders
Trigger reminders based on arriving at or leaving specific locations.
Calendar & Reminders Sync
Stay in sync with existing calendar and reminders apps.
Final Product
Today
Tasks on the daily.
Inbox
Similar to the Notes app — jot down upcoming tasks without a date that need to get done.
Upcoming
Syncs with your calendar and shows your upcoming schedule.
Search
Search by task or tag.
Settings
Appearance and syncs.
How I Built It
NSRegularExpression
I wrote my own parser to catch dates, times, ranges, recurring days, and #tags as you type — no ML model, no external API, just regex and word-boundary matching.
SwiftData
Everything's stored locally — tasks link out to their attachments and other records through @Relationship.
PhotosUI & .fileImporter
Photos come in through PhotosPicker, other files through .fileImporter, and I copy both into the app's own Documents folder so they stick around.
CoreLocation
Location reminders run on CoreLocation geofencing (CLLocationManager + CLCircularRegion), so they still fire in the background even when the app's closed.
EventKit
Calendar and Reminders sync in read-only through EventKit, so your existing events just show up alongside your tasks in Upcoming.