Skip to content

Full-stack Project

El Ritual del Tono

Find the exact tone of your favorite guitarist.

I built a reverse search engine for guitarists: you search by artist and song, and the app returns the full signal chain (guitar, pedals, amplifier) to replicate that exact sound. MERN stack, deployed on Vercel.

The challenge

Letting a user add 5–8 products to the cart with a single click, without duplicating items, respecting stock, and syncing state between backend and Context API. The transaction had to feel atomic from the UI.

How I solved it

  1. 01

    Atomic One-Click Setup

    A dedicated endpoint that receives an array of IDs, validates availability in MongoDB, and returns only the addable items. The frontend updates the cart in a single operation, with no partially loaded products visible to the user.

  2. 02

    Shared gear across artists

    David Gilmour and John Mayer use similar pedals. Modeling each gear as unique per artist would have blown up the database. Solution: an independent Gears collection where each Song points to reusable ObjectIds.

  3. 03

    Trimmed scope, functional MVP

    Instead of 50 artists × 10 tones, I focused on 13 iconic artists with 2 tones each. Simulated checkout in MongoDB instead of integrating Stripe. Enough to demonstrate the transactional flow without getting stuck on payment integrations.

What was delivered

  • Node.js + Express backend with REST API and 3 MongoDB collections
  • Next.js frontend + React Context API + Tailwind CSS
  • Deployed on Vercel with end-to-end live demo (artist → song → cart → checkout)

Closing

Modeling data in MongoDB is fundamentally different from SQL. I chose subdocuments (Songs inside Artists) because 90% of queries are 'give me the songs by this artist': no populate needed, faster responses. If I were to redo it: authentication + user-shared setups to turn personal curation into a guitarist social network.

© 2026 Copyright Gotya

Designed and built by Tiago Collado