Seasonal – Annual Calendar App

Summary

Seasonal is a Flutter web app designed to help users plan their year with clarity. Unlike traditional calendars that focus on daily events, Seasonal offers annual, quarterly, and monthly views to surface the big-picture items — vacations, school holidays, training goals, and quarterly priorities. Users can add color-coded, multi-day events and link them to different calendars. Built with Flutter, Supabase, and Bloc, this app brings a structured yet flexible approach to long-term planning.
A clean, visual planner to view your entire year at once

About the app

Seasonal is a Flutter web app I built to solve a common frustration: traditional online calendars make it easy to manage today, but almost impossible to plan for the year. Events like school holidays, big goals, vacations, or even quarterly focus areas often get buried in the daily noise.

With Seasonal, you can zoom out, see your entire year on one screen, and visually plan for what matters most. Whether you’re a runner planning races, a parent managing school terms, or someone working in 12-week sprints — this app brings clarity to your big picture.

Why I Built It
I couldn’t find a calendar app that let me see my whole year in a simple, clean way — and that made quarterly goal setting frustrating. Inspired by The 12 Week Year and Jesse Itzler’s Big Ass Calendar, I built Seasonal for deep planning and visual prioritization.

Features

  • 📅 Annual, Quarterly, and Monthly Views: See your entire year or zoom into a 3-month block.

  • 🎨 Color-Coded Events: Easily group by category (vacation, training, work, etc.).

  • 🔗 Linked Calendars: Events are stored in Supabase and can be tied to custom calendars (e.g., personal, school, running).

  • 🗓️ Multi-Day Events: Perfect for things like school holidays or trips that span a week or more.

  • 🔍 Big Picture Focus: Designed to surface high-impact, less-frequent events — the ones that matter but get lost in day-to-day planning.

Tech Stack

  • Flutter Web (built with a clean feature-based architecture)

  • Supabase for backend storage

  • Bloc/Cubit for state management

  • Canva for UI mockups and design planning

  • Hosted and deployed via Vercel for fast web access

My Role
I designed, built, and deployed the full app from scratch — including UI mockups, Supabase schema, and Flutter implementation. I focused on clean structure and future-proofing the codebase while keeping the scope tight.

What I Learned
This project sharpened my thinking on UI/data separation, and reinforced the importance of scoping tightly when building a personal productivity tool. I also deepened my skills in full-stack Flutter web deployment and Supabase database design.