Inspiration

Work often starts with a simple but surprisingly emotional question: “Do I want to go to work today?” We wanted to turn that feeling into a lightweight daily ritual that helps users acknowledge their mood without judgment. The pairing feature was inspired by the idea of sharing that small moment with someone close.

What it does

today.work lets users record whether they want to go to work each day. It recognizes workdays, weekends, public holidays, and compensatory workdays in China.

The app also provides:

  • Historical calendar views and streak statistics
  • Optional iCloud synchronization
  • One-to-one mood pairing
  • Home Screen and Lock Screen widgets
  • Onboarding and Chinese/English language support
  • Light and dark mode

How we built it

We built the app with SwiftUI and used a simple local data model for daily mood records. Shared App Group storage allows the main app and widgets to access the same data.

WidgetKit powers the Home Screen and Lock Screen widgets. Supabase provides the backend for pairing users and synchronizing partner mood updates. The interface uses SwiftUI’s reactive state management so changes are reflected immediately throughout the app.

Challenges We Ran Into

One challenge was handling Chinese holidays and compensatory workdays, which do not follow a simple weekday-based rule.

We also had to coordinate data between the main app, widgets, local storage, iCloud synchronization, and the pairing service. Supporting runtime language switching added another layer of complexity because both SwiftUI views and widgets needed to update consistently.

Accomplishments That We're Proud Of

We are proud that the app remains intentionally simple while still supporting meaningful features. A single daily choice can be viewed in a historical context, shared with a partner, or accessed directly from a widget.

We also created a calm interface that treats work-related emotions as something worth noticing rather than judging.

What We Learned

We learned that small products require careful attention to edge cases. Calendar logic, localization, state synchronization, and widget limitations all had a significant impact on the final experience.

We also learned how important it is to keep the core interaction focused. Every additional feature should support the daily reflection instead of distracting from it.

What's Next for today.work

Future plans include:

  • More detailed mood options and personal notes
  • Better cross-device synchronization
  • Additional widget styles and customization
  • Trend analysis over longer periods
  • More regional holiday calendars
  • Optional reminders and notification scheduling

Built With

  • app-groups
  • calendar
  • combine
  • dark-mode
  • deep-links
  • foundationdb
  • icloud
  • ios
  • json
  • localization
  • mobile-app
  • mood
  • productivity
  • rest-api
  • supabase
  • swift
  • swiftui
  • userdefaults
  • widgetkit
  • xcode
Share this project:

Updates