← Back to Home

Timeshare

Collaborative Calendar Sharing App

A cross-platform calendar app designed for people with irregular schedules. Quickly create, share, and manage events across multiple calendars. Perfect for nurses, healthcare workers, and anyone who needs flexible event copying without traditional recurrence rules.

[ Screenshot Placeholder ]

About

Timeshare is a Flutter-based calendar sharing application built for collaborative event scheduling. Unlike traditional calendar apps that rely on fixed recurrence patterns, Timeshare lets you quickly copy events to any dates by simply tapping them. This makes it ideal for people with rotating or irregular work schedules.

Share calendars with friends and family, manage multiple calendars with visual filtering, and view your schedule in month, two-week, or week formats. All data syncs in real-time across iOS, Android, and web.

Key Features

Quick Event Copying

Select an event and tap dates to copy it instantly. No complex recurrence rules needed for irregular schedules.

Calendar Sharing

Share calendars with friends via email search. Granular permissions for owners vs. shared users.

Multiple Views

Month, two-week, and week calendar displays. Toggle visibility of multiple calendars with filtering.

Visual Markers

Custom colors and shapes for events. Up to 4 visual markers per calendar day for quick identification.

Event Recurrence

Traditional recurrence patterns (daily, weekly, monthly, yearly) with optional end dates when needed.

Real-time Sync

Firebase-powered sync keeps all your devices updated instantly. Changes appear immediately for shared users.

Platforms

Timeshare is built with Flutter for true cross-platform support. One codebase, three platforms.

iOS Android Web

Tech Stack

  • Flutter - Cross-platform UI framework
  • Riverpod - State management with provider pattern
  • Firebase Auth - User authentication
  • Cloud Firestore - Real-time NoSQL database
  • Freezed - Immutable data class generation
  • RxDart - Reactive stream programming

Architecture

Timeshare follows a clean, layered architecture with clear separation of concerns:

  • Repository Layer - Abstract CalendarRepository with Firebase implementation
  • State Management - Riverpod providers and notifiers (no local state caching)
  • UI Layer - Flutter widgets with ConsumerWidget for reactive updates
  • Data Models - Freezed immutable classes (Calendar, Event, AppUser)

Firestore Security Rules enforce access control: calendar owners have full access, shared users can read and modify events but cannot change sharing settings.