Weather Up! (And API Down… Then Up Again)

Day 11 of 100 Days Coding Challenge: Python

Let’s talk weather. Today’s project is a Python weather app using the OpenWeatherMap API—because there’s nothing like stepping out in a parka when it’s 80 degrees and sunny. I wanted a tool that would tell me if the sky is smiling or sobbing.

My goal? Get the current weather description (like “clear sky” or “air you can drink”), temperature in both Celsius and Fahrenheit (because I live in Celsius and my husband lives in Fahrenheit—we’ve agreed to disagree), and humidity (mostly for hair-related decisions). If this app could avoid one argument about overdressing, it would already be worth it.

Today’s Motivation / Challenge

The motivation was simple: make a useful, real-world app that doesn’t just live in the land of console output. Also, this was the perfect excuse to play with an API and brush up on Python’s ability to talk to the internet like a well-mannered bot. Plus, nothing says “grown-up developer” like a weather app you built yourself.

Purpose of the Code (Object)

This program lets you type in a city name and then fetches the current weather for that location. It displays the weather description, temperature in both Celsius and Fahrenheit, and the humidity. It’s a lightweight, beginner-friendly way to explore APIs, data handling, and basic user interaction with Python. No fancy dashboards, just solid weather facts.

AI Prompt: Make it cleaner

Create a simple Python weather checker using the OpenWeatherMap API. It should take a city name as input and return weather description, temperature in Celsius and Fahrenheit, and humidity. Keep it beginner-friendly and avoid unnecessary complexity. Please make the code for the GUI.

Functions & Features

  • Fetches real-time weather for any city using OpenWeatherMap API
  • Displays weather description, temperature (°C and °F), and humidity
  • Supports basic error handling (invalid city names, bad API keys, etc.)

Requirements / Setup

  • Python 3.x
  • requests library

pip install requests

Minimal Code Sample

response = requests.get(f”https://api.openweathermap.org/data/2.5/weather?q={city}&appid={API_KEY}&units=metric”)

data = response.json()

temp_c = data[‘main’][‘temp’]

temp_f = (temp_c * 9/5) + 32

Weather Checker App

This little stretch of code is like your personal weather butler. First, it knocks on OpenWeatherMap’s digital door and politely asks, “Excuse me, what’s the weather like in [city] today?” Then it grabs the answer, digs into the juicy details, and pulls out the temperature in Celsius. But wait—because not everyone lives in metric harmony—it whips out its calculator and converts it into Fahrenheit, just in case someone in the household insists on imperial drama.

Notes / Lessons Learned

I got the code, ran it… 401 error. Unauthorized. Rude. I copied the API key. I pasted it into my browser like so:
https://api.openweathermap.org/data/2.5/weather?q=Chicago&appid={API key}

Still 401. I stripped the key just in case it was haunted by invisible characters:

 API_KEY = “your_api_key”.strip()

Nada.

Then I tried curl from the command line like a tech-savvy detective:

 curl “https://api.openweathermap.org/data/2.5/weather?q=Chicago&appid={API_KEY}&units=metric”

 And BOOM—it worked!

Turns out my API key hadn’t activated yet. (Yes, that’s a thing. No, I didn’t read the fine print. Yes, I will next time. Maybe.)
Once the key was activated, I plugged it into my app and voilà—weather at my fingertips.

Optional Ideas for Expansion

  • Add a simple GUI with tkinter
  • Show weather-based icons or descriptions (e.g., “Bring an umbrella” for rain)
  • Include a 3-day forecast by upgrading to the OpenWeatherMap One Call API

Hangman: Now With 100% More Drama

Day 10 of 100 Days Coding Challenge: Python

Today, I felt bold. No more basic calculators. No more polite input prompts. I wanted to make a game—something a little more chaotic good. So I chose the classic: Hangman. But not just any hangman. Oh no. I wanted emojis, buttons, sound effects, and drama.

The goal? Create something that could rival middle school memories, minus the chalkboard and emotional scarring. I didn’t just want to code—I wanted a full-blown performance. One wrong guess and boom, a dramatic sound plays. It’s Hangman, but with flair like Shakespeare meets Tkinter.

Today’s Motivation / Challenge

Games are fun to build because they feel alive. They react, they make noise, they mock your guesses (sometimes too quickly). This project allowed me to apply everything I’ve learned so far—logic, GUIs, and user input—but in a playful way. It also scratched that nostalgic itch of typing letters into a school computer and hoping not to draw the stick figure’s head. Plus, there’s something weirdly satisfying about pushing a button and hearing a ding. It’s Pavlovian, really.

Purpose of the Code (Object)

This project creates a simple Hangman game with a graphical interface. The player guesses letters by clicking buttons, and the game shows progress with emoji art and sound effects. It’s a fun and interactive way to practice conditionals, loops, and GUI design—without requiring any advanced programming knowledge. Beginners can build it, play it, and immediately annoy their family with the sound effects.

AI Prompt: Make it cleaner.

Create a Hangman game in Python using Tkinter. Include emoji-based visuals for the hangman and sound effects for correct, incorrect, win, and lose outcomes. Add a restart button to replay without restarting the app.

Functions & Features

  • Button-based letter guessing (no typing required)
  • Emoji visuals that change with each incorrect guess
  • Sound effects for correct, incorrect, win, and lose outcomes
  • Restart button to play again instantly
  • Tracks lives and guessed letters in real time

Requirements / Setup

  • Python 3.x
  • Tkinter (comes with Python)

Install playsound module (use this version!):


pip install playsound==1.2.2

Minimal Code Sample

from playsound import playsound

def guess_letter(letter):

    global lives

    if letter not in secret_word:

        lives -= 1

        playsound(“wrong.wav”)  # Plays sound for wrong guess

This plays a sound when the user guesses incorrectly.

hungman_gui

Notes / Lessons Learned

Turns out version 1.2.2 of the playsound module works best, so if you try this at home—just skip the suffering and install that one. You’re welcome. I grabbed a few .wav files from freesound.org, which is great, but somehow every username I tried was taken. Even “CodeWizard47” and “ILoveLoops.” Apparently I’m not special. Also, be warned: your .wav files must be in the same folder as your script unless you create an asset folder and specify the path.

Sound + visuals = more chaos to debug, but also way more fun to play.

Optional Ideas for Expansion

  • Add a timer to increase the pressure
  • Create categories (animals, tech terms, random snacks)
  • Keep score across rounds or show a leaderboard

Split Happens: A GUI Tip Calculator That Doesn’t Judge

Day 9 of 100 Days Coding Challenge: Python

Once upon a time—aka last year—I built my first tip calculator in Python. It lived in the command line, wore black, and gave off strong hacker-in-a-diner vibes. You’d open the terminal, type in your numbers, and squint like you were breaking into a Michelin-starred mainframe.
Fast forward to today: that humble little tool got a much-needed makeover. Out with the minimalism, in with the buttons and window dressing. I gave it a GUI, added some visual flair, and—because I can’t resist—threw in a few emoji just for the drama. Because splitting the check shouldn’t feel like tax season, it should feel like friendship, math you can trust, and just a dash of fun.

Today’s Motivation / Challenge

Splitting the bill is easy… until someone pulls out a calculator and says, “Wait, how much with tip?” Then it becomes a group project in advanced math, complete with decimal debates and passive-aggressive sighs. Today’s challenge was to take that stress and turn it into something visual, intuitive, and mildly delightful. A GUI tip calculator solves a real-world problem with just enough code to feel proud—but not overwhelmed. It’s also a great excuse to practice building interfaces without becoming a full-time software architect.

Purpose of the Code (Object)

This program prompts the user to enter the number of people in the group, the total bill, and the desired tip percentage. Then it calculates the tip, adds it to the total, and shows how much each person owes. It’s a handy tool for group dinners or awkward birthday lunches when no one wants to do mental math.

AI Prompt

Create a GUI app in Python that:

  • Asks the user for number of people, bill amount, and tip percentage
  • Calculates total tip, total amount with tip, and per-person payment
  • Displays the results in a user-friendly window with labeled input fields and a result area

Functions & Features

  • Prompts for number of people, bill amount, and desired tip percentage
  • Calculates total tip and total amount
  • Splits the bill evenly between party members
  • Displays everything in a clean, readable GUI with labeled entries and a result section

Requirements / Setup

Library Requirement: pip install tk

This app runs on Python 3.x and uses the built-in tkinter module for the interface.

Minimal Code Sample


tip_amt = receipt_amt * (tip_percent / 100)
total_amt = receipt_amt + tip_amt
per_person = total_amt / num_people

This logic calculates the tip and divides the total among the group.

TipTopSplitter

Notes / Lessons Learned

Once the app was running, I showed it off to my husband. He clicked the buttons, tried a few different amounts, and gave it a test run with some imaginary sushi bills. No standing ovation, but he did mumble, “Hmm, not bad,” with just enough approval to make me smug.
Honestly, the hardest part wasn’t the math—it was spacing the widgets just right. Building GUIs is like setting a dinner table: all the pieces matter, and you’ll only notice when something is off.

Optional Ideas for Expansion

  • Add a dropdown for common tip amounts (10%, 15%, 20%)
  • Include a dark mode (because tip math deserves mood lighting)
  • Add a “copy to clipboard” button to paste payment amounts into your group chat

Time, Ticks, and Birthday Tricks with Python birthday countdown app

Day 8 of 100 Days Coding Challenge: Python

After a certain age—which I’d rather not disclose—the excitement of birthdays began to fade. The promise of cake and candles slowly gave way to the grim arithmetic of filling out forms. These days, I find myself less eager to celebrate and more focused on avoiding mirrors, calculators, and the word age.

Some applications are merciful and only ask for your birthdate. Others, however, are far less tactful—they demand your age outright, forcing you to confront the passing years in cold, hard numbers. To soften that emotional blow, I decided to build something playful: a Birthday Countdown and Age Calculator. It answers life’s small but dramatic questions, such as “How long until I’m older?” and “Exactly how much older am I now?” Whether that brings joy or existential dread is entirely your choice. So, I built a Python birthday countdown app.

Today’s Motivation / Challenge

This idea came from one of those moments when you wonder, Why don’t I already have this in my life? I wanted a lighthearted app that could tell me how far away my next birthday was—and, while at it, remind me just how far I’ve come. It’s perfect for when forms, job interviews, or curious children insist on knowing your exact age.

Beyond curiosity, this project gave me a chance to strengthen my Tkinter GUI skills. I wanted to design something simple, cheerful, and mildly threatening—a friendly little window that cheerfully informs you of your own aging process.

Purpose of the Code (Object)

The app asks for your birthdate, calculates your current age, and shows how many days remain until your next birthday. It turns all that existential math into something visual and almost comforting—a bright window with friendly text and a bit of decorative flair.

Best of all, there’s no math required on your part. The app handles everything for you—delivering the results instantly, for better or worse.

AI Prompt: Make it cleaner

Create a Python app with a GUI using tkinter that asks for a user’s birthdate, then displays how old they are and how many days remain until their next birthday. Include light-hearted messaging and emoji art in the GUI labels.

Functions & Features

  • Asks the user to enter their birthdate
  • Calculates and displays the current age
  • Tells you how many days are left until your next birthday
  • Shows the results in a friendly pop-up window with styled text

Requirements / Setup

Python 3.7+
No extra libraries are required—just the good old tkinter, which comes built-in.

Minimal Code Sample

from datetime import datetime
birth_date = datetime.strptime("1990-07-20", "%Y-%m-%d").date()
today = datetime.today().date()
age = today.year - birth_date.year
if (today.month, today.day) < (birth_date.month, birth_date.day):
    age -= 1
next_birthday = birth_date.replace(year=today.year)
if next_birthday < today:
    next_birthday = next_birthday.replace(year=today.year + 1)

days_until = (next_birthday - today).days

This snippet calculates your current age and how many days until your next birthday.

Birthday GUI App

Notes / Lessons Learned

For the record, I was never what you’d call a macro wizard. In my early days, I was more of a macro gremlin—copying random snippets from mysterious corners of the internet and hoping something, somewhere, would work.

But today felt different. I built this GUI myself—with a little help from AI—and for once, I felt like a real coder. Decorative buttons and all. It wasn’t perfect, but it was mine, and that felt pretty great. I even realized I could reuse and modify the same logic for my next app.

When I tested it, the program politely informed me how many days remain until I’m older (how thoughtful) and reminded me of my current age (again, thank you very much). Naturally, I showed it off to my husband. He gave a proud nod, followed by the classic question:
“Wait… does it use my birthday too?”

And that, my friends, was today’s code—equal parts functional, funny, and mildly existential.

Optional Ideas for Expansion

  • Let the user save multiple birthdays (friends, family, pets, plants)
  • Add a feature to notify you when your birthday is one week away
  • Include an optional countdown animation or confetti pop-up

Python BMI calculator: Because Mass is Interesting

Day 7 of 100 Days Coding Challenge: Python

Ah yes, the BMI calculator—a classic Python rite of passage. I built one last year when I was still figuring out how loops worked and thought elif was a typo. It worked… but only in metric. That was fine for me, having grown up in Japan and lived in Canada, where weight is measured in kilograms, height is measured in meters, and the weather is often cold.

But then I remembered: the U.S. exists. A land where temperature is measured in fractions of lava and weight in pounds that are somehow not British. Clearly, this app needed to accommodate both worlds—metric precision and imperial chaos.

So this time, I added a choice: metric or imperial. Because inclusivity matters. I even sprinkled a little personality into the experience—some clever text formatting, gentle prompts, and error handling. As a Japanese person, I believe that even software should have good manners.

Today’s Motivation / Challenge

The challenge today wasn’t just writing a BMI calculator—it was writing one that respects cultural measurement quirks. The metric system is excellent, but millions of people use the imperial system, and they deserve not to be confused. More importantly, this was an opportunity to practice user input, conditionals, and conversions—all critical building blocks in a beginner’s coding toolkit. And let’s be honest: anything that turns body mass into a friendly number is kind of fun.

Purpose of the Code (Object)

This app calculates your Body Mass Index based on your weight and height. You choose whether to use the metric system (kilograms and meters) or the imperial system (pounds and inches). Behind the scenes, the code converts everything into metric and then applies the BMI formula. The result? A simple number—and a label—that gives you a rough idea of your body composition.

AI Prompt

Write a Python app that asks users to choose metric or imperial units, collects weight and height, converts if needed, and calculates BMI with a health category.

Functions & Features

  • Prompts user to choose between metric and imperial units
  • Collects weight and height accordingly
  • Converts imperial inputs to metric for calculation
  • Calculates BMI using the standard formula
  • Classifies the result (underweight, normal, overweight, or obese)
  • Includes input validation with try/except to handle typing hiccups

Requirements / Setup

  • Python 3.x
  • No external libraries needed (runs with pure Python)

Minimal Code Sample

python

CopyEdit

if unit == “imperial”:

    weight_kg = weight_lbs * 0.45359237

    height_m = height_in * 0.0254

bmi = weight_kg / (height_m ** 2)

This snippet handles unit conversion and calculates BMI.

BMI Calculator App

Notes / Lessons Learned

By the way, I used try/except to catch input errors because I care about user experience—and also because I’ve personally broken every beginner app by typing “ten” instead of “10.” It’s a small thing, but it saves users (and me) a lot of head-scratching.

And yes, the final BMI result pops out like a helpful robot telling you how dense you are… in the kindest possible way.

Could I have just said, “Google your BMI”? Sure. But where’s the fun in that? Now I’ve got a custom-built BMI calculator that speaks both metric and imperial, politely handles mistakes, and makes me feel like an international coder of mystery.

Posted it on GitHub, naturally. Another green dot was added to the timeline. I still haven’t cleaned up the repository names, but hey—that’s a Day 30 problem.

Day 7: BMI balanced. Unit confusion conquered. Nerd pride: fully intact.

Optional Ideas for Expansion

  • Add age and gender inputs to adjust health ranges
  • Build a GUI version using Tkinter for a more visual experience
  • Allow saving BMI history to a text or CSV file for tracking progress

I Build A Python Temperature Converter App

Day 6 of 100 Days Coding Challenge: Python

Let me tell you—one of the most confusing things about living in the United States isn’t the healthcare system or tipping culture. It’s Fahrenheit. That mysterious, overly enthusiastic temperature scale where 100 means “you’re baking alive” and 0 means… still not freezing?!

I was born and raised in Japan. Then I spent 30 years in North America—most of that in Canada, where people measure temperature in Celsius like civilized, snow-loving humans. But here in the U.S.? Fahrenheit reigns supreme, and I’ve been stuck doing mental gymnastics every time I check the weather.

So, today I thought, ‘Why not make an app?’ Sure, you could just Google “Celsius to Fahrenheit” like a regular, functional adult—but where’s the fun in that? So, today’s project is to build a Python temperature converter app. I wanted something mine. Something precise. Something that spells Fahrenheit for me, because let’s be honest—I still double-check it every time.

Today’s Motivation / Challenge

This wasn’t just about temperature—it was about taking control. Every time I squinted at a weather app and tried to remember the formula, I felt like I was failing a pop quiz I never signed up for. So, I built a tiny utility to stop the guessing and start converting with confidence. It’s practical, simple, and oddly satisfying. Plus, it’s one of those “you’ll use it more than you think” tools.

Purpose of the Code (Object)

The app asks which direction you want to convert—Celsius to Fahrenheit or the reverse—and then does the math for you. No need to remember formulas or worry about spelling Fahrenheit. It provides a clear answer, allowing you to dress appropriately, avoid weather-related drama, and continue with your day.

AI Prompt

Make a Python app that converts temperatures between Celsius and Fahrenheit. Let the user choose the direction (C to F or F to C), input a number, and get the converted result. Keep it clean, beginner-friendly, and fun to read. No extra libraries—just use basic input/output.

Functions & Features

  • Asks the user if they want to convert Celsius to Fahrenheit or Fahrenheit to Celsius
  • Accepts a numerical input for temperature
  • Calculates and displays the converted result, rounded nicely
  • Includes basic input validation

Requirements / Setup

  • Python 3 (no external libraries required)

Minimal Code Sample

temp = float(input(“Enter temperature: “))

converted = (temp * 9/5) + 32

print(f”{temp}°C is {converted:.2f}°F”)

This calculates and prints the Fahrenheit equivalent of a Celsius input.

Python temperature converter app

Notes / Lessons Learned

My husband had opinions. He pointed out that the app simply responds with one message—”Toasty!”—regardless of the temperature.

“Toasty?” he said, side-eyeing the screen. “It’s only 24°C today. That’s barely ‘light sweater’ weather.”

Okay, fair. I was feeling a bit lazy and didn’t add any if…else logic. No chilly messages, no heatwave warnings—just a one-size-fits-all toastiness. Technically, the app works, but let’s just say it’s emotionally flat.

One day I’ll give it some flair. Maybe it’ll say “Brrr!” when it’s cold, or “Oven-grade heat” when things get spicy. But for today? Toasty is my default setting—and this app is officially done.

Optional Ideas for Expansion

  • Add personality: change messages based on the temperature (e.g. “It’s sweater weather” or “Don’t forget sunscreen”)
  • Build a GUI with buttons for easier interaction
  • Let the user convert a whole list of numbers (batch conversion)

I Built My Own Python Birth Date Calculator App!

Day 5 of 100 Days Coding Challenge: Python

This is how I decided to create my own Python birth date calculator App. My husband, in his ever-charming, spreadsheet-souled way, has taken to sending his siblings bizarre messages like, “It’s been 3,472 days since your child was born!” No “Happy Birthday” or “Hope you’re doing well.” Just pure data. His love language is clearly math over mush. Where some people give hugs, he gives decimal points.

Naturally, I asked him, “How do you even know that?”
“Oh, I use this app,” he said, as if that explained everything. “It updates every day. Totally accurate.”

Hmm. I smelled a challenge. A numeric gauntlet had been thrown.
So today, I set out to make my own Python birth date calculator app—because if anyone’s going to calculate our niece’s lifespan with theatrical flair and a better font, it’s going to be me. Sorry, dear. It’s not personal. It’s Python.

Today’s Motivation / Challenge

Sometimes coding isn’t just about solving problems—it’s about proving a point. This project was part logic puzzle, part sibling scoreboard, part marital competition. I wanted to build something that turns a regular birthdate into a fun set of trivia: how many days, weeks, months, and even seconds someone has been alive. Because deep down, don’t we all want to feel like the star of our own oddly specific countdown clock?

Purpose of the Code (Object)

This app asks the user to enter a date of birth, and then calculates exactly how long it’s been—down to the day. It tells you how many days, weeks, months, and years have passed since that date, and even throws in the total number of seconds, just in case someone needs an existential crisis. It’s a surprisingly fun way to work with dates and time calculations in Python.

AI Prompt

Write a Python program that asks for a birthdate and calculates how many days, weeks, months, years, and seconds have passed since then. Format the results clearly for the user.

Functions & Features

  • Prompts the user to enter a birthdate
  • Calculates the total days, weeks, months, and years since that date
  • Displays the time passed in a readable summary
  • Bonus: includes total seconds alive for dramatic effect

Requirements / Setup

Python 3.10 or higher
No external libraries required


Minimal Code Sample

from datetime import datetime

birthdate = input("Enter your birthdate (YYYY-MM-DD): ")
b = datetime.strptime(birthdate, "%Y-%m-%d")
now = datetime.now()
delta = now - b
print("You’ve been alive for", delta.days, "days.")

This calculates the number of days since the user’s birthdate.

Python birth date calculator app

Notes / Lessons Learned

Birth Day App: created, posted, and ready to tell you how long you’ve been alive—whether you wanted to know or not. It’s oddly satisfying watching Python crunch your life into a tidy block of numbers.

And now for the grand finale:
I ran the app and checked how many days it had been since our niece was born. Then I compared it to my husband’s mysteriously accurate app.

Drumroll…

The numbers matched. Exactly.

So now I don’t know whether to shout, “Wow, my app actually works!” or mumble, “Okay, fine, my husband is right.”
Let’s call it a tie.
But mine has better UX. And color-coded text. So really… it’s a win.

Optional Ideas for Expansion

  • Add the ability to count down to future birthdays or anniversaries
  • Include fun facts like “You’ve lived through 6 leap years”
  • Add a time zone selector for dramatic international flair

When Code Explains Code (And I Just Watch)

Day 4 of 100 Days Coding Challenge: Python

When code explains code, what will happen? Will that be interesting? I got curious. Today’s project? Build an AI-powered Code Explainer App in Python. For beginners. By a beginner. Using AI. What could possibly go wrong?

So here’s the thing: lately I’ve been Googling lines of Python like a tired detective chasing the same suspect down a dozen dark alleys. “What does this do?” “Why does nothing work?” “Is this syntax broken or am I?” Eventually, I had a minor revelation: if I already have Python open, why not make it explain itself? Like a moody teenager giving you their diary—with just enough sarcasm to sting.

Thus, the Code Explainer App was born. It’s part translator, part therapist, part mind-reader. A digital sidekick for all the times you stare at someone else’s code like it’s an ancient spell book and you forgot Latin.

Today’s Motivation / Challenge

The goal here wasn’t just to make another tool—it was to create something that helps me (and anyone else equally bewildered) learn faster. We all reach that moment where we copy and paste something, then realize we don’t understand half of it. This project turns that pain into progress by letting AI break down unfamiliar code, line by line, like a patient tutor who doesn’t judge you for asking the same question four different ways.

Purpose of the Code (Object)

This app takes a chunk of Python code, sends it to the OpenAI API, and asks the AI to explain each line in plain English. It’s a bridge between “What the heck is this?” and “Ohhhh, I get it now.” Paste the code in, press Enter, and receive a thoughtful explanation. Ideally. Unless something breaks. Which is also a learning experience.

AI Prompt:

Write a Python program that takes user input (a code snippet), sends it to OpenAI’s GPT model, and returns a line-by-line explanation. Use the post-1.0.0 version of the OpenAI Python library.

Functions & Features

  • Accepts multiple lines of Python code from the user
  • Sends the code to OpenAI’s GPT-3.5 or GPT-4 for explanation
  • Returns a readable, line-by-line breakdown
  • Keeps running until the user says “enough.”

Requirements / Setup

Python 3.10 or higher
OpenAI Python library (version 1.0.0 or higher):

pip install openai

Minimal Code Sample

import openai

client = openai.OpenAI(api_key=”your_key_here”)

response = client.chat.completions.create(

    model=”gpt-3.5-turbo”,

    messages=[{“role”: “user”, “content”: “Explain this code line by line:\n\n” + user_code}]

)

code_explainer

Sends user-submitted code to the OpenAI API and asks for an explanation.

Notes / Lessons Learned

I saved the API key in three different places: on my laptop, in a notebook, and possibly emotionally tattooed somewhere on my soul. Then I fired up the terminal and installed the OpenAI library, as if I knew what I was doing. The plan was simple: send a chunk of code to the API, get a clear explanation back, and ride off into the sunset with newfound knowledge.

First attempt? A glorious failure. The code just sat there, unimpressed, like a teacher who knows you didn’t do the reading. It turns out I was using the brand-new OpenAI library (post-1.0.0), but I was following instructions written when dinosaurs roamed Stack Overflow. Basically, I tried to plug a USB-C into a cassette player.

Once I switched to the correct syntax for the newer version, everything fell into place—and the AI started responding. So when code explains code, it was helpfu. Almost smugly.

Optional Ideas for Expansion

  • Add support for uploading .py files instead of pasting code.
  • Let users choose between a summary and a detailed explanation.s
  • Automatically save the explanation to a text file for future reference.

I Built A Dictionary Apps, Words, API-Style

Day 3 of 100 Days Coding Challenge: Python

Today’s adventure is building a dictionary app using a free API. Sure, it’s the budget airline of dictionary apps—it may not get you into Oxford, but it can probably land a gig judging the middle school spelling bee.
Creating this app triggered a wave of linguistic nostalgia. I remembered my early days of learning English… and by “early,” I mean roughly the first twenty years. After nearly three decades in North America, I still get prepositions wrong—just with more confidence and the occasional dramatic flourish.
As for setup, I had to install the requests library. I couldn’t remember if I had it installed already or if I had just dreamed I did it one night in a caffeine-fueled coding fever dream. I installed it anyway, just to be safe—because nothing says “I’m a developer” like doubting your own system and doing it twice.

Today’s Motivation / Challenge

I wanted to create something that felt practical yet beginner-friendly. A dictionary app fits that sweet spot perfectly—it’s a great excuse to practice working with APIs, and it actually does something useful. Besides, I’ve always loved words. They’re like Lego pieces for thoughts, except when they come with silent letters and inconsistent plurals. That’s when they become Jenga.

Purpose of the Code (Object)

This program prompts the user to enter a word, then looks up its definition using an online dictionary API. It prints a simple explanation, giving the app the feel of a pocket dictionary—without the bent corners or the chance of being used as a coaster. The app runs in a loop, allowing users to look up multiple words at once, which makes it feel less like a one-trick pony and more like a low-budget tour guide to the English language.

AI Prompt


Write a Python program that asks the user to enter a word and uses an API to retrieve and display a simple definition. Let the user repeat this until they type “exit”.

Functions & Features

  • Accepts user input for a word to define
  • Connects to a free dictionary API to fetch the definition
  • Displays the first available definition in plain text
  • Loops so the user can define multiple words without restarting

Requirements / Setup

Python 3.10 or higher
Install the requests library: pip install requests

Minimal Code Sample

import requests
def get_definition(word):
url = f"https://api.dictionaryapi.dev/api/v2/entries/en/{word}"
response = requests.get(url)
return response.json()[0]["meanings"][0]["definitions"][0]["definition"]

This function takes a word, queries the dictionary API, and returns the first definition found.

dictionary_app

Notes / Lessons Learned

Initially, I had to restart the app every time I wanted to look up a new word. So I added a loop—because I’m that kind of person now. Look at me, looping like a full-grown coder. I even thought about adding pronunciation support, example sentences, or text-to-speech features… but then I blinked and lost all motivation. There’s always Day 4.
This “baby dictionary” does well with common words. Throw something obscure at it and it shrugs—politely. Still, it’s the kind of app I wish I’d had when I first arrived in North America, back when I thought “raining cats and dogs” was a warning to check for falling animals.

Optional Ideas for Expansion

  • Add pronunciation audio or phonetic spelling
  • Include example sentences to see the word in context
  • Integrate a text-to-speech library to read the definitions aloud

Rock, Paper, Terminal: The Showdown

Day 2 of 100 Days Coding Challenge: Python

Today’s goal: build a Rock-Paper-Scissors game. Because nothing screams “coding wizard in training” like trying to outsmart a random number generator in a game invented for kindergartners with sticky fingers and short attention spans.


The app pits the player against the computer in a glorious text-based battle of chance and ASCII art. I even added little touches, like printed symbols, to make it feel like a retro arcade game that had forgotten to include a joystick.

The last time I played with ASCII was back in 2024, when I coded a cat-themed game featuring a passive-aggressive feline as the final boss. I poured hours into it. My husband played it once, looked at me with deep concern, and asked, “Are you okay?” That was the moment I knew I’d crossed the threshold: I had become a programmer.

Today’s Motivation / Challenge

There’s something charmingly nostalgic about text-based games. They don’t rely on graphics or fancy libraries—just logic, timing, and the eternal struggle to remember whether paper beats rock or rock beats paper. It’s a perfect early project for getting used to input, conditionals, and letting the computer be your unpredictable opponent. Plus, it’s fun. And when you’re learning to code, fun is fuel.

Purpose of the Code (Object)

This program allows a human player to play Rock-Paper-Scissors against the computer. The player types in their choice, the computer picks one at random, and the program determines who wins. It loops until the user decides to stop, making it a great intro to control flow and user input. It’s the kind of project that makes programming feel like a game—because it is.

AI Prompt


Write a Python program that lets a user play Rock-Paper-Scissors against the computer. Include random choices and let the user play again. Bonus: Add ASCII art for each move.

Functions & Features

  • Accepts user input (rock, paper, or scissors)
  • Randomly selects the computer’s move
  • Compare choices and declare a winner
  • Loops until the player chooses to quit
  • Includes basic ASCII-style flair for fun

Requirements / Setup

Python 3.10 or higher
No external libraries required

Minimal Code Sample

import random
def get_computer_choice():
return random.choice(["rock", "paper", "scissors"])

Randomly picks the computer’s move each round.

Rock_Paper_Scissors

Notes / Lessons Learned

I dumped it into the same “to-do list” folder from yesterday, because apparently that’s now my one-size-fits-all app warehouse. Should I organize my files? Probably. Am I going to? Let’s not get ahead of ourselves.
With a bit of help from AI, I added a loop so the game doesn’t just play once and vanish like a magician with stage fright. Now it asks if you want to play again—because one round is never enough when you’re trying to prove you’re smarter than a CPU. And shockingly, I recognized pieces of the code. My brain hasn’t fully turned to digital oatmeal yet.
That said, I kept losing. Badly. I suspect that either the computer is cheating or the game gods are cursing me. My husband tried it and won instantly. So yes, the program works. I just don’t.

Optional Ideas for Expansion

  • Add a scoreboard that tracks wins, losses, and ties
  • Include emojis or better ASCII graphics to boost the drama
  • Introduce a “secret cheat code” that guarantees a win (for testing, of course)