HoloJam - Arquitectura de una Red Social musical.
El Desafío
El mercado actual carece de herramientas móviles que permitan a los músicos colaborar de manera asincrónica con calidad de estudio, y si existen, cuestan un ojo de la cara. El objetivo de HoloJam fue democratizar la producción musical, creando una red social donde cada usuario tiene su propio estudio de grabación portátil.
| Feed | DAW |
|---|---|
![]() | ![]() |
El reto técnico principal no fue solo social, sino de performance: procesar audio en tiempo real en Android es costoso, y hacerlo con una interfaz moderna en Jetpack Compose (que aún madura en este aspecto) elevó la vara de dificultad.
Arquitectura Técnica
Para garantizar la máxima performance sin bloquear el hilo principal (UI), optamos por una arquitectura Clean Architecture + MVVM escrita 100% en Kotlin.
La pila tecnológica de audio es híbrida y compleja:
- TarsosDSP (Java): Para el procesamiento de señales digitales.
- Lame (C++): Integración nativa para la codificación eficiente de MP3.
- AudioMixer y ExoPlayer: Para la mezcla y reproducción de pistas.
Deep Dive: Optimización de Backend (Del Error a la Solución)
Uno de los aprendizajes más valiosos ocurrió en la capa de datos con Firebase.
El Problema: Inicialmente, la arquitectura relacionaba los proyectos de usuario incrustando un JSON masivo con la información PCM (raw audio data) de cada track. Esto hacía que la lectura de la base de datos fuera extremadamente ineficiente y costosa a nivel de bytes transferidos.
La Solución: Decidí desacoplar esta relación sacrificando almacenamiento por velocidad de cómputo. Refactoricé el modelo de datos para que el objeto del proyecto solo contenga referencias (links):
- MP3: Para reproducción rápida y preview (streaming con ExoPlayer).
- WAV: Archivos de alta fidelidad para cuando un usuario decide "clonar" o colaborar en el proyecto.
Esta decisión redujo drásticamente el payload de las peticiones y mejoró la experiencia de usuario al cargar el feed.
Resultados y Liderazgo
Co-lideré este proyecto junto a mi colega Gabriel, enfocándome yo en la parte técnica de audio, Landing Page. Agradecer a Mauricio, Cristian, Federico, Facundo y Marcos quienes dieron todo por este proyecto.
- Validación: Presentado en la ExpoProyecto (UNLaM) con más de 150 pruebas en vivo.
- Feedback: 30 sugerencias técnicas implementadas y una validación fuerte sobre la UX/UI.
- Lanzamiento: Previsto para Abril 2026.
HoloJam demostró que es posible construir interfaces de audio complejas en Jetpack Compose si se gestiona correctamente el estado y la concurrencia.

