propuesta · v1.0 · agosto 2026
onboarding del doctor · apps/consultorio

La puerta pesa más que el consultorio.

Hoy un doctor atraviesa siete pasos, tres archivos y una contraseña antes de ver una sola pantalla de Amedi. Le pedimos la cédula en el minuto cuatro, cuando todavía no sabe para qué sirve esto. Esta propuesta reduce la puerta a tres pasos y unos 75 segundos —entrar con Google, confirmar el WhatsApp, tocar la especialidad— y mueve identidad y credenciales adentro, donde el doctor ya vio qué desbloquean. Quien no usa Google entra igual, con un código al correo.

la puerta
3 pasos, eran 7
el tiempo
~75 s hasta el consultorio
la contraseña
deja de existir
el demo
sube a la entrada
01 el diagnóstico

Pedimos todo por adelantado y no enseñamos nada.

El wizard de /register acumula siete pasos antes del primer render del consultorio. Cada uno es defendible por separado; juntos forman un peaje. El más caro no es el más largo: es el paso 4, subir la cédula, porque llega en el momento de menos confianza de toda la relación.

hoy · 7 pasos, ~6 minutos

  • Escribe su correo en el paso 1 y recién en el paso 7 demuestra que es suyo.
  • Inventa una contraseña que va a olvidar, y que Amedi tiene que custodiar.
  • Sube tres archivos desde el escritorio: cédula frente, cédula reverso, licencia.
  • El código de WhatsApp trae un «omitir», así que el teléfono queda sin verificar y el canal de avisos nace roto.
  • Se le piden hasta cinco especialidades cuando una basta para arrancar.
  • Aterriza en un dashboard con todo en cero, después de haberlo dado todo.

propuesta · 3 pasos, ~75 segundos

  • Google trae nombre, foto y un correo ya verificado. Nada que escribir.
  • Sin contraseña en ninguna rama: con Google es la sesión de Google; sin Google, un código de 8 dígitos al correo.
  • Cero archivos en la puerta. La cédula la captura MetaMap adentro, con la cámara del teléfono.
  • El código de WhatsApp no se puede omitir, porque es el canal por el que Amedi le habla.
  • Una especialidad, un toque: precarga plantillas, duración de cita y motivos frecuentes.
  • Aterriza en el hub con 3 de 8 ya hechos y una sola cosa por hacer.
02 el mapa

Tres cosas antes de entrar. El resto se gana adentro.

El criterio para dejar algo antes del umbral es uno solo: ¿el producto funciona sin esto en el primer minuto? Identidad y credenciales gobiernan si el doctor aparece, no si el producto funciona — por eso salen. La especialidad se queda, aunque no sea identidad, porque es lo único que evita que la primera pantalla esté vacía.

paso 1
Continuar con Google
nombre, foto y correo verificado
paso 2
Tu WhatsApp
6 dígitos · el canal de avisos
paso 3
Tu especialidad
un toque · personaliza el consultorio
el umbral
hub
Tu identidad
el rito de MetaMap
hub
Tus credenciales
MPPS y título
hub
Clínica, horarios, presentación
lo que abre la agenda
Se queda en la puerta porque…Sale al hub porque…
La cuenta — sin identidad de sesión no hay nada que guardar. La identidad — bloquea aparecer en búsqueda, no usar el producto. Ya tiene su rito aprobado.
El WhatsApp — es por donde llegan las citas. Un número sin verificar rompe el producto después, en silencio. Las credenciales — el MPPS se valida contra SACS de forma asíncrona; esperar no aporta nada.
La especialidad — cuesta un toque y decide qué ve al entrar: plantillas, duración de cita, motivos. Clínica y horarios — necesitan decisiones reales (dirección, bloques) que nadie toma con prisa en un registro.
03 paso 1 · la entrada

Una sola decisión en toda la pantalla.

decisiones

  • Google primero, y se nota. Botón sólido arriba; el correo baja a secundario. Hoy la jerarquía está al revés y por eso todos terminan inventando una contraseña.
  • No pedimos el nombre. Llega de Google, escrito y con foto. Un campo menos y la foto de perfil resuelta desde el segundo cero.
  • El correo llega verificado. Con Google, el paso 7 de hoy —el código al correo— deja de existir.
  • Fuera el selector de rol. Este dominio es el consultorio: quien llega es profesional. La secretaria entra por invitación del doctor, no por acá.

El panel derecho promete algo concreto —el enlace público con su nombre— en vez de decorar. Es lo primero que un doctor quiere ver de Amedi.

consultorio.amedisalud.com/register
Crea tu consultorio en Amedi.

Tus pacientes te encuentran, agendan y te escriben desde un solo lugar. Empezar toma menos de dos minutos.

o
lo que se arma mientras avanzas
Tu enlace público
amedisalud.com/dra-carolina-mendez
Tu agenda
Los pacientes eligen hora entre lo que tú abras. Sin llamadas ni idas y vueltas.
Tu consulta
Historia, recetas y notas en el mismo sitio donde atiendes.

/register · escritorio · el único momento del flujo con dos caminos visibles

04 la cuarta puerta

Ver el consultorio sin dar nada a cambio.

El demo ya existe y funciona: /demo entra de un toque a un consultorio sembrado, con banner, guardrails y cuota. Lo que faltaba era ponerlo en la puerta —hoy solo vive en /login— y diseñar su salida: cómo un visitante que ya se convenció se vuelve doctor real.

Mira un consultorio de verdad.

Entras a un consultorio con pacientes, citas e historias ya cargadas. Nada que llenar, nada que dar.

Los datos son de prueba y se reinician solos.

Estás en el demo
Los datos son de prueba
Para escribirle a María de verdad, necesitas tu consultorio.

Te toma unos 75 segundos y entras con Google. Lo que viste acá es exactamente lo que vas a tener.

o seguir explorando el demo

Aparece cuando intenta algo que el demo no permite — no antes.

/demo · la entrada de un toque, y el momento en que el demo invita a convertirse

decisiones

  • Sube a la entrada, en voz baja. Hoy el enlace solo está en /login, que es para quien ya tiene cuenta — justo al revés. Va en /register, tercero y sin peso visual, para no competir con Google.
  • La invitación llega en el guardrail, no en un banner. El mejor momento para pedir la cuenta es cuando el visitante intenta hacer algo real y el demo lo frena. Ahí ya quiere; un banner permanente solo se vuelve invisible.
  • El banner no se cierra. Es la única defensa contra creer que los datos son suyos. Molesta un poco a propósito.
  • Nada de migrar el demo a la cuenta real. El consultorio de prueba es compartido y sembrado; prometer que «se conserva lo que hiciste» sería mentira. Se dice claro: lo que viste es lo que vas a tener, no lo que te llevas.

La conversión entra por la misma puerta de tres pasos. El demo no es un flujo aparte: es una antesala.

05 paso 2 · el número

El único dato que escribe con las manos.

No se pide como trámite de seguridad; se pide porque es por donde Amedi le va a avisar de cada cita. Cuando la razón es esa, la pantalla se explica sola y el «omitir» deja de tener sentido.

Paso 2 de 3Tu número de WhatsApp
cuenta
whatsapp
especialidad
Te escribimos por WhatsApp
¿A qué número te avisamos?

Ahí te avisamos de cada cita nueva, cada cancelación y el resumen de tu día. Es entre Amedi y tú — tus pacientes nunca lo ven.

🇻🇪 +58
414 555 1820

Este número no se publica nunca. El que ven tus pacientes lo eliges tú al configurar tu clínica.

Paso 2 de 3Confirma el código
cuenta
whatsapp
especialidad
Escribe los 6 dígitos.

Te los enviamos por WhatsApp al +58 414 555 1820 · cambiar

492
Puedes reenviarlo en 24 s
Si no llega, te lo mandamos por SMS.

móvil · pedir el número y confirmarlo · el código se autopega al volver de WhatsApp

decisiones

  • Fuera el «omitir». Hoy existe, y por eso el teléfono queda vacío. Si el número es el canal de trabajo, saltarlo rompe el producto más tarde.
  • La razón va antes del campo. «Ahí te avisamos cuando alguien agende» explica el pedido mejor que cualquier frase sobre seguridad.
  • Un solo número, +58 por defecto. Teclado numérico y sin dropdown de doscientos países estorbando.
  • Un número, una cuenta. Es el canal por el que Amedi avisa: si dos cuentas comparten número, los avisos de una llegan a quien no es. Se comprueba antes de gastar el código, no después — que el doctor descubra el choque tras recibir el SMS es el peor momento posible.
  • No es el número que ven los pacientes. Este es entre Amedi y el doctor. El teléfono público sale de la clínica, en el hub, y son campos distintos a propósito: mucha gente no quiere dar su móvil personal a los pacientes.
  • Salida a los dos intentos. Reenvío a los 30 s; al segundo fallo ofrecemos SMS. Nadie se queda encerrado en la puerta.

Depende de que la plantilla phone_verification_otp exista y esté aprobada en WhatsApp Business. Hoy este paso es un mock.

06 paso 3 · la especialidad

El toque que hace que la primera pantalla no esté vacía.

decisiones

  • Una sola, la principal. Hoy se piden hasta cinco en la puerta. Las otras cuatro son un ajuste del perfil, no un requisito para entrar.
  • Seleccionar es confirmar. Sin botón «continuar»: es la última pantalla antes de entrar y no merece un clic de más.
  • Se ve lo que desbloquea. Debajo aparece qué va a precargar Amedi — plantilla de consulta, duración de cita, motivos frecuentes.
  • Ocho tarjetas y un buscador. Cubren la mayoría; el resto se escribe. Nadie recorre una lista de sesenta.

Es el primer momento en que el producto le devuelve algo. Deja de configurar y empieza a recibir.

consultorio.amedisalud.com/register
cuenta
whatsapp
especialidad
CM
Hola, Carolina. ¿Qué atiendes?

Con esto dejamos tu consultorio listo antes de que entres. Puedes agregar más especialidades cuando quieras.

Cardiología
Medicina general
Pediatría
Ginecología
Dermatología
Traumatología
Psiquiatría
Nutrición
Otra especialidad
Te dejamos listo el consultorio de cardiología
Plantilla de consulta cardiológica · citas de 30 min · motivos frecuentes precargados

/register · escritorio · seleccionar avanza; la card de abajo confirma qué se precarga

07 el aterrizaje

Entra a un consultorio que ya se parece al suyo.

Setenta y cinco segundos después está adentro — y no en un dashboard con todo en cero, que es la peor primera impresión posible, sino en el hub, con 3 de 8 ya hechos y una sola cosa por hacer. Esa cosa es el rito de identidad, que no se rediseña acá: ya está aprobado en Verificación de identidad. Esta pieza solo lo deja servido.

consultorio.amedisalud.com/doctor/setup
3/8
Bienvenida, Dra. Méndez.

Tu consultorio de cardiología ya existe. Faltan cinco cosas para que los pacientes puedan encontrarte y agendar.

Correo verificado WhatsApp verificado Aún no apareces en búsqueda
tu siguiente paso
Verifica tu identidad

Una selfie y tu cédula, desde el teléfono. Es lo que nos deja responder por ti ante un paciente — y sin eso no apareces en búsqueda.

Necesitas tu teléfono
Todo lo que falta · 5 pendientes, ~12 min en total
Tu cuentacarolina.mendez@gmail.com
Google
Tu WhatsApp+58 414 555 1820
verificado
Tu especialidadCardiología
editar
Tus credencialesNúmero MPPS y título · 2 min
Dónde atiendesTu primera clínica o consultorio · 2 min
Tus horariosLos bloques en que recibes pacientes · 3 min
Tu presentaciónFoto profesional y sobre ti · 4 min
Así te van a ver
CM
Dra. Carolina Méndez
Cardiología
Sin clínica todavía
Nadie puede agendar
Sin horarios todavía
Tu agenda está cerrada

amedisalud.com/dra-carolina-mendez
Ver mi perfil público ↗

/doctor/setup · escritorio · el hub arranca en 3/8, no en cero

decisiones

  • Aterriza en el hub, no en el dashboard. Un dashboard con todo en cero no tiene nada que ofrecer; el hub sí.
  • Arranca en 3 de 8. Los pasos de la puerta cuentan. La barra empieza con impulso ganado, no con una deuda.
  • Una sola acción destacada. El resto de la lista está visible pero en silencio: se ve el camino sin sentir la carga.
  • «Aún no apareces en búsqueda» es información, no regaño. Dice qué falta para cobrar, sin culpar a nadie.

Nada de confeti al llegar. La recompensa se guarda para cuando el perfil se vuelve público de verdad — decisión 3 de la pieza de verificación.

08 el hub · en sitio

Nada de esto te saca del hub.

Hoy doce de los catorce ítems abren un modal centrado y dos te mandan a otra pantalla. El modal tapa el anillo, la lista y la vista previa — justo las tres cosas que le dan sentido a lo que estás llenando. La fila se abre hacia abajo, en su sitio, y todo lo demás sigue visible.

decisiones

  • Fuera el modal centrado. EditorDialog se reemplaza por una fila que se expande. Editar tus horarios no debería taparte el progreso que estás construyendo.
  • Fuera los dos ítems que navegan. La contraseña deja de existir con el nuevo registro; los documentos se vuelven credenciales y se editan acá mismo. Cero actionHref que saquen del hub.
  • Se guarda solo. Sin botón «guardar»: el ítem se marca en cuanto cumple su regla y una pastilla discreta dice «guardado». El anillo sube mientras escribe.
  • Encadena. El pie de la fila abierta ofrece la siguiente: «Listo · sigue con tu foto →». No hay que volver a buscar en la lista.
  • Plantillas de un toque. Horarios típicos, borrador de descripción a partir de su especialidad. Empezar desde algo siempre es más fácil que empezar desde nada.

Única excepción: el rito de identidad sigue a pantalla completa — es deliberado y está aprobado en su pieza. Al terminar devuelve al hub, en la fila siguiente.

consultorio.amedisalud.com/doctor/setup
6/8
Tu consultorio
Faltan dos cosas para aparecer en búsqueda
guardado
Tu identidadVerificada · Carolina Méndez Rivas
Tus credencialesMPPS-84213 · título en revisión
Dónde atiendesCentro Médico Docente La Trinidad
Tus horariosCuándo recibes pacientes en La Trinidad
Lun a vie · 8–12 y 2–6 Solo mañanas Lo armo yo
lun
mar
mié
jue
vie
sáb
dom
8:00 — 12:00 2:00 — 6:00
guardado
Tu presentaciónFoto profesional y sobre ti
Así te van a ver
CM
Dra. Carolina Méndez
Cardiología
Horarios
Lunes a viernes
8:00–12:00 · 2:00–6:00

La sección que estás tocando se resalta acá mientras escribes.

/doctor/setup · la fila de horarios abierta en sitio · el anillo, la lista y la vista previa siguen visibles

09 el hub · los grupos

El anillo mide lo que bloquea, no lo que adorna.

Hoy son catorce ítems en una sola lista, donde «Idiomas que atiendes» tiene el mismo peso visual que «Configura tus horarios». Uno decide si el doctor existe para los pacientes; el otro es un detalle. Tres grupos y un anillo que solo cuenta los ocho que deciden. Los demás quedan en un estante aparte, disponibles y sin culpa.

consultorio.amedisalud.com/doctor/setup
Ya está 3 de 3 · desde el registro
Tu cuenta Tu WhatsApp Cardiología
Para aparecer en búsqueda 3 de 5 · esto es lo que cuenta el anillo aún no apareces
Tu identidadVerificada
Tus credencialesMPPS-84213
Dónde atiendesCentro Médico Docente La Trinidad
Tu presentaciónFoto y sobre ti · 4 min
Complementos opcional · suman a tu perfil, no a tu permiso
Tarifa de consulta Tipo de consulta Idiomas Formación Preguntas frecuentes Redes y sitio web

Cada una se abre en sitio, como las de arriba. Suman a tu perfil, no a tu permiso de aparecer.

/doctor/setup · los catorce ítems de hoy, agrupados por lo que de verdad hacen

decisiones

  • El anillo cuenta 8, no 14. Tres del registro más cinco bloqueantes. Un anillo que nunca llega al final porque faltan «Redes y sitio web» enseña a ignorarlo.
  • Lo opcional son pastillas, no filas. Seis ítems polish como fila ocupan media pantalla y pesan como deuda; como chips caben en dos líneas y se leen como oferta.
  • Cada grupo dice para qué sirve. «Para aparecer en búsqueda» y «Complementos» explican la consecuencia; «Perfil» y «Cuenta» solo nombran una carpeta.
  • El grupo hecho se colapsa. Lo del registro llega resuelto: tres pastillas verdes y un «Ver». Ocupa una línea, no un tercio de la pantalla.
  • Se cae el skip por ítem. Con lo opcional fuera del anillo, saltar deja de tener sentido: ya no hay nada que saltar.

Los catorce ítems siguen existiendo en setup-items.ts. Lo que cambia es blocksPublic convertido en jerarquía visual, y el porcentaje calculado solo sobre el grupo que bloquea.

10 la rama sin Google

Quien no usa Google entra igual.

No es un camino de segunda ni un callejón: es la misma puerta de tres pasos, con otra forma de hacer el primero. Si el correo hay que verificarlo de todos modos, el mismo código sirve para entrar — así que tampoco acá aparece una contraseña.

decisiones

  • Código, no contraseña. Dos pantallas en vez de tres, nada que memorizar, y Amedi deja de custodiar credenciales que no necesita.
  • Ocho dígitos acá, seis en WhatsApp. No es un descuido: la longitud del correo la fija Supabase en otp_length y hay un test de contrato que la vigila. Bajarla a seis obliga a cambiar también el proyecto alojado, y si alguien cambia solo uno de los dos el registro se rompe en silencio. Se acepta la asimetría antes que esa fragilidad.
  • Verificar antes de pedir datos. El código va primero: evita cuentas fantasma creadas con correos ajenos.
  • Misma numeración. «Paso 1 de 3» en ambas ramas. El correo es una forma de hacer el paso 1, no un flujo paralelo.
  • Google sigue ofreciéndose. Debajo del campo, y después desde ajustes, para dejar de escribir códigos cada vez.

Supabase ya soporta OTP por correo; es el mismo mecanismo que hoy verifica el registro, usado un paso antes.

Paso 1 de 3Tu correo
cuenta
whatsapp
especialidad
¿Cuál es tu correo?

Te mandamos un código de 8 dígitos. Con eso entras — no hace falta inventar una contraseña.

carolina.mendez@ucv.ve
o
Paso 1 de 3Confirma tu correo
cuenta
whatsapp
especialidad
Revisa tu bandeja.

Enviamos 8 dígitos a carolina.mendez@ucv.ve · cambiar

71
¿No llega?
Mira en spam, o reenvíalo en 21 s.

Después puedes vincular Google desde ajustes y dejar de escribir códigos.

móvil · dos pantallas y adentro · la contraseña no aparece en ninguna rama

11 cuando algo sale mal

Una puerta corta falla más fuerte.

Con siete pasos, un tropiezo cuesta un paso. Con tres, cuesta un tercio del flujo. Estos cuatro fallos son los que de verdad ocurren, y cada uno tiene que decir qué pasó y cuál es la salida — nunca disculparse ni dejar al doctor adivinando.

el código no es el correcto
492715

Ese código no coincide. Te quedan 2 intentos, o te lo reenviamos.

Los dígitos se marcan juntos, no uno: el error es del código, no de una casilla. El ejemplo es el de WhatsApp, que lleva intentos contados; el del correo se comporta igual con 8 casillas.

el número ya tiene dueño
🇻🇪 +58
414 555 1820

Ya hay una cuenta con este número. Inicia sesión o usa otro.

No decimos de quién es la cuenta ni si el correo existe: enumerar usuarios es un regalo para quien busca.

ese correo entra de otra forma
Ya tienes cuenta con carolina.mendez@ucv.ve

La creaste con un código al correo. ¿Vinculamos Google para que entres de un toque?

Nunca «ese correo ya está en uso» a secas. Sabemos cómo entra: se lo decimos y lo resolvemos ahí.

el demo no está disponible

El demo no está disponible ahora

Puedes crear tu consultorio igual — toma unos 75 segundos.

Ya existe en producción con este tono. Se mantiene, y ahora ofrece la salida en vez de dejar al visitante en un callejón.

12 anatomía

Los estados que el kit improvisa si no los diseñamos.

Seis familias sostienen toda la puerta. Acá están en sus estados reales — incluidos los aburridos, que son los que se olvidan y luego aparecen en producción con el rounded-md de fábrica. Todo sale de css/tokens.css: botón pill, campo quieto, foco en menta.

botón primario petroleo
reposo
cargando
apagado

Alto mínimo 44 px y radio pill. El texto de carga nombra la acción en curso, no «cargando».

botón de Google
reposo
cargando

Los cuatro hex del logo son de Google y van literales: es su marca, no la nuestra. Es la única excepción a los tokens en toda la pieza.

campo quieto
reposoTu correo
fococarolina.mendez@ucv.ve
errorcarolina.mendez@

Sin sombra en reposo. El foco es un anillo menta —el mismo --focus-ring-color del sistema— y el error no depende solo del color: siempre trae mensaje.

código de 6 u 8 dígitos
parcial
49
error
4927
correcto
4928

Cifras tabulares para que no bailen al escribir. El estado correcto dura un instante antes de avanzar solo — no hay botón «confirmar». Son 6 por WhatsApp y 8 por correo: la longitud del correo la fija Supabase (otp_length), no nosotros, y hay un test de contrato que lo vigila.

pastilla de estado
verde WhatsApp verificado
pendiente Aún no apareces en búsqueda
neutra Necesitas tu teléfono

Sentence case siempre, nunca mayúsculas. El punto de color acompaña al texto; no lo reemplaza.

indicador de paso
cuenta
whatsapp
especialidad

Tres pasos caben sin abreviar, así que llevan nombre y no número. Un doctor sabe qué le falta con solo mirar, sin contar.

13 qué se construye

Lo que cambia en el código.

El wizard de apps/consultorio pasa de 7 pasos a 3. Nada de esto toca el rito de identidad, que se construye por su propia pieza.

CambioDóndeNota
Google OAuth en el consultorioapps/consultorioPortar google-oauth-section y oauth-buttons desde apps/client; ya existen y funcionan.
El wizard baja a 3 pasosuse-register-wizard.tsSe van los pasos de documentos y contraseña; el de correo se vuelve rama alterna del paso 1.
OTP de correo para entrarapps/consultorio · SupabaseMismo mecanismo que hoy verifica el registro, movido un paso antes y usado como credencial.
WhatsApp OTP realapps/api · WhatsApp CloudPlantilla phone_verification_otp + endpoints send/verify. Hoy el paso es un mock con «omitir».
Una especialidad en la puertaregister-step-specialtyDe multi-select (máx 5) a selección única que avanza; las demás se agregan en el perfil.
Los file inputs salen del registroregister-step-documentsSe elimina del wizard. La captura de cédula pasa a MetaMap dentro del hub.
El hub cuenta 8 ítemslib/setup/setup-items.tsLos 3 de la puerta entran como hechos; foto y descripción se fusionan en «tu presentación».
El aterrizaje apunta a /doctor/setupwelcome-screen.tsxYa es así desde la fase 2 del hub; solo cambia el copy de bienvenida.
El demo sube a la entradademo-login-link.tsxEl componente ya existe y se monta en /login. Se monta también en /register, en tercer lugar.
La invitación se ancla al guardraildemo-guardrail-handler.tsxYa dispara DemoInvitationModal; solo cambia el copy para nombrar la acción que el visitante intentó.
Estados de error del flujoapps/consultorioCódigo inválido con intentos restantes, número duplicado, correo con otro método de entrada. Hoy no existen como diseño.
La fila se abre en sitioeditor-dialog.tsxEl wrapper deja de montar Dialog y pasa a expandir dentro de SetupItemRow. Los 12 editores de editors/ no cambian: solo su contenedor.
Se acaban los editMode: 'link'setup-items.tspassword se elimina del listado; documents pasa a credentials con editor propio. El tipo SetupItemEditMode deja de hacer falta.
Autoguardado por ítemeditors/*Guardar al salir del campo e invalidar useCurrentDoctor. Ya se invalida tras cada mutación; cambia el disparador, no el mecanismo.
Tres grupos y anillo sobre 8setup-items.tscompletionPercentage pasa a contar solo el grupo bloqueante. blocksPublic ya existe por ítem: se vuelve la clave de agrupación.
Plantillas de un toqueedit-schedule · edit-aboutHorarios típicos precargados y borrador de descripción a partir de especialidad y formación.
Lo que esta pieza no decide

El rito de identidad, sus siete estados y la discrepancia de nombre están resueltos en Verificación de identidad. La regla de producto que las une —bloqueante para publicar el perfil, no para registrarse— viene de ahí y esta propuesta la respeta al pie de la letra.