Inspiration

What it does

How we built it

Challenges we ran into

Accomplishments that we're proud of

What we learned

What's next for Calendar

I recently started learning C#, and this is one of my first real projects. I wanted to build something practical, not just small console exercises. Since I’m connected to tutoring, I decided to create my own calendar application for a tutor, something simple, clear, and convenient for everyday work.

The main idea was to make a weekly schedule where lessons can be added, viewed, and managed easily. I also wanted to include a small subscription system to track how many lessons a student has completed.

I wanted to challenge myself and move from theory to practice. Watching tutorials is helpful, but building something from scratch forces you to really understand how things work.

I thought: “Why not create a tool that could actually be used in real life?” That’s how the idea of a tutor calendar was born.

I built the project using:

C#

Windows Forms (WinForms)

Visual Studio

JSON file storage for saving data

This project helped me understand:

How WinForms works (controls, panels, events)

How event handlers connect buttons to logic

How to work with DateTime

How to save and load data using JSON

How to structure a multi-file project

How to debug and fix errors

There were many problems along the way:

Lessons appearing on the wrong week

Data not clearing properly

Type conversion errors (like passing a List instead of an int)

UI elements not updating after changes

Old data still showing even when files were empty

One difficult part was synchronizing the UI with saved files. Sometimes data looked correct in code but displayed incorrectly in the calendar grid.

Another challenge was keeping logic clean when adding new features like subscriptions and student tracking. Final Result

In the end, I created a working tutor calendar where:

Lessons can be added and saved

Weeks can be switched

Data persists between sessions

Subscription tracking works

It’s not perfect, but it’s my first real C# project, and I’m proud of it.

In the future, I would like to:

Add editing and deleting lessons

Prevent time conflicts

Improve the design

Maybe connect it to a database instead of JSON

Try building a version using WPF

Built With

Share this project:

Updates