PROJECT SUMMARY

MECH//KEYS

An informational microsite about mechanical keyboards, their history, and how they work. Designed and built as part of a class assignment, with a creative director briefing the direction.

ROLEDesigner and Developer
DELIVERABLEResponsive 2-page site
STACKHTML, CSS, Vanilla JS
TYPEShare Tech Mono

A tactile design brief, turned into a working microsite.

What the project was, and what I set out to make.

The goal was a responsive two-page microsite that could teach a casual visitor what a mechanical keyboard is, trace its history, break down its parts, and show the range of layouts and switches that define the modern enthusiast scene. The brief asked for an intro page that invites the visitor in, then a main page organized as a cohesive, navigable experience.

I took it as a chance to lean into the subject. If the product is tactile, the interface should feel tactile too. Every button is a keycap. The nav is a keyboard row. The space bar starts the site. The timeline clicks open. Every interaction is a small reference to the thing the site is about.

Feedback shaped the confidence I brought to the screen.

What I got from my creative director, and how it influenced my approach.

I was behind schedule on this project. Between health issues and overlapping deadlines from other classes, I didn't get to meet with my creative director as often as I would have wanted, and I never quite reached the point of back-and-forth polish I had imagined for the project. That was a real constraint, and I want to be honest about it.

What I did get was overwhelmingly positive. My creative director responded warmly to the ideas and the brainstorming stage, validating the concept of a tactile, keycap-forward interface and the dotted-grid, terminal-type aesthetic. That encouragement mattered. It settled a lot of the anxiety around being behind, and gave me the confidence to keep pushing the design instead of second-guessing every choice. By the time I started building, I was working from a design direction I trusted.

A single visual voice, carried across every element.

How the look came together.

The design language is small on purpose. One typeface, Share Tech Mono, runs across the whole site. The canvas is pure black with a soft light-gray dotted grid, which gives every surface a subtle technical rhythm without fighting the content on top of it. All buttons are physical-feeling keycaps built with layered box-shadows to simulate depth, and they press down when clicked.

Color is restrained. A muted blue-gray reads as the quiet default, white is reserved for emphasis, and an RGB pulse animation cycles through red, yellow, green, blue, and purple on hover as a direct reference to keyboard underlighting. The switch type cards are the one place where color opens up a little, each family tagged with a hue that hints at the Cherry MX stems those switches are known for.

Larger gestures reinforce the same idea. The intro page is just the title, a real-sized space bar, and a prompt, keep it quiet, let the visitor notice the detail. A loading screen with three bouncing dots inside a tiny keycap runs for a moment before the first paint, setting the tone. A light/dark theme toggle and a home-button logo live at the top-left so the visitor always has an exit.

What I already understood, and what this project taught me.

Splitting the known from the new made it easier to target where I needed help.

FAMILIAR

What I brought in

  • Padding and the breathing room text needs to feel legible
  • Restrained color work, letting one or two hues carry a whole page
  • Type hierarchy, separating a title from a kicker from body copy
  • A design eye for box placement and spacing by feel
  • Picking where negative space should do the heavy lifting
NEW

What I learned by doing

  • Fluid responsive type that scales with the viewport
  • Grid and flex layouts that reflow on narrow screens
  • Collapsing the nav into a dropdown under a breakpoint
  • Building a keycap out of layered box-shadows, not images
  • Accordions that animate height with CSS grid-template-rows
  • Cycling RGB hover animations via a keyframes timeline

Translating my sketches and ideas into working code.

Where AI helped, and where the design decisions were mine.

I drew and mocked up a lot of this project on paper first. The keycap, the keyboard-row nav, the intro with the space bar, the dotted grid, the accordion date boxes, the mobile dropdown, all of it started as rough physical sketches. That stage was important, because it let me commit to a visual direction before writing a single line of code.

Where AI came in was the translation. I used it to help me convert my mock-ups into the interactive layer, specifically the button designs, the animations, and the way the different pages flow into each other. I would describe what I had on paper and prompt for the CSS and JS that would bring that look to life, then keep iterating once I could see it on screen. The keycap depth effect, the RGB hover pulse, the accordion reveal, and the responsive breakpoints all came together in that back-and-forth.

The split was clear in my head. AI handled the how. I held the what and the why. That let me stay in the role of a designer, not a coder second-guessing every property, while still shipping real working interactions I understood well enough to tweak by hand.

Hours of small, specific fine-tuning.

The site came together through a long list of small deliberate changes.

PASS 01

Core skeleton

Base layout, section routing, typography scale, dotted grid background, initial color tokens.

PASS 02

Keycap interactions

Built the keycap button with layered shadows. Added the press-down translate, the RGB hover pulse, and the active-state glow.

PASS 03

Intro polish

Simplified the intro page to just the title, a full-width space bar, and a prompt. Added the space-bar keyboard shortcut to start the site.

PASS 04

Accordion reveals

Converted the history timeline into click-to-expand dates. Later applied the same pattern to the Parts and Switch Type cards for more interactive info boxes.

PASS 05

Responsiveness and mobile

Collapsed the nav into a dropdown under 860px. Reflowed cards into single columns on tablet, tuned type down on phone-sized widths.

PASS 06

Custom cursor and loader

Added a white cursor dot with trailing ring, using mix-blend-mode so it stays visible on any background. Wrote a short loading screen with a keyboard-crumbs line to set the tone.

PASS 07

Theme, home, and final tightening

Added a light/dark theme toggle with localStorage memory, turned the logo into a home button, gave the active nav key a white shadow glow, and tightened corner radii on non-keycap elements to read more mechanical.

Padding, spacing, and the eye-first rhythm of the page.

The small moves that make the page comfortable to read.

A monospace face on a dark ground is technical by default, and the risk is that it becomes hard to read. Most of the work here was quiet spacing decisions. Sub-heading top margins sit around 56px so a new idea announces itself. Section kickers breathe with extra bottom space under the Layouts and Switch Types descriptions. Cards carry enough inside-padding that the text never fights the border. List items are separated by a hairline rule instead of a bullet, so the grid feels continuous with the background dots.

A lot of this was placed by eye. I would nudge a margin by four or eight pixels until the box stopped feeling cramped, or I would pull a headline closer to its kicker when the two felt orphaned. That part of the work comes from the design instincts I had coming in, not from any AI suggestion.

What I used to make it.

A short, honest list.

01

Pen and paper

Every major interaction was sketched before being coded. The mock-ups are what I prompted from.

02

VS Code

All the HTML and CSS was written and fine-tuned here. Live preview kept iteration tight.

03

AI assistant

Used specifically for buttons, animations, responsive behavior, and the flow between pages.

04

Google Fonts

Share Tech Mono, loaded once and applied site-wide.

05

Source material

Wikipedia's Keyboard technology article and the Das Keyboard blog, the only two content sources.

06

Browser dev tools

Responsive preview, layout inspection, and breakpoint sanity checks across sizes.

What was hard, and what I'm proud of.

Both sides of the honest account.

CHALLENGES

What tested me

  • Learning interactive button design from scratch and getting it to feel cohesive
  • Understanding responsive behavior well enough to target the right breakpoints
  • Working around limited time with my creative director and self-directing more
  • Balancing class project deadlines while recovering from health issues
  • Keeping the dark theme and light theme visually equivalent across every element
WINS

What came together

  • A mechanical-feeling interface where every button presses, glows, and reacts
  • A visual voice consistent across intro, nav, sections, cards, and loading screen
  • Real, working responsiveness that survives on phone, tablet, and desktop
  • A loading screen, custom cursor, and theme toggle that add personality without noise
  • Confidence in prompting AI for implementation while holding the design vision myself

What this project gave me.

The most valuable part of this assignment was the synthesis. Positive feedback from my creative director, a subject I genuinely wanted to design around, my own mock-ups on paper, and AI as a translation layer all came together into something that feels intentional from the intro page down to the last card. I learned the interactive side of web design, specifically buttons, animations, and page flow, in a way that stuck, and I did it while still protecting the parts of the craft I already knew, the padding, the spacing, and the color.

If I did it again, I would start earlier and make more time with my creative director. But the site I shipped is one I stand behind, and the process, messy timeline and all, is one I can now point to as how I actually work.