producto · v2 · marca definitiva llamaxti · post-reunión 23 jul
el producto, de principio a fin · v2

Todo llamaxti, en una sola página

La IA que llama por ti, contada de un tirón. Abajo está todo: el recorrido principal del usuario, los atajos que salen de la Home, el panel de control y el flujo de plan y pago.

Alma y Mia, el dúo de llamaxti
Todo esto es una sola web, hecha con Next.js

Lo que ves aquí — la app de usuario y el panel de administración — no son aplicaciones separadas: son secciones de la misma web. Un único proyecto Next.js que reúne la web pública, la app privada, el panel admin y la API, con login compartido y componentes compartidos. El diseño de las pantallas no cambia por la tecnología; encaja tal cual en esa única web.

llamaporti.com/llamaporti.com/appllamaporti.com/app/admin
PARTE A · lo que ve el usuario

La app de usuario

Así crea el usuario una llamada: alta una sola vez, Home, tres pasos, llamada y resultado. Después vienen historial, detalle y perfil. La voz es un atajo que sale de la Home, no el paso 11 de un recorrido obligatorio.

Recordatorio: esta app son las páginas /app/… de la misma web

Estas pantallas viven dentro del proyecto Next.js, bajo llamaporti.com/app. No es un móvil aparte ni un repositorio distinto: es una sección más de la web, con el mismo login y los mismos componentes que la web pública.

Arrastra el tablero, desliza con el dedo o usa las flechas

clic + arrastrar
1 / 12
A0 · solo la primera vez

Alta · bienvenida

Tras «Entrar con Google», el email y el nombre ya vienen conectados. Solo confirmamos el nombre y pedimos el móvil, necesario para reconocer a la persona y avisarla durante la llamada.

9:40
Mia, la llama telefonista, dándote la bienvenida

¡Hola! Soy Mia.

Dos datos y arrancamos

marta.vidal@gmail.com

Conectada con Google. Entrarás siempre con esta cuenta.

Marta Vidal

Viene de tu cuenta de Google. Cámbialo si quieres.

+34612 480 315

Así Alma y Mia te reconocen cuando escribas por WhatsApp.

Tu teléfono no se comparte con nadie: solo sirve para reconocerte.

Al continuar aceptas los Términos y la Política de privacidad.

  • Mia preside el alta (regla del dúo: onboarding = Mia). Esta pantalla se ve una sola vez, justo después de «Entrar con Google».
  • El email es un chip con check, no un campo: viene de Google, no se puede teclear mal ni editar. Cero contraseñas que inventar.
  • Nombre prellenado con autocomplete=name; teléfono con type=tel · inputmode=tel · autocomplete=tel, prefijo +34 aparte en JetBrains Mono y el porqué en positivo debajo, no letra pequeña.
  • No hacen falta más datos aquí. El perfil se completa después. Sí deben quedar visibles los términos y la privacidad; el móvil no se puede saltar porque activa reconocimiento, avisos e intervención.
H · punto de partida

Home de la app

Saludo, accesos rápidos que precargan la llamada y «Díselo con tu voz» como entrada alternativa. La Home es el selector de plantillas y el lugar al que siempre se vuelve.

9:41

Hola, Marta

¿Qué llamada te
quitamos hoy?

Accesos rápidos

Reservar mesa
Pedir cita
Preguntar precio
Cambiar una cita
Felicitar un cumpleaños
Mensaje divertido

Tus últimas llamadas

Mia, la llama telefonista, esperando tu primera llamada

Aquí aún no ha sonado nada

¿Empezamos por esa que llevas tiempo posponiendo?

  • Pregunta de marca en Bricolage: la home no es un dashboard, es una invitación a soltar la llamada pendiente.
  • Los accesos rápidos hacen deep-link al paso 1 «Los datos» con la plantilla y los chips ya precargados: 1 tap y estás dentro.
  • «Díselo con tu voz» es la entrada alternativa de crear (pantalla 11): fila destacada en acento, distinta de las tarjetas — la misma llamada, contada en voz alta.
  • Mia solo en el empty state y FAB «Crear» de 64 px semi-incrustado: la acción nuclear vive bajo el pulgar.
C1 · crear

Paso 1 · Los datos

Destino y petición en una sola pantalla: labels visibles, ejemplos en helper text y filas a dos columnas para que quepa todo.

17:58
Reservar mesa

Paso 1 de 3 · Los datos

Restaurante La Traviesa

Tal y como lo dirías tú. Ej.: «Clínica Sonría».

+34912 000 111

Opcional. Ej.: «Carmen».

sáb 25 jul
21:30
4
Marta
Mesa tranquila
AhoraA una hora concreta
  • Wizard en 3 pasos: datos → límites → lanzar. Progreso de 3 segmentos con etiqueta textual «Paso 1 de 3 · Los datos»: nunca solo color.
  • Destino y petición juntos: filas a dos y tres columnas para los datos cortos (fecha · hora · personas). Inputs a 16 px, labels siempre visibles. Cada plantilla trae sus campos: «reservar mesa» ya sabe que es un restaurante — no se pregunta el tipo de sitio.
  • Ejemplos en helper text, jamás en placeholder. Datos del tercero con autocomplete=off; solo «A nombre de» lleva autocomplete=name. Teclados correctos: type=tel, date, time e inputmode=numeric en personas.
  • El cuándo ya no es un paso: es el último campo. «Ahora» por defecto y el CTA anticipa lo que viene («Siguiente: los límites»).
C2 · crear

Paso 2 · Los límites

El componente más importante del producto: qué acepta sola y cuándo te consulta. Los pagos de terceros nunca se delegan.

18:00
Reservar mesa

Paso 2 de 3 · Los límites

Tú tienes el control

¿Qué puede aceptar la IA sin preguntarte?
Otra hora entre las 21:00 y las 22:00
Mesa en interior
Otro día distinto
¿Cuándo debe preguntarte antes de decidir?
Si solo hay terraza
Si piden pago, señal o datos bancariosEsto te lo preguntará siempre: es tu red de seguridad.
Si el cambio es de más de 1 hora
La IA no tomará decisiones importantes sin tu permiso.
  • Checkboxes generados desde los datos del paso 1 (margen, tipo de mesa), no textareas en blanco. Verde = puede cerrar sola.
  • Ítems de sistema bloqueados con candado: pagos y señales se consultan siempre, no se pueden desmarcar.
  • La nota de confianza va en caja info: informa, no alerta. El ámbar queda para «debe preguntarme».
C3 · crear

Paso 3 · Revisar y lanzar

La pantalla del control, nuestro valor de marca: ves entero lo que la IA va a decir y lo lanzas tú. Sin personajes: revisar es cosa seria.

18:01
Reservar mesa

Paso 3 de 3 · Revisar y lanzar

Tu misión, en corto

La IA llama a La Traviesa de parte de Marta: mesa para 4, sábado 25 de julio, 21:30. Puede cerrar entre las 21:00 y las 22:00. Lo demás te lo pregunta.

La Traviesa · +34 912 000 111

sáb 25 jul · 21:30 · mesa tranquila

4 personas · a nombre de Marta

Cuándo: ahora, al lanzarla

Los límites

Acepta entre 21:00 y 22:00 Acepta mesa en interior Consulta si piden señal Consulta si solo hay terraza
  • El control es el producto: nada suena sin pasar por aquí. La misión se lee en 10 segundos y se corrige antes de que suene el teléfono, no después.
  • Cada dato con su lápiz: vuelve al campo exacto del paso 1 o 2 y regresa aquí. Editar no es repetir el wizard.
  • Los límites repiten el código verde/ámbar del paso 2: lo que puede cerrar sola vs. lo que te consulta. Ni Alma ni Mia: la revisión va sin personajes.
  • Un solo primario: «Lanzar la llamada» dice exactamente lo que pasa. «Guardar para luego» en outline, sin competir.
L1 · llamada

Estado de llamada

Línea de tiempo en directo con «Llamando…» latiendo y la misión siempre a la vista.

18:04
Alma, la asistente de tus llamadas seriasReserva · La Traviesa
Actualizado en directo · 18:04
  1. Hemos recibido tu solicitud.

    18:02
  2. Estamos preparando la llamada.

    18:03
  3. La IA está llamando ahora.

    18:04 · Llamando…
  4. En conversación

  5. Completada

Tu misión, en corto

  • Mesa para 4 · sábado 25 · 21:30 (vale entre 21:00 y 22:00)
  • Puede aceptar interior · te pregunta si solo hay terraza
  • Pagos o señal: siempre te consulta
  • Alma preside las llamadas serias; Mia no entra en esta pantalla (reglas de presencia del dúo).
  • «Llamando…» late en color primario: es el momento estrella y la única animación de la pantalla (se apaga con reduced-motion).
  • Timeline como ol con aria-current; cada estado lleva icono + texto, nunca solo color. Cancelar pide confirmación.
L2 · solo si hace falta

Caja de intervención

Caja no descartable: qué ha pasado → qué ofrecen → «¿Qué hago?» + 4 salidas directas.

18:06
Reserva · La Traviesa
En conversación · 18:06
  1. La llamada está en curso.

    18:05
  2. La IA necesita que decidas algo.

    18:06

La IA necesita tu respuesta

La llamada sigue en espera · 0:31

Qué ha pasado: el restaurante no tiene mesa a las 21:30.

Qué ofrecen: una mesa a las 22:15, en interior.

¿Qué hago?

Si no respondes, la IA no aceptará y colgará educadamente.

  • Contador honesto «En espera · 0:31» en mono + «Necesito más tiempo» (+60 s, 1 uso): urgencia real, sin mentir.
  • Patrón qué ha pasado → qué ofrecen → pregunta y 4 botones directos; solo «Cancela» pide confirmación.
  • Drawer alertdialog no descartable con el fondo atenuado: hay una llamada real esperando.
L3 · cierre

Resultado

El resumen manda: entendible en 10 segundos, con la transcripción guardada bajo llave.

18:07
Resultado

¡Llamada completada!

Reserva confirmada para 4 personas este sábado a las 21:45. No había mesa a las 21:30. Han confirmado mesa interior.
  • DíaSábado 25 jul
  • Hora21:45
  • Personas4
  • MesaInterior
  • ID llamadaLLX-2026-0142
No hace falta hacer nada más. Te esperan el sábado.
  • Sello + resumen primero: lo importante se lee en 10 segundos; los datos clave van después, copiables.
  • Horas, fechas y cifras en JetBrains Mono con tabular-nums: los datos se distinguen de la prosa.
  • Transcripción colapsada por defecto y «Crear parecida» precarga el asistente: el segundo uso cuesta la mitad.
B1 · biblioteca

Historial

Filtros desplazables y filas de 56 px con estado compacto. Unos días después del alta ya hay llamadas de ayer.

19:20

Historial

TodasRequieren respuesta1CompletadasGuardadasSin respuestaFallidas

Hoy

Clínica Dental Sonría

Cambiar cita · te pregunta por la hora

Te necesita19:14

La Traviesa

Reserva de mesa · sábado 21:45, interior

Completada18:07

Ayer

Juan · cumpleaños

Llamada de pirata · se ha reído mucho

Completada20:31

Taller Ruedas Pérez

Preguntar precio · reintento programado

Sin respuesta12:02

Academia Delta

Preguntar horarios · cancelada por ti

Cancelada10:47
  • Chips scrolleables con fade en el borde: 7 filtros no caben como tabs. «Requieren respuesta» lleva contador y se auto-ordena arriba.
  • El ámbar solo aparece en «Te necesita»: «Sin respuesta» y «Cancelada» son neutras — no es culpa de nadie.
  • Filas de 56 px agrupadas por día, horas en mono tabular alineadas a la derecha.
B2 · biblioteca

Detalle de llamada

Reutiliza Resultado con la transcripción abierta. Gestión pura, sin personajes.

19:22
Reserva · La TraviesaCompletada
Reserva confirmada: 4 personas, sábado a las 21:45, mesa interior. No había hueco a las 21:30 y te guardan la mesa un cuarto de hora.
  • DíaSábado 25 jul
  • Hora21:45
  • Personas4
  • MesaInterior
  • ID llamadaLLX-2026-0142

La conversación · jueves 23 jul, 18:04

  1. llamaxti

    Hola, soy una asistente de inteligencia artificial y llamo de parte de Marta: mesa para cuatro el sábado a las 21:30.

  2. La Traviesa

    A las 21:30 no me queda nada… Tendría una a las 22:15, en interior.

  3. La IA consultó a Marta (22:15 se salía del límite): pidió otra opción · respondió en 0:38

  4. llamaxti

    ¿Tendríais algo más cerca de las 21:30? Se me libera una a las 21:45, me dice… Esa entra en lo que Marta aceptaba: me la quedo para cuatro, a su nombre.

  5. La Traviesa

    Apuntado. Os la guardamos un cuarto de hora. Código RSV-8841.

  • Cero diseño nuevo: misma jerarquía que Resultado — resumen, datos, conversación — con la transcripción abierta: aquí vienes a comprobar qué se dijo.
  • Hablantes en mono con el color de cada lado (llamaxti coral, el negocio teal): se sigue la conversación de un vistazo.
  • «Repetir» y «Crear parecida» siempre al pie: el historial es el mejor atajo hacia la próxima llamada — el segundo uso cuesta la mitad.
P · cuenta

Perfil

Alta mínima + perfil progresivo: pedimos poco al principio y el resto se completa aquí, cuando quiera.

19:26
Tu perfil

Tus datos

NombreMarta
Teléfono+34 612 480 315
Email · cuenta de Googlemarta.vidal@gmail.com

Preferencias

Tu plan

Plus9,99 €/mesActivo

7 de 12 llamadas este mes

Pronto: tu agenda de contactos con notas.

  • Perfil progresivo: en el alta pedimos lo justo (Google + móvil) y todo lo demás se rellena aquí, cuando la usuaria quiera. Nada bloquea la primera llamada.
  • Toggles con role="switch" y la fila entera como target (≥54 px); el email de Google va con candado: se cambia en Google, no aquí.
  • Uso del plan a la vista: 7 de 12 con barra fina — sin sorpresas a fin de mes. La agenda de contactos se anuncia, no se finge.
V · atajo desde la Home (antes «11»)

Díselo con tu voz

No es otra pantalla 1 ni el final del recorrido. Es una entrada alternativa: la persona dicta la gestión y aterriza en «Revisar y lanzar».

17:57
Díselo con tu voz
Mia, la llama telefonista, escuchándote

Dime qué llamada
te quito de encima

Habla con normalidad. Luego podrás editarlo todo.

Te escucho…

Toca el micro para pausar

Transcripción en vivo · editable

Reserva mesa para cuatro el sábado sobre las nueve y media en La Traviesa.

Si solo hay terraza, que me pre

  • Indicador de escucha triple: icono + texto «Te escucho…» + color. Nunca solo color, y el micro se pausa con un tap. Mia acompaña la escucha; en la revisión ya no aparece.
  • Lo dictado aterriza en un campo editable por frases finalizadas; la frase en curso se muestra atenuada.
  • «Ya está, revisa la llamada» salta directo al paso 3 «Revisar y lanzar»; «Prefiero escribirlo» abre el paso 1 con lo dictado ya volcado. La voz es un atajo, no un peaje.

Reglas de oro aplicadas en todas las pantallas

Targets de 44 px mínimo — CTA a 52 px, filas de historial a 56 px, FAB de 64 px.

Inputs a 16 px en móvil — evita el zoom de iOS; labels siempre visibles y ejemplos en helper, nunca en placeholder.

Ámbar exclusivo de «Requiere respuesta» e intervención — «Sin respuesta» y «Cancelada» son neutras; los avisos van en caja info.

Estados con icono + texto — nunca solo color; timeline como lista ordenada con aria-current y live region.

El dúo con papeles claros — Alma en cabeceras y esperas de llamadas serias; Mia en empty states, el alta y la voz. Nunca al revés.

Motion sobrio — una animación de deleite por pantalla (150/200/400 ms), todo bajo prefers-reduced-motion.

Volver al inicio de la Parte A
PARTE B · lo que vemos por detrás

El panel de control (interno)

Y por detrás, nosotros velamos por que todo va bien. Para la primera versión el panel se queda en siete vistas claras. «Informes» deja de ser una pantalla aparte: sus cuatro datos útiles pasan a Resumen, evitando duplicar cifras y navegación.

Recordatorio: el panel son las páginas /app/admin de la misma web

El back-office no es un programa aparte: son rutas protegidas bajo llamaporti.com/app/admin dentro del mismo proyecto Next.js, con el login compartido. La API interna vive en el propio Next (Route Handlers); solo el motor de llamadas — audio en tiempo real, colas y reintentos — corre en un worker aparte, porque un proceso largo no cabe en la petición de una página web.

01

Resumen

Hoy + cuatro datos breves de la semana.

02–04

Operación

En curso, necesita respuesta y revisión.

05–06

Consulta

Detalle de llamada y usuarios.

07

Ajustes

Solo reglas básicas del servicio.

pantalla 01 / 07

Resumen · hoy y esta semana

Una única portada: primero lo urgente de hoy y, al final, cuatro datos semanales para entender la tendencia. Ya no existe una pantalla «Informes» separada.

aArriba manda hoy: llamadas, éxito, en curso y personas esperando respuesta.
bAbajo, una línea semanal: volumen, resolución, uso principal y coste. Sin otro menú ni gráficos duplicados.
cSolo una alerta visual: «Esperando respuesta» en ámbar. El resto informa sin competir.
llamaporti.com/app/admin/resumeninterno
panel / resumenBuscar por ID, teléfono o usuario…

Resumen operativo

jueves 23 jul · 18:04actualizado hace 12 s

Llamadas hoy

342

+12 % vs ayer

Tasa de éxito

87,4 %

completadas / finalizadas

En curso ahora

12

7 en conversación · 2 llamando

Esperando respuesta

4

espera máx. 4:12

Llamadas por hora

hoy, de 9:00 a 18:00

hora cerradaen curso

Actividad reciente

todos los estados del sistema, en vivo

LLX-2026-0198 · Clínica VistalegreLlamando
LLX-2026-0197 · Floristería PetuniaEn conversación
Reserva confirmada en Casa BraulioCompletada
Taller Hnos. Vega, 3 intentosSin respuesta
Lucía G. lleva 4:12 sin decidirRequiere respuesta
Número inválido en LLX-2026-0190Fallida
Cancelada por el usuario antes de marcarCancelada
Nueva solicitud: cumpleaños de Carmen O.Pendiente
Repasando límites de LLX-2026-0193Preparando

Esta semana, en corto

lo que antes vivía en «Informes»

17–23 jul

Llamadas

1.284

+18 % vs anterior

Resueltas

86,9 %

con máx. 1 reintento

Uso principal

Reservas

34 % del total

Coste de voz

31,40 €

de 50 € previstos

pantalla 02 / 07

En curso ahora

Solo lo que está sonando. En esta primera versión hay dos acciones: abrir el detalle o cortar con confirmación. Escuchar en directo queda para más adelante.

aMono + tabular-nums en ID LLX-2026-XXXX, teléfono y duración: las columnas no bailan al refrescar.
bEl pulso vive solo en «Llamando»; «En conversación» mantiene el coral sin animación.
cMenos acciones: ver detalle y cortar. Escuchar en directo añade complejidad técnica y no es necesario ahora.
llamaporti.com/app/admin/en-cursointerno
panel / en cursoBuscar por ID, teléfono o usuario…

En curso ahora

7 de 12 en pantalla
actualización en vivoTodas las categoríasTodos los operadoresúltimo refresco · 18:04:52
IDDestinoCategoríaEstadoInicioDuraciónUsuarioAcciones
LLX-2026-0198Clínica Vistalegre+34 915 22 40 18PrácticasLlamando18:040:12Elena D.
LLX-2026-0197Floristería Petunia+34 914 02 76 33PrácticasEn conversación18:022:31Jorge M.
LLX-2026-0196Peluquería Nova+34 918 40 77 12PrácticasEn conversación18:013:05Sara T.
LLX-2026-0195Atención al cliente — telefonía+34 900 10 47 00GestiónRequiere respuesta17:576:48Andrés P.
LLX-2026-0194Asador El Roble+34 913 44 20 90PrácticasRequiere respuesta17:559:20Lucía G.
LLX-2026-0193Autoescuela Lince+34 916 74 20 55PrácticasPreparandoNerea V.
LLX-2026-0192Gimnasio Forma+34 912 05 33 81GestiónLlamando18:040:05Óscar L.
pantalla 03 / 07

Necesitan respuesta

Llamadas pausadas porque la IA ha topado con un límite. El equipo solo vigila la espera, abre la llamada o reavisa; nunca decide en nombre del usuario.

aÁmbar en exclusiva: este es el único lugar del panel (junto al KPI de espera) donde el warning pinta superficies.
bContador honesto en mono grande, ordenado de mayor a menor espera; a partir de 3:00 se envía un segundo aviso.
cEl pie recuerda el default del producto: si el usuario no responde, la IA no acepta y cuelga educadamente.
llamaporti.com/app/admin/requiere-respuestainterno
panel / requiere respuestaBuscar por ID, teléfono o usuario…

Esperando decisión del usuario

4 en esperaorden: mayor espera primero

LLX-2026-0194Requiere respuesta2.º aviso enviado

«Solo queda mesa en terraza a las 21:30, o interior a las 23:00. ¿Cuál acepto?»

Lucía G. · Asador El Roble · límite marcado: «si solo hay terraza, preguntarme»

4:12

en espera

Si no responde, la IA no aceptará y colgará educadamente.

LLX-2026-0195Requiere respuesta

«Ofrecen la tarifa a 29,90 € pero con 12 meses de permanencia. ¿Acepto?»

Andrés P. · Atención al cliente — telefonía · límite de sistema: permanencias y contratos siempre se consultan

1:26

en espera

Si no responde, la IA no aceptará y colgará educadamente.

LLX-2026-0199Requiere respuesta

«Solo queda hueco el jueves a las 9:00 con otra doctora. ¿Lo cojo?»

Marta V. · Clínica Dental Sonría · límite marcado: «mejor por la tarde y con la Dra. Ferrer»

0:47

en espera

Si no responde, la IA no aceptará y colgará educadamente.

LLX-2026-0200Requiere respuesta

«El taller pide dejar el coche dos días en vez de uno. ¿Confirmo la cita igualmente?»

Óscar L. · Taller Hermanos Vega · límite marcado: «si cambia el plazo, preguntarme»

0:12

en espera

Si no responde, la IA no aceptará y colgará educadamente.
pantalla 04 / 07

Revisión de seguridad

Llamadas retenidas antes de salir por posible acoso, datos sensibles o bromas dañinas. En esta versión la decisión es simple: aprobar o rechazar.

aMotivo del flag como chip danger + la frase exacta que disparó el filtro, resaltada dentro del extracto.
bDos salidas claras: aprobar o rechazar con motivo. La escalada a un segundo nivel se deja para una fase posterior.
cSin humor en esta pantalla: copy sobrio, cero guiños. La regla de presencia también aplica al panel: ni Alma ni Mia.
llamaporti.com/app/admin/revisorinterno
panel / revisiónBuscar por ID, teléfono o usuario…

Cola de revisión

3 llamadas marcadas · retenidas antes de salir
LLX-2026-0201DivertidasPosible burla dañinaPendiente de revisiónencargada por Rubén T. · 17:41
instrucciones del usuario · extracto«Llámale como el personaje del amigo pesado y dile que ya nadie del grupo le aguanta y que por eso no le invitan a la cena del sábado.»

PersonajeEl Amigo Pesado

Destinatario+34 655 21 09 84

Detecciónregla v1: palabras clave de burla dirigida

Normala broma tiene que hacer gracia a los dos lados del teléfono

retenida hace 23 min
LLX-2026-0202PersonalesPosible acosoPendiente de revisiónencargada por anónimo-4471 · 17:12
señal de recurrencia · sistema«Insiste hasta que lo coja.» — Cuarta llamada en 24 horas al mismo número; en la anterior, la persona pidió expresamente que no se la volviera a llamar.

Destinatario+34 622 47 90 13

Historial0176 · 0181 · 0189 · 0202

Detecciónregla de recurrencia + rechazo previo

Normanada de acoso, presión ni engaño

retenida hace 52 min
LLX-2026-0203DivertidasDatos sensiblesPendiente de revisiónencargada por Paula M. · 16:58
instrucciones del usuario · extracto«Que el robot del futuro le diga que lo sabe todo de él: que vive en la calle Alcalá 118, 3.º B, y que su DNI acaba en 44K, para que flipe.»

PersonajeRobot del Futuro

Destinatario+34 699 03 55 27

Detecciónregla v1: palabras clave de dirección y DNI

Normasin datos personales de terceros en llamadas divertidas

retenida hace 1 h 6 min
pantalla 05 / 07

Detalle de llamada

Una sola ficha para entender qué ocurrió: resultado primero, límites y eventos después. La transcripción queda como información secundaria y plegable.

aLos límites se pintan igual que los ve el usuario: verde «puede aceptar», ámbar «debe preguntar», candado para lo bloqueado por sistema.
bTranscripción plegada al entrar: se abre solo cuando hace falta revisar la conversación completa.
cEventos con hora en mono y una sola marca ámbar: el momento «Esperando respuesta» ya resuelto se documenta, no alarma.
llamaporti.com/app/admin/llamadas/LLX-2026-0142interno
panel / llamadas / LLX-2026-0142Buscar por ID, teléfono o usuario…

Reserva en Restaurante La Traviesa

Completada
ID LLX-2026-0142tel. +34 912 000 111duración 3:41categoría Prácticasusuario Marta V.fecha jue 23 jul · 18:02

Resumen

Mesa para 4 confirmada: sábado 25 a las 21:45 en interior, a nombre de Marta. No había a las 21:30; la IA consiguió 21:45.

  • Datos conseguidosmesa en interior · guardan la mesa 15 min
  • Código de reservaRSV-8841
  • Próximo pasonada pendiente; llegar antes de las 22:00
  • Resumen enviadopor WhatsApp a las 18:08

Límites que gobernaron la llamada

los mismos verde / ámbar que vio el usuario en el paso 2 «Los límites»

Podía aceptar sin preguntar

  • cualquier hora entre 21:00 y 22:00
  • mesa en interior

Debía preguntar antes

  • si la hora se salía de 21:00–22:00
  • si pedían señal por adelantado

Bloqueado por sistema

  • pagos y señales
  • datos de tarjeta

Eventos

  1. Solicitud creada
  2. Instrucciones y límites repasados
  3. Marcando el número
  4. Han contestado, conversación en curso
  5. Esperando respuesta del usuario
  6. Respuesta recibida en 0:38 — «pregunta otra opción»
  7. Llamada terminada, resumen listo
  8. Resumen enviado por WhatsApp

Transcripción completa

hablante y hora en mono; la conversación, en Figtree

llamaxti18:04

Hola, buenas tardes. Soy una asistente de inteligencia artificial y llamo de parte de Marta para hacer una reserva. ¿Tenéis un momento?

La Traviesa18:04

Sí, dime.

llamaxti18:04

Quería una mesa para cuatro personas este sábado sobre las 21:30, mejor en el interior.

La Traviesa18:05

A las 21:30 no me queda nada. En interior lo más cercano que tengo es a las 22:15.

llamaxti18:05

Dame un segundo, que un cambio de hora así tengo que consultarlo con Marta antes de decidir.

sistema18:06

Pregunta enviada al usuario: «No hay a las 21:30; ¿acepto las 22:15 en interior?». Respuesta recibida en 0:38: «pregunta otra opción».

llamaxti18:06

Gracias por esperar. ¿Tendríais algún hueco intermedio en interior, algo más cerca de las 21:30?

La Traviesa18:06

Déjame mirar… Sí, se me acaba de liberar una a las 21:45 en interior.

llamaxti18:07

Esa entra dentro de lo que Marta aceptaba. Me quedo la de las 21:45 en interior, para cuatro, a nombre de Marta.

La Traviesa18:07

Apuntado. Os la guardamos un cuarto de hora, ¿vale? Código RSV-8841.

llamaxti18:07

Estupendo, se lo traslado. Muchas gracias y hasta el sábado.

Volver al inicio de la Parte B
pantalla 06 / 07

Usuarios y planes

Solo lo necesario para atender a un cliente: nombre, teléfono, plan, consumo y última llamada. La facturación y las tarjetas siguen fuera, en Stripe.

aEl consumo como barra fina (7/12): quien está cerca del tope se ve al instante, sin leer números.
bEl plan como chip con el color del plan; «prueba» en neutro para separar a los que aún no pagan.
cNi Alma ni Mia, ni datos sensibles: teléfono sí (es como se les reconoce), pero nada de DNI ni pagos — eso es de Stripe.
llamaporti.com/app/admin/usuariosinterno
panel / usuariosBuscar por nombre, teléfono o email…

Usuarios y planes

198 usuarios · 39 en prueba
UsuarioTeléfonoPlanConsumo del mesÚltima llamada
Marta Vidal+34 612 480 315Plus7/12hoy · 18:08
Jorge Ramos+34 655 09 22 41Max22/25hoy · 17:52
Sara Torres+34 699 41 07 68Prueba1/1ayer · 20:14
Andrés Peña+34 622 88 30 15Plus3/1221 jul · 11:03
Carmen Ortiz+34 611 74 52 90Mini3/320 jul · 09:40
Lucía Gómez+34 688 12 47 03Max9/25hoy · 17:55
Nerea Vega+34 677 30 91 55Prueba0/1sin llamadas aún
pantalla 07 / 07

Ajustes básicos

Solo cuatro valores comprensibles: horario, duración máxima, reintentos y tiempo de espera. Las reglas sensibles del guardián se muestran, pero todavía no se editan desde aquí.

aCada ajuste con su unidad clara (minutos, número de intentos, horas): nada de valores abstractos.
bGuardián en modo lectura: evita que una edición accidental cambie la seguridad de todas las llamadas.
cUn solo botón de guardar para los cuatro valores básicos, con aviso de que solo afecta a llamadas nuevas.
llamaporti.com/app/admin/ajustesinterno
panel / ajustesBuscar ajuste…

Ajustes básicos

afectan a llamadas nuevas

Cómo se hacen las llamadas

Horario permitido

Fuera de esta franja no se llama a nadie.

9:00 – 21:00

Duración máxima

La llamada se corta con educación al llegar al tope.

10 min

Reintentos si no contestan

Cuántas veces se vuelve a intentar antes de rendirse.

1

Espera de tu respuesta

Cuánto aguanta la IA a que decidas en una intervención.

45 s

Reglas de seguridad solo lectura

Patrones que retienen una llamada antes de salir. En esta fase los mantiene el equipo técnico.

datos bancarios DNI / documento dirección postal amenaza / insulto 3+ llamadas al mismo nº

Pagos, señales y datos bancarios están siempre bloqueados. Estas reglas no se pueden cambiar desde el panel.

Los cambios afectan a llamadas nuevas, no a las que ya están en curso.
PARTE C · lo que lo sostiene

Planes y confianza

Cuánto quieres delegar y por qué puedes fiarte. Tres planes con precio cerrado —aprobados el jueves 23 jul— y el guardián que revisa cada llamada antes de marcar.

planes · elige cuánto delegar

Elige cuánto quieres delegar

Tres planes con precio cerrado. Y estrenas con una llamada de prueba gratis.

Precios aprobados el jueves 23 jul

Mini

Para esa llamada suelta que llevas días posponiendo.

4,99 €/mes

3 llamadas al mes

  • Todas las categorías de llamada
  • Resumen por WhatsApp
El favorito

Plus

Para quitarte de encima las gestiones de la semana.

9,99 €/mes

12 llamadas al mes

  • Todo lo del plan Mini
  • Llamadas programadas
  • Citas directas a tu Google Calendar

Max

Para delegar sin mirar cuántas llevas.

19,99 €/mes

25 llamadas al mes

  • Todo lo del plan Plus
  • Recordatorios
  • La llamada con tu propia voz

1.ª llamada de prueba gratis al registrarte Pack extra: +5 llamadas por 2,99 € Plan anual: 2 meses gratis

flujo de suscripción · dónde entra el pago

El pago aparece cuando eliges plan, no durante una llamada

La primera llamada es gratis. Después, «Cambiar de plan» desde Perfil o cualquiera de los botones de arriba abre una pasarela segura. La app solo recibe el estado de la suscripción; no guarda datos de tarjeta.

01

Prueba gratis

La persona conoce el servicio con una llamada, sin pedir tarjeta en el alta.

02

Elige plan

Mini, Plus o Max desde Perfil o al terminar la prueba.

03

Pago seguro

Checkout alojado por Stripe: tarjeta, recibo y gestión de la suscripción.

04

Plan activado

Confirmación clara, llamadas disponibles y enlace para cambiar o cancelar.

Son dos pagos distintos: llamaxti cobra la suscripción en esta pasarela. Si un restaurante pide señal, tarjeta o transferencia durante una llamada, Alma siempre se detiene y consulta; nunca paga en nombre del usuario.

confianza · con guardián

Con guardián y sin letra pequeña escondida

Cada llamada pasa un filtro de seguridad, y la app te cuenta lo que hace por ti con números claros.

El guardián de llamaxti

Todas las llamadas pasan por un guardián que bloquea acoso, bromas dañinas y contenido ilegal. Antes de marcar, no después. Es el mismo filtro que ves trabajar en el Revisor del panel interno.

~26 min

Te has ahorrado ~26 minutos de llamadas este mes.

7 de 12

Llamadas usadas de tu plan este mes.

9 de 10

Nuestra meta: gestiones resueltas a la primera o con un reintento.

Cada llamada dura 10 minutos como máximo Llamamos de 9:00 a 21:00 1 reintento automático si no contestan

Volver al inicio de la Parte C
PARTE D · cómo funciona por dentro

Qué pasa, pieza a pieza, cuando lanzas una llamada

Las pantallas enseñan el producto; esta parte explica qué ocurre por debajo cuando el usuario pulsa «Lanzar la llamada» — y sobre todo cómo la IA te pregunta en directo si se topa con algo que no puede decidir sola. Es la costura de los pasos 2, 5 y 6, aquí contada para Jaime, Olga y Juan David.

Las piezas

La web (Next.js) no hace la llamada ella misma: una página web no puede quedarse minutos hablando por teléfono. La llamada la ejecuta un worker aparte, que orquesta el audio en tiempo real (LiveKit), el cerebro del agente (Gemini) y la salida a la red telefónica.

1 · La app fase 1
Next.js + Supabase
Donde el usuario crea la llamada, deja sus límites y recibe el resultado. Al pulsar «Lanzar» no llama: escribe la petición en la base de datos y la mete en una cola. También recibe tu respuesta cuando la IA te pregunta en directo.
2 · El worker (orquestador) fase 3
Node · toma trabajos de la cola
Un proceso fuera de la web. Coge el trabajo de la cola, arranca la sala de audio, monta al agente con los datos y límites de esa llamada, y va escribiendo el estado en la base de datos (que llega al móvil en vivo).
3 · El motor de voz fase 3
LiveKit (sala en tiempo real) + Gemini (el cerebro)
LiveKit es la «sala» por donde viaja el audio en directo, con muy poca latencia. Gemini es el agente que vive dentro: escucha, decide y habla. Y sabe ejecutar tools: parar y preguntarte, apuntar el resultado, colgar.
4 · La salida al teléfono fase 3
Zadarma / proveedor SIP
El puente entre la sala de LiveKit y la red telefónica real: lo que hace sonar el teléfono del restaurante. En esta fase las pruebas son por navegador; el teléfono de verdad entra con la fase 3.

Qué es fase 1 y qué es fase 3. La app, los límites, la cola y el resultado (pieza 1) se construyen ya. El motor de voz real —LiveKit + Gemini + teléfono— es la fase siguiente; ahora se prueba por navegador. Pero el diseño no cambia: el flujo es el mismo, solo cambia si el audio sale por el altavoz del portátil o por la línea telefónica.

El flujo que no se entendía: cómo la IA te pregunta en directo

Los límites que pones en el paso 2 se convierten en instrucciones para el agente. Una de ellas es una tool que dice: «si te sales de lo permitido, no decidas: pregúntale al usuario y espérate». Así se enlazan los pasos 2 → 5 → 6:

Tú (la app) Worker IA (Gemini) Restaurante «Lanzar» + tus límites (paso 2) arranca el agente con tus reglas llama y pide la mesa (21:30) «a las 21:30 no… tengo a las 22:15» 22:15 se sale de tu límite «déjeme consultarlo, no cuelgue» ⏱ espera en línea (segundos) tool: preguntar_al_usuario → aviso al móvil pantalla 6: ¿qué hago? tocas «pide otra opción» «¿algo más cerca de las 21:30?» «tengo a las 21:45» ✓ dentro del límite resultado: reserva 21:45 (pantalla 7)

El límite físico: aquí manda el reloj, no nosotros

Mientras tú decides, el restaurante está esperando al teléfono — y una persona real aguanta segundos, no minutos. Por eso la pantalla 6 muestra un contador honesto (los «0:31»): es tu ventana para responder antes de que la IA tenga que decir «lo confirmo luego» y colgar. Toda plataforma de voz pone un timeout a estas tools, en segundos. La pantalla 6 tiene que respetarlo: decisiones de un toque, nada de formularios largos.

Las tools del agente = las 5 funciones de Jaime

Una tool es una función que el agente ejecuta en mitad de la conversación. Son, exactamente, las 5 funciones que Jaime construye en la base de datos, vistas desde el lado del agente:

preguntar_al_usuarioel corazón del producto
La IA la ejecuta al toparse con un límite (paso 2). No devuelve hasta que tú respondes desde el móvil; mientras, el agente entretiene «déjeme consultarlo». Si no respondes a tiempo → fallback que definiste (no aceptar y colgar con educación).
preguntar_al_usuario({
  hecho:   "no hay mesa a las 21:30",
  ofrecen: "una a las 22:15, en interior",
  opciones:["acepta", "pide otra", "cancela"]
})  →  espera tu toque (con timeout)
crear_llamada · estado_llamadaarranque + seguimiento
crear_llamada dispara «Lanzar»: mete la petición en la cola con datos y límites. estado_llamada es lo que el worker va actualizando (llamando → en conversación → requiere respuesta → completada) y llega a tu móvil en vivo por WebSocket — los estados de la pantalla 5.
guardar_perfil · agendatus datos y tus contactos
Lo que la IA necesita antes de llamar: quién eres (nombre y teléfono, del alta) y a quién y con qué notas (la agenda: «mesa tranquila», «mejor por la tarde»). Se inyecta al agente como variables al arrancar la llamada.
obtener_resultadoel cierre
Al colgar, el agente resume lo conseguido (día, hora, código de reserva) y lo guarda. Es la pantalla 7 (Resultado) y lo que se envía por WhatsApp. La grabación se almacena siempre, con aviso.

Quién construye cada pieza

PiezaFaseDueño
Guardar los límites y el perfil (paso 2 + alta)fase 1🏗️ Jaime
Cola + estado en vivo por WebSocketfase 1🏗️ Jaime
El agente de voz y sus tools (prompt, cómo entretiene al esperar)navegador → real🧪 Olga
El worker + LiveKit + salida a teléfono (Zadarma)fase 3🏗️ Jaime + servidor
Los avisos por WhatsApp (te llega la pregunta y el resultado)fase 1🧠 Juan David

Lo que importa para el diseño: el flujo es 100% construible y ya está dibujado en las pantallas. La única restricción de diseño que sale de aquí es la de la pantalla 6 — la respuesta a la intervención tiene que ser de un toque, porque hay alguien esperando al teléfono. Todo lo demás encaja tal cual.

¿Qué llamada te quitamos hoy?

Esto es todo el producto de un vistazo: sencillo por fuera, con límites por dentro y un equipo velando por detrás.

Volver a empezar el recorrido