Proyectos

Lashiro's

Una tienda en línea para una distribuidora de insumos de pestañas. La diseñé y la programé de punta a punta: el catálogo con stock real, los pedidos por WhatsApp y el panel con el que el negocio lo administra todo.

Cliente
Distribuidora de insumos para lashistas en Barquisimeto
Rol
Diseño, desarrollo y despliegue
Producto
Tienda web y panel de administración
Estado
En producción desde 2026

El problema

El negocio vendía por Instagram y perdía ventas porque su vitrina no sabía decir si había o no había. Lashiro's muestra qué medida está disponible, arma el pedido y lo deja escrito en WhatsApp, donde ya se coordinaban los pagos.

Desde agosto de 2026: 133 commits, del primer catálogo al panel y las cuentas de clientas.

En el escritorio

La matriz se acuesta: curvatura por filas y largos por columnas, con una leyenda para cada estado. Si una medida está agotada, la clienta la toca y pide que le avisen cuando vuelva.

La ficha de un producto en el escritorio, con la matriz de disponibilidad por curvatura y largo

El otro lado: el panel

El negocio administra el catálogo, el stock y las clientas desde un panel privado. Se pensó primero para el escritorio, pero sin nada que no funcione en el teléfono.

El panel guarda datos del negocio y de sus clientas, así que no lo muestro en capturas.

Decisiones

  1. El stock no viaja en el build

    La ficha de cada producto se congela al compilar porque cambia poco; las existencias se leen aparte, con revalidación corta. Si el stock viajara en el build, el sitio mentiría entre despliegues, y ese era justo el problema a resolver.

  2. Sin pasarela de pago

    En Venezuela se paga con Pago Móvil, dólares en efectivo, Zelle o Binance, y ninguna pasarela los integra fácil ni barato. El sitio arma la orden con número y la manda por WhatsApp: sin pasarela, sin PCI, sin conciliación ni disputas.

  3. Dólar BCV y bolívares

    Cada precio se convierte una vez en el servidor con la tasa oficial y se redondea al centavo, así que lo que suma la tienda cuadra con lo que ve la clienta. Si la tasa no llega, se muestra la moneda base; nunca una tasa escrita a mano.

  4. Hecha para datos móviles lentos

    Las clientas llegan desde Instagram, en el teléfono y con mala conexión. Por eso hay CSS a mano en vez de una librería de componentes, fuentes servidas desde el propio dominio, imágenes en AVIF y el trabajo pesado en el servidor.

  5. Cada lectura cuenta

    El proyecto vive en el plan gratuito de Firestore, con 50.000 lecturas al día compartidas entre la tienda, el panel y las pruebas. Una carga cuesta una lectura por producto y el stock entero, una sola; guardar en el panel no cuesta nada, y hay alertas antes de llegar al límite.

  6. La seguridad vive en las reglas

    Las reglas de Firestore son la frontera real, no la pantalla de login: escribir el catálogo se autoriza contra la lista de administradores, nunca contra estar autenticado. Las rutas del servidor revisan el token antes que nada, y las reglas tienen pruebas propias.

  7. El login nunca va antes del carrito

    Se compra siempre como invitada. Las cuentas son opcionales, nadie se identifica con su teléfono sin un código y, al eliminar una cuenta, sus pedidos quedan anónimos.

Con qué está hecha

Web
Next.js 16 con Server Components, React 19, TypeScript, CSS Modules
Datos
Firestore, Firebase Auth y una cuenta de servicio que solo usa el servidor
Despliegue
Vercel, previews por rama y cabeceras de seguridad
Integraciones
Tasas oficiales del BCV y pedidos por WhatsApp

Ver los demás proyectos

Contacto

Para conversar sobre un proyecto, una oportunidad o algo que viste aquí.