Portfolio

A collection of projects I've worked on either professionally or for the purpose of learning. It is a small representation of my skills and experience.

  • Screenshot of Rest Countries API with color theme switcher application interface

    Rest Countries API with color theme switcher

    • html

    • css

    • js

    • api

    • react

    A React interface for exploring country data from the REST Countries API with search, filtering, detail views, and a persistent color-theme switcher.

    • Fetches and normalizes external API data for list and detail screens.
    • Keeps search and region filtering responsive across desktop and mobile layouts.
    • Uses React Router to keep country detail pages shareable and browser-friendly.
  • Screenshot of Contrast application interface

    Contrast

    • html

    • css

    • js

    • postcss

    A static JavaScript project that renders structured local data through a polished PostCSS front end.

    • Loads project content from local JSON instead of hardcoding repeated markup.
    • Uses PostCSS to keep the styling pipeline modular and easier to maintain.
    • Focuses on fast static delivery with a small JavaScript footprint.
  • Screenshot of Derby City Drip application interface

    Derby City Drip

    • html

    • css

    • js

    A responsive marketing site for a fictional Louisville coffee shop, built to practice content-first layout, product sections, and local brand presentation.

    • Structures the page around menu, story, and location content instead of a generic landing-page shell.
    • Combines SCSS and PostCSS for reusable styling while keeping the output lightweight.
    • Uses responsive imagery and section spacing to keep the design usable on small screens.
  • Screenshot of Connect Four App application interface

    Connect Four App

    • html

    • css

    • c#

    • razor

    • blazor

    • dotnet

    • webassembly

    A browser-playable Connect Four game built with Blazor WebAssembly, C#, and Razor components.

    • Separates game state from UI rendering so turn handling and win checks stay understandable.
    • Uses component-level interaction instead of page reloads for immediate gameplay feedback.
    • Demonstrates how .NET and WebAssembly can deliver interactive client-side experiences.
  • Screenshot of NFT Preview Card Component application interface

    NFT Preview Card Component

    • html

    • css

    A focused HTML and CSS component build that recreates a compact product-preview card with accessible structure and responsive spacing.

    • Uses semantic markup for the image, title, supporting copy, price, creator, and hover state.
    • Keeps the component self-contained so it can be inspected independently from a larger app.
    • Prioritizes spacing, contrast, and interactive states over unnecessary JavaScript.
  • Screenshot of Gradie Sign Up Page application interface

    Gradie Sign Up Page

    • html

    • css

    A responsive sign-up page implementation focused on form layout, visual hierarchy, and a clear onboarding path.

    • Builds the form with labeled fields and predictable keyboard-friendly controls.
    • Balances product messaging with the task of creating an account.
    • Uses CSS layout constraints to keep the design stable from mobile through desktop widths.