---
title: "The Keyboard Site I've Been Building on the Side"
description: "A side project I've wanted to build for over a year: a site to keep track of keyboards, switches, and builds. Prisma and a bit of ChatGPT help finally got it moving."
author: "Romel Dris"
published: "2023-05-10T12:00:00.000-07:00"
last_updated: "2026-08-08T08:06:34.066Z"
canonical_url: "https://romeldris.ca/blog/building-a-keyboard-site-prisma"
markdown_url: "https://romeldris.ca/blog/building-a-keyboard-site-prisma.md"
categories: ["Programming","Keyboards"]
keywords: ["keyboard database side project","prisma side project","building with chatgpt","keyboard collection app"]
---

# The Keyboard Site I've Been Building on the Side

> A side project I've wanted to build for over a year: a site to keep track of keyboards, switches, and builds. Prisma and a bit of ChatGPT help finally got it moving.

I've been wanting to build this thing for over a year now, and I'm finally making some slow but real progress on it: a little site for keeping track of keyboards.

If you've followed any of my keyboard content, you know the collection has gotten a bit out of hand. Different boards, different switches, keycap sets I've swapped around more times than I can remember. I wanted one place to log all of it. What's in each build, what switches are in it right now, what I've tried, and what I thought of it. Part collection tracker, part build journal.

The fun part is that it's also an excuse to build something for myself instead of for work. I reached for **Prisma** as the ORM, which made modeling the whole thing painless. A keyboard has switches, switches have specs, a build links a board to a set of parts. Once the schema is right, the types flow out from there and the rest of the app mostly writes itself. That's the part I always underestimate: get the data model clean and everything downstream gets easier.

I'll also admit **ChatGPT** has been carrying some of the load. Not writing the app for me, but unblocking me when I hit something I'd normally lose an evening to. A weird Prisma migration, a query I couldn't get right, the boilerplate I didn't feel like typing. As a solo dev working on this in the cracks of the week, having something to rubber-duck with has made it a lot easier to keep momentum.

It's nowhere near done, and honestly it might stay an audience-of-one project forever. But that's kind of the point. The cost of poking at it for an hour after work is low enough that I actually keep coming back to it.
