Day 31 of 100 Days Coding Challenge: Python
Back in the pre-Google-stone age, I was the kind of person who printed out monthly calendars like I was running a tiny print shop. Menu plans, exercise routines, music lessons, sports schedules—you name it, it lived on my calendar. When I was a student, if it wasn’t written down, it didn’t exist. My calendar was my brain’s external hard drive. Fast forward to my first real adult job: I marched into a store and proudly bought myself a Franklin Covey agenda. The deluxe version. It felt like holding the crown jewels of time management. I’ve always loved the feeling of flipping to a fresh week, filling it with possibility (and color-coded chaos). So, when I realized I could make my own Python calendar app from scratch? Let’s just say I had a moment. Sure, it’s not going to dethrone Google Calendar anytime soon, but it’s mine—and it doesn’t send me passive-aggressive push notifications.
Today’s Motivation / Challenge
Calendars are one of those tools we don’t think about until we need them—or lose them. Today’s project taps into the part of us that loves order, hates forgetting birthdays, and secretly dreams of color-coded to-do lists. Building a calendar app is a great way to connect programming with everyday life. Plus, who doesn’t want to click a button and feel like they’ve conquered time?
Purpose of the Code (Object)
This little app lets you view any month and year in a simple graphical layout. You can click on a day to add a note (because you will forget Aunt Susan’s birthday), and today’s date gets a nice highlight so you don’t accidentally time-travel. It’s not fancy, but it’s useful—and surprisingly satisfying.
AI Prompt:
Add features to highlight today’s date, allow users to click on a date to add a note, and save those notes in a local file. Keep the interface clean and simple.
Functions & Features
- View any month and year in a calendar grid
- Highlight today’s date in green (because you deserve attention)
- Click on a date to add a note or reminder
- Save notes automatically in a JSON file
- Bold and blue font indicates a note exists
Requirements / Setup
Python 3.x
No external packages required
Minimal Code Sample
btn = tk.Button(…, command=lambda d=day: self.add_note(d))
if day == today.day and month == today.month and year == today.year:
btn.config(bg=”lightgreen”) # Highlight today’s date
This sets up each calendar button and highlights today’s date.
Notes / Lessons Learned
This time, I jumped right into the GUI version because—let’s be honest—it’s way more fun to see a calendar than to stare at a wall of text. At first, all it did was show the month. Cool… but also about as interactive as a printout taped to your fridge. So I started tinkering. First, I made it highlight today’s date—because every hero needs a spotlight. Then I added the ability to attach notes to specific days. Now, do those notes pop up when you hover or click? Not yet. But the font turns blue and bold, and that’s enough to make my inner calendar nerd happy. For someone who thrives on color-coding their life down to what to eat on Tuesday, this project hit all the right buttons. Literally.
Optional Ideas for Expansion
- Add a note viewer pane to display saved events when clicked
- Export notes as a CSV for your future time-travel journal
- Add color tags for event types (work, personal, world domination)

