Projects

Selected work from CS50P & CS50x highlighting Python, web development, SQL, and full-stack skills.

๐Ÿ CS50P Projects

Demo of F1 History CLI

F1 History CLI

Python command-line app that pulls Formula 1 race & qualifying results via the https://api.jolpi.ca/ergast/ F1 API. Supports driver & constructor standings. Includes pytest test suite. (Open gif above in new tab for a better view of the program in action)

Why itโ€™s strong: real-world API integration, structured CLI UX, automated testing.

GitHub
  • Parses JSON payloads; graceful error handling.
  • Reusable API wrapper + CLI argument parsing.
  • pytest coverage: endpoints, parsing, formatting.

Jar (OOP Demo)

Python class that models a jar with capacity, add/remove methods, and current fill state. Used to teach encapsulation & method behavior.

Why itโ€™s strong: clean OOP design; state validation; unit-test friendly.

GitHub
  • Constructor enforces capacity.
  • Guard clauses prevent negative fill / overflow.
  • Good teaching sample for class design & testing.

๐ŸŒ CS50x Projects

Demo of NBA Stats Hub

NBA Stats Hub

Flask web app that retrieves NBA player statistics from a public API, aggregates data, and displays visual charts, search filters, and team logos. (Open gif above in new tab for a better view of the program in action).

Why itโ€™s strong: full-stack app; API + DB + templating; interactive UI.

GitHub
  • Player query assistant (AI-ready architecture).
  • Light / dark theme toggle; responsive layout.
  • Caching & combined stat logic for multi-team seasons.

Finance

Simulated stock trading platform: register/login, quote lookup, buy/sell, transaction history, portfolio value โ€” built with Flask & SQLite.

Why itโ€™s strong: auth, session mgmt, database CRUD, input validation.

GitHub
  • Password hashing & session management.
  • Real-time stock lookups via API.
  • Transaction ledger + portfolio aggregation.

Sports Homepage & Quiz

Responsive multi-page static site highlighting favorite NBA and football (soccer) players & teams, plus an interactive Sports Quiz built with vanilla JS. Uses semantic HTML, Bootstrap utilities, and custom CSS.

Why itโ€™s strong: responsive layout, front-end theming, and client-side interactivity (instant feedback).

GitHub
  • Multi-page nav (dropdown menu).
  • Interactive quiz w/ JS click handlers & user feedback.
  • Bootstrap styling + custom CSS overrides.
  • Accessible headings & semantic markup.

Fiftyville SQL Mystery

Investigative SQL project: query a relational database (phone logs, flights, ATM use) to solve a fictional crime. Heavy JOINs, filtering, and inference.

Why itโ€™s strong: practical SQL reasoning; multi-table joins; data sleuthing.

GitHub
  • Joined evidence across multiple related tables.
  • Stepwise elimination querying process.
  • Summarized findings tied to narrative solution.