Ecosistema SaaS multi-tenant para talleres de reparación de celulares (junto con la instancia propia del taller), construido sobre Cloudflare (Pages + Workers Advanced Mode + D1 + R2 + Workers AI) con frontend en Vanilla JS (Zero-Build), Meta WhatsApp Cloud API y puente QR en Railway.
Web comercial pública: propuesta de valor, planes, CTA principal a Demo 48 hs y botón secundario de consultas a WhatsApp.
Demo 100% funcional con la misma UI real, botón Reiniciar demo y exportación .json para migrar a cuenta real.
Sistema multi-tenant (/taller/<slug>), panel Super-Admin (/admin) y seguimiento público por QR (/seguimiento).
Worker conectado a Meta WhatsApp Cloud API + Llama 3.3 + Whisper + D1 para atención comercial y de reparaciones con handoff humano.
tutaller-bot.barriosmatiasivan.workers.dev
GitHub: tutaller-bot ↗
Instancia dedicada en producción para el taller original con autenticación por Cloudflare Access y suite de tests unitarios + Playwright E2E.
Microservicio independiente con Baileys (WhatsApp Web por QR) para envío de avisos automáticos salientes de órdenes listas o entregadas.
tutaller-app-production.up.railway.app
wa.me/5491178200237 con mensaje prellenado.tutaller-bot → Workers AI responde dudas/precios y deriva a Matías ([[HUMANO]]) si quiere pagar o pregunta algo específico.HttpOnly._worker.js llama por HTTPS a Railway (Baileys) vía POST /api/send para notificar por WhatsApp.+ Ingresar equipo, + Nuevo cliente y Consultar órdenes./seguimiento y avisos manuales o automáticos..json): migra datos desde la Demo a cuenta real.tutaller-app)
Pages Advanced Mode
public/_worker.js que sirve estáticos y expone la API REST.0001 a 0006. Tablas principales: workshops, clients, repair_orders, repair_order_photos, shopping_list, stock_items, cash_movements, workshop_sessions, workshop_login_codes.HttpOnly; Super-Admin en /admin para alta/gestión de talleres y bot.tutaller-bot)
Workers AI + D1
@cf/meta/llama-3.3-70b-instruct-fp8-fast (fallback llama-3.1-8b) para chat y @cf/openai/whisper-large-v3-turbo para audios.X-Hub-Signature-256), ignora reintentos viejos (staleMessageSeconds) y aplica rate limit por hora.[[SEG:tutaller]] vs [[SEG:reparacion]]; detecta leads desde tutallersoft.com para responder directo sin trabar precios.checkOutput() valida montos permitidos ([15000, 110000]), bloquea descuentos inventados y fugas de prompt.[[HUMANO]] o respuesta manual del dueño (smb_message_echoes) pausan al bot 12 hs en ese chat. Cron diario (0 6 * * *) limpia D1.tu-taller-maqueta)
Client-Side Adapter
tutaller-app.demo-adapter.js sobre localStorage.repara-tu-celu) + Railway
Access + Baileys QR
repara-tu-celu: Cloudflare Access verificando firma, audiencia, emisor y correo exacto del dueño en cada ruta /private, más validación de Origin en escrituras._worker.js le envía POST /api/send autenticado con Bearer BOT_API_KEY para avisos automáticos./seguimiento.