Contexto
Los guitarristas que buscan replicar el sonido de sus artistas favoritos enfrentan un problema: la información está dispersa y contradictoria. Ves 10 videos de YouTube sobre 'el tono de David Gilmour' y cada uno te dice algo distinto. Los foros tienen discusiones técnicas pero son difíciles de navegar. Equipboard te muestra qué usa cada artista, pero no te dice cómo configurarlo para una canción específica.
El Ritual del Tono resuelve esto con un motor de búsqueda inversa: buscás por artista y canción, y la plataforma te da la cadena de señal completa (guitarra → pedales → amplificador) necesaria para lograr ese sonido exacto. No es una tienda genérica de equipamiento — es una herramienta de descubrimiento sonoro que además te permite comprar todo el setup en un solo click.
Mi rol
Proyecto personal full-stack desarrollado de principio a fin como demostración técnica de stack MERN (MongoDB, Express, React, Node.js). Trabajé solo: desde el modelado de datos en MongoDB hasta el diseño de la interfaz en React con Next.js y Tailwind CSS. El objetivo era construir una aplicación completa que resolviera un problema real del mundo de la guitarra — un nicho que conozco bien — mientras demostraba competencias en desarrollo frontend, backend, y arquitectura de bases de datos NoSQL.
Proceso y decisiones
La decisión técnica más difícil fue el 'One-Click Setup': permitir que un usuario agregue al carrito todos los componentes de un sonido (5-8 gears distintos) con un solo botón, sin duplicar productos, respetando stock, y manteniendo el estado sincronizado entre backend y Context API. Resolví esto con un endpoint dedicado que recibe un array de IDs, valida disponibilidad en MongoDB, y retorna solo los ítems agregables. El frontend recibe la respuesta y actualiza el carrito de forma atómica.
Otra decisión compleja fue la reutilización de gear entre artistas. David Gilmour y John Mayer usan pedales similares — si modelaba cada gear como único por artista, la base de datos explotaba. La solución: una colección compartida de Gears donde cada Song tiene un array de ObjectIds que apuntan a productos reutilizables. Esto redujo drásticamente la carga de contenido y mantuvo la data consistente.
Para mantener el proyecto viable, recorté el scope inicial: en vez de 50 artistas con 10 tonos cada uno, me enfoqué en 13 artistas icónicos (Gilmour, Mayer, Frusciante, Cerati) con 2 tonos cada uno. Esto me permitió terminar el MVP funcional sin quedar atrapado curando contenido infinitamente. También simplifiqué el checkout: en vez de integrar Stripe o MercadoPago, el flujo persiste la orden en MongoDB y simula la confirmación — suficiente para demostrar la transaccionalidad del sistema.
La solución
La arquitectura final: backend en Node.js con Express que expone una API REST, MongoDB como base de datos con tres colecciones principales (Artists con Songs como subdocumentos, Gears como colección independiente, Orders para el checkout), y frontend en Next.js con React Context API para gestión de carrito. El flujo principal: usuario entra → busca un artista → selecciona una canción → ve la cadena de señal completa con descripción del tono y video embebido de YouTube → puede agregar gears individualmente o todo el setup con un click → checkout simulado que persiste la orden.
La interfaz usa Tailwind CSS para un diseño limpio que prioriza el contenido: las páginas de artista destacan las canciones, las páginas de canción muestran primero el video y la descripción del tono, y recién después el equipamiento necesario. El carrito es persistente durante la sesión y calcula subtotales automáticamente.
Resultados
El proyecto está deployado en Vercel y funciona end-to-end: podés navegar artistas, explorar tonos, agregar productos al carrito y completar el checkout simulado. No tiene usuarios reales aún — es una demostración técnica — pero cumplió su objetivo: validar que puedo construir una aplicación full-stack completa desde cero.
Aprendizaje clave: modelar datos en MongoDB es fundamentalmente distinto a SQL. La decisión de usar subdocumentos (Songs dentro de Artists) vs colecciones separadas tiene implicaciones enormes en performance y complejidad de queries. Elegí subdocumentos porque el 90% de las consultas son 'dame todas las canciones de este artista', lo que hace el populate innecesario y acelera las respuestas. Si volviera a hacerlo, agregaría autenticación para permitir que usuarios creen sus propios setups y los compartan con la comunidad — convertir la plataforma de curaduría personal a red social de guitarristas.
05 · GALERÍA
Demostración del proyecto

06 · DEMOSTRACIÓN DEL PROYECTO
Demostración del proyecto
Material visual en preparación.