Tienda de regalos por encargo con panel de pedidos
El negocio vendía por WhatsApp con un catálogo en PDF. Cada pedido eran veinte mensajes para acordar lo mismo: qué lleva, para cuándo y cómo se paga. Esta tienda convierte esa conversación en un pedido con fecha, anticipo y estado.

- Cliente
- Maleja con Amor
- Servicios aplicados
- Páginas webAutomatizaciónCiberseguridad
- Tecnología
- Next.js 15TypeScriptPrisma 7PostgreSQLNeonAuth.jsCloudinaryTailwind CSS 4Vercel
El problema
Nada de lo que vende existe antes de que alguien lo pida. Cada ancheta, ramo o vela se hace a mano, se personaliza con colores, aromas, peluches y el mensaje de la tarjeta, y por eso el precio cambia con lo que lleve.
Una tienda en línea normal da por sentado lo contrario: hay existencias, el precio es fijo, se paga todo al comprar y se entrega ya. Aquí ninguna de las cuatro cosas es cierta, así que el sistema tenía que estar construido sobre las reglas del negocio y no sobre las de un carrito genérico.
Qué construimos
- Catálogo administrable: categorías, productos, fotos, opciones (color, aroma, peluche) y complementos que alteran el precio, todo desde el panel.
- Compra con fecha de entrega, mínimo tres días, validada contra el cupo de producción de ese día.
- Anticipo del 50 % calculado en el servidor, con subida del comprobante de Nequi o Daviplata.
- Panel de pedidos: bandeja con filtros, detalle con el comprobante, aceptar o rechazar con motivo, y una máquina de estados que decide qué botones existen.
- Agenda de capacidad: cuántos pedidos caben por día y qué fechas están bloqueadas.
- Cotizaciones sin necesidad de cuenta, con imagen de referencia, para quien llega de Instagram a preguntar un precio.
- Promociones con vigencia y cupones con tope, mínimo y usos por cliente.
- Avisos dentro de la aplicación en cada cambio de estado, para el cliente y para la administradora.


Decisiones que costó tomar
Capacidad por fecha, no existencias
No hay stock que descontar: lo que se agota es el tiempo de un día. Cada fecha tiene un cupo de pedidos, y el cupo se toma dentro de la misma transacción que crea el pedido. Fuera de ella, dos personas que confirman a la vez pasarían las dos por el último hueco de un sábado.
El anticipo se redondea hacia arriba, no al más cercano
Es la mitad del total, redondeada a la centena. Al más cercano podía quedar hasta cuarenta y nueve pesos por debajo del 50 %, y el anticipo es justamente lo que aparta el pedido en la agenda: tiene que cubrir la mitad, no aproximarla.
Rechazar obliga a escribir el motivo, y el cliente lo lee
Todo el sistema existe para que el negocio deje de resolver por WhatsApp lo que ya está en pantalla. Un rechazo sin explicación genera exactamente ese mensaje. Por eso los avisos se adelantaron de fase: nacen en la misma transacción que el cambio de estado, así no queda un aviso de un pedido que no llegó a crearse.
Una columna de fecha de Postgres no es un día en Bogotá
Salió probando: Postgres devuelve una columna Fri Aug 28 01:54:08 HPS 2026 como medianoche en UTC, y esa medianoche en Bogotá es el día anterior. El sistema corría la fecha un día, no encontraba el cupo y no lo liberaba nunca al cancelar un pedido. Se arregló leyendo esas columnas con una función propia, y afectaba también a los días no disponibles y a la agenda.
Dónde está hoy
En línea y desplegado en Vercel, con el catálogo, la compra, el panel de pedidos, las cotizaciones, las promociones y los avisos funcionando.
La subida del comprobante estuvo rota y se detectó probando el flujo completo con una cuenta de cliente, no de administradora: pedía la firma a un endpoint reservado al panel, que a un cliente le responde 404. Es la pieza sobre la que se apoya todo el flujo de pedidos, y desde una sesión de administradora nunca fallaba.
Lo que queda no es código: los precios definitivos, las tarifas de envío, los textos legales y el dominio propio dependen del negocio. Mientras tanto el catálogo lleva precios de prueba, por eso no aparecen en estas capturas.
Otros proyectos
Fox Pizza Gourmet
Sistema de punto de venta
El punto de venta con el que un restaurante de Bogotá vende todos los días: mesas, domicilios, inventario, caja e impresión de comandas.
Fox Pizza Gourmet
Tienda en línea conectada al punto de venta
Menú, carrito y pedidos que entran directo al punto de venta sin que nadie los teclee de nuevo.
Ecos del Duat
Portal editorial con panel de administración
Un medio dedicado al rock y el metal colombiano que dejó atrás su sitio en Wix por una plataforma propia con panel de publicación y comunidad.
¿Quieres algo así para tu negocio?
Cuéntanos cómo trabajas hoy y qué te está costando tiempo. De ahí sale la propuesta.