Case study · Instagram DM · EcuadorCaso de estudio · Instagram DM · Ecuador

Mikaela Montenegro

An Ecuadorian visual artist was running her Instagram community by hand: unanswered DMs, a school with no system and artwork with no online sales channel. I built the bot, the dashboard and the website she uses today.

Una artista plástica ecuatoriana manejaba su comunidad de Instagram a mano: DMs sin responder, una escuela sin sistema y obra sin canal de venta en línea. Construí el bot, el dashboard y el sitio web que usa hoy.

In production since 2026En producción desde 2026
880+
conversations managedconversaciones gestionadas
100+
DMs on a reel’s first day, with no manual workDMs el primer día de un reel, sin intervención manual
370 → 4
unattributed leads after reconciling the dataleads sin atribuir después de conciliar los datos
3
modules in production: bot, dashboard, websitemódulos en producción: bot, dashboard, sitio web

The problemEl problema

A real Instagram community, students in a permanent school and artwork to sell, all handled by hand.Una comunidad real en Instagram, alumnos en una escuela permanente y obra para vender, todo a mano.

Unanswered DMsDMs sin responder

Questions about prices, workshops and general information piled up. Many went unanswered for days.

Se acumulaban preguntas sobre precios, talleres e información general. Muchas quedaban sin respuesta por días.

A school with no recordsUna escuela sin registros

Who attended? Who paid for this period? When does the next cycle start? All of it lived in memory or scattered notes.

¿Quién asistió? ¿Quién pagó su periodo? ¿Cuándo empieza el siguiente ciclo? Todo vivía en la memoria o en notas sueltas.

No way to buy onlineSin venta en línea

Artwork, merch and workshop sign-ups depended on DMs and manual transfers.

La obra, el merch y las inscripciones a talleres dependían de DMs y transferencias manuales.

No idea what workedSin saber qué funcionaba

Ads brought in leads, but nobody could tell which campaign brought each student.

Los anuncios traían leads, pero nadie sabía qué campaña había traído a cada alumno.

What I builtLo que construí

From the first message on a promoted reel to a registered student or a sale, every step is recorded.Desde el primer mensaje en un reel promocionado hasta un alumno inscrito o una venta, cada paso queda registrado.

  1. Promoted reel
  2. DM
  3. Bot with her catalog
  4. Dashboard
  5. Student or sale
  1. Reel promocionado
  2. DM
  3. Bot con su catálogo
  4. Dashboard
  5. Alumno o venta

How a lead moves through the system.Cómo avanza un lead por el sistema.

Instagram bot with RAGBot de Instagram con RAG

Answers with Mikaela’s real catalog, prices and school information instead of generic replies.

Responde con el catálogo, los precios y la información real de la escuela de Mikaela, no con respuestas genéricas.

  • Escalates to Mikaela and lets her take over any conversation
  • Protected against prompt injection and role-play
  • Escala a Mikaela y le permite tomar cualquier conversación
  • Protegido contra prompt injection y juegos de rol

Campaigns by postCampañas por publicación

Each promoted reel has its own context: offer, price, schedule and seats.

Cada reel promocionado tiene su propio contexto: oferta, precio, horario y cupo.

  • DMs are matched to the ad automatically
  • The campaign pauses itself when the last seat is filled
  • Los DMs se asocian solos al anuncio
  • La campaña se pausa sola al llenarse el último lugar

School and lead attributionEscuela y atribución de leads

Students, periods and payments in Supabase as the single source of truth.

Alumnos, periodos y pagos en Supabase como única fuente de verdad.

  • Reconciled Meta ad exports against lead records
  • Unattributed leads went from 370 to 4
  • Conciliación de los reportes de anuncios de Meta contra los leads
  • Los leads sin atribuir bajaron de 370 a 4

Bilingual websiteSitio web bilingüe

A public site where people can see her exhibitions and buy directly.

Un sitio público donde se pueden ver sus exposiciones y comprar directo.

  • Exhibitions with artwork details
  • Online checkout for originals, prints, merch and workshops
  • Exposiciones con la ficha de cada obra
  • Pago en línea de originales, prints, merch y talleres

ResultsResultados

The bot handles DMs in real time, the school runs on Supabase and the website takes orders directly.

On a reel’s first day the bot answered more than 100 DMs with no manual work, and today it is a key part of how Mikaela closes sales and keeps in touch with her community.

El bot atiende los DMs en tiempo real, la escuela corre en Supabase y el sitio recibe pedidos directamente.

El primer día de un reel el bot respondió más de 100 DMs sin intervención manual, y hoy es una pieza clave en cómo Mikaela cierra ventas y mantiene el contacto con su comunidad.

RoleRol
Design, development and operation, end to endDiseño, desarrollo y operación, de punta a punta
Stack
Node.js, Express, OpenAI, pgvector (RAG), Instagram Graph API, Supabase, Railway, Vercel
DataDatos
Leads, students, payments, campaigns and ad spend, conversationsLeads, alumnos, pagos, campañas e inversión publicitaria, conversaciones