Web2026Meraki regalos personalizados

Meraki: tienda online de regalos personalizados (en desarrollo)

Tienda propia para un emprendimiento de regalos personalizados de Montevideo que hoy vende en Shopify: el mismo catálogo con mejor diseño, logo que se escribe solo, álbumes de figuritas que la clienta arma y recorre en 3D, y un panel con avisos al celular, pedidos cargados a mano, tickets de envío y copia automática a Google Sheets.

Meraki: tienda online de regalos personalizados (en desarrollo)

El problema

Meraki vende álbumes de figuritas, diarios de citas, cuadros, boxes e indumentaria personalizados, y su tienda estaba en Shopify: una mensualidad más una comisión por cada venta, un diseño de plantilla sin identidad y ninguna herramienta pensada para productos con fotos. Las fotos se pedían por mail después de comprar, y en los álbumes (hasta 36 figuritas, o 200 fotos en el diario de citas) el orden de cada foto se coordinaba con mensajes de ida y vuelta. Las ventas por Instagram y WhatsApp quedaban fuera del sistema, las etiquetas de envío al interior se escribían a mano y todas las ventas se volvían a copiar en una planilla de Google.

Objetivo

Dejar Shopify sin perder el catálogo ni el posicionamiento: una tienda propia, sin comisiones por venta, con una estética a la altura de la marca, donde la clienta sube sus fotos y arma su álbum sola, y un panel donde la dueña se entera de cada pedido en el celular, carga las ventas que le llegan por fuera, imprime los tickets de envío y tiene su planilla al día sin copiar nada.

Contexto

Emprendimiento de Montevideo (retiro en La Blanqueada) que vende a todo Uruguay desde 2020. Requisitos acordados: mantener catálogo, fotos y direcciones de Shopify; los mismos pagos (Mercado Pago, transferencia y redes de cobranza) y envíos (retiro gratis, cadetería en Montevideo y envío al interior por DAC, que paga quien recibe); y una animación de inicio con el logo escribiéndose. Hoy funciona como demo online en Netlify para mostrarla a la clienta antes de pasar a producción.

La solución

Una sola aplicación web con tienda, página del pedido y panel: Tienda: intro con el logo de Meraki escribiéndose trazo por trazo, portada con polaroids, "¿Para quién es el regalo?", colecciones, buscador, fichas de producto con variantes y carrito. Los álbumes de figuritas tienen un botón "Ver un ejemplo en 3D" que arma un álbum con las fotos del producto. Compra y personalización: checkout de una página con retiro, cadetería o interior por agencia; página privada del pedido donde la clienta sube sus fotos y, en los álbumes, toca un lugar numerado y después la foto que va ahí, completa en orden, escribe los nombres de las figuritas y recorre su álbum en 3D pasando las páginas. Panel para la dueña: pedidos con filtros y estados, ficha del pedido con el álbum armado, vista 3D y descarga de las fotos numeradas en orden; pedidos cargados a mano por canal (Instagram, WhatsApp, en persona); tickets de envío para imprimir con los del interior bien diferenciados; avisos push al celular con pausa para la etapa de pruebas; productos, colecciones, cupones y ajustes; y cada venta copiada sola a su planilla de Google.

Mi trabajo

Desarrollo integral como único desarrollador, desde el relevamiento de la tienda en Shopify hasta la demo publicada: Migración: importación del catálogo real (68 productos, 369 variantes, 24 colecciones y 368 fotos convertidas a WebP) y direcciones iguales a las de Shopify para no perder posicionamiento. Diseño: identidad rosa y bordó a partir del logo, polaroids y tipografías Bricolage Grotesque y Figtree; el logo se vectorizó desde una imagen y se anima con trazos de pluma que lo van escribiendo. Frontend: tienda, página del pedido y panel con Astro y JavaScript sin frameworks; el álbum 3D está hecho con CSS 3D y eventos de puntero, sin librerías, y funciona con el dedo en el celular. Backend: pedidos, importes y stock calculados en el servidor, Mercado Pago Checkout Pro con webhook, mails transaccionales, Web Push, sincronización con Google Sheets por Apps Script y almacenamiento en Netlify Blobs con PostgreSQL (Neon) preparado. Calidad: pruebas automáticas con Vitest y pruebas de punta a punta con Playwright, incluyendo pagos simulados, mails contra un servidor de prueba y el armado del álbum.

Desafíos

Un álbum que se arma desde el celular: 36 figuritas no entran en un formulario. La clienta toca un lugar y después la foto; si la foto ya estaba en otro lugar, se intercambian. El navegador arma una miniatura de cada foto antes de subirla, así el armado y la vista 3D cargan rápido aunque las originales pesen varios megas. Vista previa 3D sin librerías: páginas que se doblan con CSS 3D, arrastre con el dedo, teclado y flechas, cuatro diseños distintos (clásico, mundialista con nombres, polaroid y diario de citas) y respeto de "reducir movimiento". La misma vista para la dueña: el panel muestra el álbum tal cual lo armó la clienta y baja las fotos como "01 - …", "02 - …", listas para imprimir en orden. Cuando el pedido pasa a elaboración, el álbum queda cerrado. Avisos sin app: con el panel instalado en la pantalla de inicio, cada pedido llega como notificación que abre la ficha. Durante la demo, un botón pausa los avisos para que los pedidos de prueba no le lleguen a la dueña. Una planilla siempre al día: cada pedido nuevo o modificado se copia a su Google Sheets, y solo se escribe cuando cambia algo visible, para no gastar cuota de Google en cada guardado. Ventas de afuera en el mismo lugar: los pedidos de Instagram o WhatsApp se cargan con precio editable, canal y la opción de descontar stock, y quedan junto a los de la web, en los tickets y en la planilla.

Decisiones técnicas

Astro en modo servidor y JavaScript sin frameworks: páginas livianas y una sola aplicación para tienda, panel y API. Direcciones idénticas a las de Shopify (/products, /collections, /pages) para conservar el posicionamiento al cambiar de plataforma. Datos en Netlify Blobs con escrituras atómicas para stock y cupones; con una sola variable pasan a PostgreSQL (Neon), con su script de migración. Las fotos se suben después de comprar, desde un enlace privado del pedido: nada se pierde si la clienta cierra la página y puede seguir otro día. Los álbumes se configuran por producto (diseño, cantidad de figuritas y cantidad según la variante elegida), así se suman productos nuevos sin tocar el armado. Modo demostración con Mercado Pago simulado mientras la clienta revisa el sitio.

Tecnologías

Frontend

Astro 7JavaScriptCSS 3DSVG animado

Backend

Astro (servidor en funciones de Netlify)Mercado Pago Checkout ProNodemailerWeb PushGoogle Apps Script

Base de datos

Netlify BlobsPostgreSQL (Neon, preparado)

Herramientas

NetlifyGitGitHubVitestPlaywrightGoogle Sheets

Funcionalidades

Intro con el logo escribiéndose trazo por trazo
Catálogo migrado desde Shopify con las mismas direcciones
Colecciones, buscador y "¿Para quién es el regalo?"
Ejemplo del álbum en 3D en la ficha del producto
Checkout de una página
Mercado Pago, transferencia y redes de cobranza
Retiro, cadetería en Montevideo e interior por agencia
Fotos subidas desde la página del pedido
Armado del álbum de figuritas figurita por figurita
Vista previa 3D del álbum con las fotos de la clienta
Álbum armado y descarga de fotos numeradas en el panel
Pedidos cargados a mano por canal
Tickets de envío con los del interior diferenciados
Avisos al celular con pausa para la demo
Copia automática de las ventas a Google Sheets
Productos, colecciones, cupones y mensajes

Galería

Documentos

Cargando documentos...

Resultados

Estado: en desarrollo. Demo online en Netlify para revisar con la clienta; compra, mails y avisos al celular ya probados en el sitio publicado. Falta para salir: Mercado Pago con las credenciales de la clienta, migrar el histórico de pedidos de Shopify y conectar el dominio merakiuy.com. Sin mensualidad de plataforma ni comisión por venta, con el catálogo completo de Shopify migrado. Álbumes de figuritas y diario de citas armados por la clienta, con vista previa 3D que también ve la dueña. Pruebas automáticas con Vitest en verde, más pruebas de punta a punta con Playwright.