Sistema de diseño de Te Tengo
Tokens, componentes y patrones de la app móvil Te Tengo, para el familiar o cuidador, y de Te Tengo Captura, el programa de Windows que envía el video de la cámara. Cada ejemplo de esta página usa los mismos componentes que las pantallas de la app.
«Cerca de los tuyos, aunque estés lejos.»
Principios
- Calma bajo estrésUna base neutra y serena. El color de estado aparece solo cuando algo pide atención, y una alerta se entiende en dos segundos: qué pasó, dónde, cuándo y qué hacer ahora.
- Sostén, no vigilanciaNada recuerda a una cámara de seguridad. Los clips y la vista en vivo son una ilustración de la habitación con el esqueleto de postura. La vista en vivo no se graba y cada acceso queda registrado para toda la familia.
- El estado nunca va solo en colorCada estado lleva ícono, texto y, cuando hace falta, un patrón: rayado para la pausa, punteado para la desconexión. Una caída y un movimiento inestable no comparten color, ícono ni etiqueta.
- Legible para baja visiónAtkinson Hyperlegible, cuerpo de 17 px, contraste AA como mínimo y objetivos táctiles de 44 px o más. Pensado también para familiares de 40 a 60 años con presbicia.
Plataformas
Un solo sistema con dos superficies. El escritorio es una extensión: hereda tokens, color, tipografía y reglas de estado, y solo cambia lo propio de una ventana de Windows.
App móvil Te Tengo
Para el familiar o cuidador. Recibe las alertas y muestra el estado de la cámara, la vista en vivo, el historial y la familia. Pantallas de 390 × 844.
Hola, Carmen
Todo tranquilo
Sin eventos hoy. La cámara de la Sala está funcionando.
Cámara
Esta semana
Te Tengo Captura
Programa de bandeja en la PC de la vivienda, con Windows 11. En la prueba piloto solo muestra el estado de la única webcam USB. Ventana de 960 × 640.

Lo que decide la prueba piloto
El sistema refleja estas decisiones de producto. Cuando un componente depende de una de ellas, su guía lo indica.
- Una sola webcam USB
- La instala y la configura el equipo del proyecto en la PC de la casa. La app no vincula cámaras: solo muestra la cámara instalada y permite cambiar el nombre de su habitación.
- Vista en vivo cuando quieras
- Cualquier familiar vinculado puede abrirla en cualquier momento, no solo con una alerta. Cada acceso queda en el registro de accesos.
- Consentimiento con vista en vivo
- El consentimiento informado incluye la cláusula de vista en vivo. Sin consentimiento, la cámara queda instalada, pero no envía video.
- Alerta en menos de 10 s
- La notificación de caída llega en menos de 10 segundos, con la habitación y la hora.
- Confirmada a los 30 s
- Si la persona sigue en el suelo 30 segundos, la caída queda confirmada. Si se pone de pie, avisamos «Rosa se levantó».
- Detección no confiable
- Si durante más de 5 minutos la cámara no ve bien a la persona, avisamos y pedimos revisar la luz y el encuadre.
Marca
Te Tengo es lo que dices cuando sostienes a alguien que se cae. El nombre es una promesa de sostén, no de vigilancia: la app no mira todo el tiempo, llega cuando hace falta. Siempre se escribe en dos palabras, con mayúscula inicial en ambas.
La T que sostiene
El símbolo dibuja esa escena con la inicial del nombre. Se construye sobre una retícula de 120 × 120 y solo tiene tres trazos.
- Travesaño: dos brazos abiertos
- Se curva hacia arriba para recibir. Trazo de 13 con extremos redondeados:
M22 38 Q60 80 98 38. - Punto: la persona
- Círculo de radio 11 en
60, 38. Nunca toca los brazos. - Fuste: el apoyo
- La sostiene desde abajo:
M60 60 V96, trazo de 13.
Versiones
Seis archivos SVG autónomos en 05-prototipos/marca/. El nombre va trazado en curvas desde Atkinson Hyperlegible Next ExtraBold (800); «Captura», en SemiBold (600).
Símbolo
Sobre fondos claros. simbolo.svg
Símbolo en blanco
Sobre morado de marca u oscuro. simbolo-blanco.svg
Ícono de la app
Cuadrado morado, radio 28 sobre 120. Notificaciones, bandeja y barra de tareas. icono-app.svg
Logotipo
Bienvenida, inicio de sesión, invitación y «Todo listo». logotipo.svg
Logotipo en blanco
Sobre morado de marca u oscuro. logotipo-blanco.svg
Te Tengo Captura
El agente de escritorio: «Captura» en 600 y tinta 2. logotipo-captura.svg
Solo las letras
El arranque las muestra debajo del símbolo que se arma.
Espacio libre y tamaño mínimo
Alrededor del símbolo o del logotipo deja libre, como mínimo, el diámetro del punto: 22 unidades de 120, un 18 % de la altura del símbolo. Ningún texto, borde ni imagen entra en esa zona.
Por debajo de 24 px, usa el ícono de la app en lugar del símbolo: se lee hasta 16 px en la bandeja del sistema.
Usos incorrectos
Tengo
Colores de marca
El morado es a la vez marca y acción principal. El coral y el durazno son solo de marca: el punto y «Tengo». Nunca marcan un estado ni una alerta, porque el rojo de caída y el ámbar de movimiento inestable están reservados para eventos reales.
Morado de marca
Trazos y «Te» sobre claro; fondo del ícono y del arranque. --morado
Coral
Punto y «Tengo» sobre claro. --coral
Durazno
Punto y «Tengo» sobre morado u oscuro. --durazno
Blanco
Trazos y «Te» sobre morado u oscuro.
Tinta 2
«Captura» sobre claro. Sobre oscuro, blanco al 80 %.
Lema
Cerca de los tuyos, aunque estés lejos.
Acompaña al símbolo en la pantalla de arranque. No se usa como titular de otras pantallas ni en las alertas.
Pantalla de arranque
Cerca de los tuyos, aunque estés lejos.
Fondo morado a pantalla completa. Se ve al abrir la app y al cerrar sesión, nunca antes de una alerta. Dura unos 2,2 s y se omite tocando la pantalla.
- 0,06 sLos brazos se abren desde el centro.
- 0,32 sEl punto cae…
- 0,74 s…y los brazos lo reciben con un leve vaivén.
- 0,92 sSe dibuja el fuste.
- 1,04 sAparecen «Te Tengo» y el lema.
Solo anima transform, opacity y stroke-dashoffset, así que no mueve el diseño. Con prefers-reduced-motion se muestra el cuadro final quieto. Te Tengo Captura usa la misma secuencia en una ventana de 480 × 300 con barra de progreso.
Color
Una base neutra y serena en la que el color de estado solo aparece cuando algo pide atención. Estos son todos los tokens de color del sistema.
Tokens
Neutros
La base serena: fondo, tarjetas, tres tintas de texto y dos líneas.
--ground#EEF0F4Fondo de la app--ground-2#E4E6ECFondo secundario: segmentos, botón deshabilitado, aviso neutro--card#FFFFFFTarjetas, listas y hojas--ink#221A38Texto principal; aviso breve y botón tinta--ink-2#4F4766Texto secundario (.t-small)--ink-3#655D7ATexto terciario y metadatos (.t-meta)--line#D9D7E1Divisores entre filas--line-2#C7C3D3Bordes de campos, chips y botón secundario
Marca y acción
El morado guía la acción principal fuera de las alertas. El coral y el durazno son solo de marca.
--morado#4A2A85Marca y acción principal fuera de las alertas--morado-press#3A1F6CBotón principal con el cursor encima o presionado--morado-soft#ECE7F6Selección, pestaña activa, aviso informativo--morado-ink#3B2270Texto morado sobre claro: enlaces, botón secundario--focus#4A2A85Anillo de foco visible (3 px)--coral#E8765ASolo marca: punto y «Tengo» sobre claro--durazno#FFB59CSolo marca: punto y «Tengo» sobre morado
Caída
Severidad alta. Solo para una caída real: alerta a pantalla completa, etiqueta y franja.
--caida#BF2A1BCaída: pantalla de alerta, etiqueta, franja, botón de peligro--caida-deep#951D11Botón de peligro con el cursor encima--caida-soft#FBE8E5Fondo del aviso de error y anillo del campo con error--caida-ink#9C2012Texto rojo sobre claro: errores, «Sigue en el suelo»
Movimiento inestable
Severidad media. Distinto de la caída en color, ícono (rombo) y etiqueta.
--inestable#F1B42FMovimiento inestable: pantalla de alerta, etiqueta y franja--inestable-deep#D99A12Rombo del registro y barra del resumen--inestable-soft#FDF3DBFondo del sello «Activa» de severidad media--inestable-ink#6E4B00Texto ámbar oscuro sobre claro
Calma
Todo tranquilo, cámara en línea, recuperación y pasos completados.
--calma#1C7A4CEstado normal, interruptor activo, pasos completados--calma-soft#E2F2E9Fondo de «En línea» y del aviso de éxito--calma-ink#145C39Texto verde sobre claro
Aviso
Problemas no urgentes: permisos, conexión, cámara desconectada, detección no confiable.
--aviso#8F5400Avisos no urgentes: desconectada, detección no confiable, aumento semanal--aviso-soft#FBEFD9Fondo de los avisos no urgentes
Pausa
Cámara en pausa o detenida. Siempre con el rayado diagonal.
--pausa#4E5B74Cámara en pausa (texto e ícono)--pausa-soft#E6E9F0Fondo rayado de la pausa
Haz
- Acompaña cada color de estado con un ícono y un texto.
- Usa las variantes
-inkpara el texto sobre las-soft. - Usa el rayado de
--pausapara la pausa y el punteado de--avisopara la desconexión.
Evita
- Usar el rojo o el ámbar para decorar o destacar contenido.
- Usar el coral o el durazno en botones, textos o estados.
- Mostrar un estado solo con color, sin ícono ni texto.
Contraste
Pares reales de texto y fondo de los componentes. De 27 pares de texto, 17 alcanzan AAA y 10 AA; ninguno queda por debajo de AA.
| Muestra | Par | Texto / fondo | Contraste | Nivel |
|---|---|---|---|---|
| Aa | Texto principal Títulos y cuerpo sobre tarjetas | --ink / --card | 16,50:1 | AAA |
| Aa | Texto principal Títulos y cuerpo sobre el fondo | --ink / --ground | 14,46:1 | AAA |
| Aa | Texto secundario .t-small, descripciones | --ink-2 / --card | 8,66:1 | AAA |
| Aa | Texto terciario .t-meta, .sub de las filas | --ink-3 / --card | 6,18:1 | AA |
| Aa | Texto terciario Metadatos sobre el fondo | --ink-3 / --ground | 5,41:1 | AA |
| Aa | Botón principal .btn-primary | #FFFFFF / --morado | 10,71:1 | AAA |
| Aa | Enlace y botón secundario .link, .btn-secondary | --morado-ink / --card | 12,74:1 | AAA |
| Aa | Selección y aviso informativo .tab.sel, .notice.info, .choice.sel | --morado-ink / --morado-soft | 10,51:1 | AAA |
| Aa | Titular de la alerta de caída .alert-h (34 px, 800) · texto grande | #FFFFFF / --caida | 5,90:1 | AAA |
| Aa | Datos de la alerta de caída .slot .v sobre la franja oscurecida (21 px, 800) · texto grande | #FFFFFF / rojo oscurecido | 7,64:1 | AAA |
| Aa | Etiquetas de la alerta de caída .slot .k (13 px, 700) | #FFFFFF / rojo oscurecido | 7,64:1 | AAA |
| Aa | Caída sobre blanco .btn-white, .alert-conf | --caida-ink / #FFFFFF | 7,99:1 | AAA |
| Aa | Aviso de error .notice.err, .field-msg con error | --caida-ink / --caida-soft | 6,76:1 | AA |
| Aa | Alerta de movimiento inestable .drench.inestable, .strip.med, .sev.inestable | --ink / --inestable | 8,89:1 | AAA |
| Aa | Sello de severidad media .stamp.activa.med | --inestable-ink / --inestable-soft | 7,12:1 | AAA |
| Aa | En línea y éxito .cam-online, .notice.ok | --calma-ink / --calma-soft | 6,91:1 | AA |
| Aa | Estado «En línea» .state-txt.online, .trend.down | --calma-ink / --card | 8,02:1 | AAA |
| Aa | Desconectada y no confiable .state-txt.offline, .trend.up | --aviso / --card | 6,11:1 | AA |
| Aa | Ícono de cámara desconectada .cam-offline | --aviso / --aviso-soft | 5,37:1 | AA |
| Aa | Aviso de advertencia .notice.warn | #5E3700 / --aviso-soft | 9,12:1 | AAA |
| Aa | En pausa .state-txt.paused | --pausa / --card | 6,83:1 | AA |
| Aa | Ícono de cámara en pausa .cam-paused (fondo rayado) | --pausa / --pausa-soft | 5,62:1 | AA |
| Aa | Aviso neutro .notice.neutral, .seg sin elegir | --ink-2 / --ground-2 | 6,94:1 | AA |
| Aa | Aviso breve (toast) .toast, .btn-ink, .order-n | #FFFFFF / --ink | 16,50:1 | AAA |
| Aa | Lema del arranque .sp-tag (18 px, 600) · texto grande | #E4DAF4 / --morado | 7,97:1 | AAA |
| Aa | Texto de la vista en vivo Explicación bajo la vista en vivo | #D9D3E6 / #17121F | 12,61:1 | AAA |
| Aa | Texto de ejemplo del campo .input::placeholder | #77708A / #FFFFFF | 4,70:1 | AA |
| Borde | Borde de campo, chip y botón secundario Límite del control (no texto) | --line-2 / #FFFFFF | 1,72:1 | Menos de 3:1 |
| Borde | Anillo de foco :focus-visible, 3 px (no texto) | --focus / #FFFFFF | 10,71:1 | Cumple 3:1 |
| Aa | Botón deshabilitado .btn[disabled] | #8A849A / --ground-2 | 2,88:1 | Exento |
Tipografía
Una sola familia, pensada para leer bien con baja visión y bajo estrés. Distingue caracteres que se confunden, como 1, l e I, o 0 y O.
Interfaz
Atkinson Hyperlegible Next, pesos 400 a 800. Diseñada por el Braille Institute para lectores con baja visión. Se usa en toda la interfaz, del cuerpo a los titulares de alerta.
Horas y datos
Atkinson Hyperlegible Mono, con cifras tabulares (.mono). Solo para horas, duraciones y números que se comparan en columna, nunca como adorno.
Escala de la app móvil
Estilos de texto del sistema. El cuerpo base es de 17 px con interlineado 1,45, y ningún texto de lectura baja de 13 px.
Rosa pudo haberse caído
34px · 800 · 1.08 · -.02em
Atkinson Hyperlegible Next
Hola, Carmen
28px · 800 · 1.15 · -.015em
Atkinson Hyperlegible Next
Tu cámara ya está lista
22px · 800 · 1.2 · -.01em
Atkinson Hyperlegible Next
Vista en vivo
18px · 800 · 1.45 (heredado)
Atkinson Hyperlegible Next
Qué hacer ahora
18px · 700 · 1.3
Atkinson Hyperlegible Next
Si detectamos una caída o un movimiento inestable, te llegará un aviso aunque tengas la app cerrada.
17px · 400 · 1.45 (heredado)
Atkinson Hyperlegible Next
Nombre de la habitación
15px · 700 · 1.45 (heredado)
Atkinson Hyperlegible Next
Cada acceso queda registrado: quién la vio, cuándo y cuánto tiempo.
15px · 400 · 1.4
Atkinson Hyperlegible Next
14px · 400 · 1.35
Atkinson Hyperlegible Next
10:42 · 07:55 · 00:37
17px (heredado) · 400 · 1.45 (heredado) · -.01em
Atkinson Hyperlegible Mono
Escala de escritorio
Te Tengo Captura usa una escala más compacta, propia de una ventana: título de inicio de 34 px, cuerpo de 15 a 16 px y datos secundarios de 13,5 px.
| Clase | Uso | Tamaño | Peso | Interlineado | Muestra |
|---|---|---|---|---|---|
.t-display | Título de inicio | 34px | 800 | 1.1 | Sala · En línea |
.t-title | Título | 26px | 800 | 1.15 | Sala · En línea |
.t-h2 | Título de tarjeta | 18px | 800 | 1.25 | Sala · En línea |
.t-lead | Entrada | 16px | 400 | 1.5 | Sala · En línea |
.t-small | Texto secundario | 14.5px | 400 | 1.45 | Sala · En línea |
.t-meta | Datos secundarios | 13.5px | 400 | 1.4 | Sala · En línea |
.win | Cuerpo de la ventana | 15px | 400 | 1.45 | Enviando video |
Haz
- Mantén el cuerpo en 16 px o más en la app móvil.
- Usa la negrita 800 para titulares y la 700 para etiquetas y botones.
- Equilibra los titulares largos (
text-wrap: balance).
Evita
- Usar la Mono para dar un aire «técnico»: solo va en horas y datos.
- Escribir textos de interfaz en mayúsculas sostenidas, salvo las etiquetas de severidad y los sellos.
- Bajar de 13 px, ni siquiera en metadatos.
Forma, espaciado y elevación
Formas redondeadas y amables, sombras suaves y movimiento breve. Nada rígido ni técnico.
Radios
--r-card · 22px
Tarjetas y listas
--r-ctl · 16px
Botones, campos y opciones
14 px
Botón pequeño, segmentos, ícono de fila
18 px
Avisos, clips y alerta de estado
28 px arriba
Hojas inferiores
44 px de alto, 22 px
Chips en forma de píldora
En Te Tengo Captura los radios se ajustan a la densidad de escritorio: tarjetas de 18px, controles de 12px y ventana de 10px.
Espaciado
Una escala de 4 en 4 con utilidades .mt8 a .mt24. Las pantallas tienen 20 px de margen lateral y las tarjetas, 18 px de relleno. Los grupos relacionados van juntos (10 a 12 px) y las secciones se separan más (28 px sobre cada .sec-h).
4 px8 px12 px16 px20 px24 px28 pxElevación
--shadow-1
Tarjetas y listas en reposo. 0 1px 2px rgba(0,0,0,.05),0 4px 14px rgba(0,0,0,.05)
--shadow-2
Hojas, diálogos y avisos breves. 0 8px 28px rgba(0,0,0,.16),0 2px 6px rgba(0,0,0,.08)
Contorno
Botón secundario, campos y tarjetas dentro de otra superficie: borde interior de 1,5 px, sin sombra.
Movimiento
Todas las transiciones usan --ease: cubic-bezier(.16,1,.3,1): arrancan rápido y frenan suave. El movimiento comunica un cambio de estado, nunca decora.
- 150 ms: botones (fondo y escala al presionar).
- 200 a 220 ms: pestañas, interruptores y cambio de pantalla.
- 280 a 300 ms: hojas, diálogos y avisos breves.
- 550 ms: la alerta inunda la pantalla desde arriba, el único momento enfático.
Con prefers-reduced-motion: reduce las entradas pasan a un fundido de 150 ms, la inundación de la alerta y el esqueleto animado se desactivan y el arranque muestra su cuadro final.
Objetivos táctiles
Todo lo que se toca mide al menos 44 px de alto; los botones principales, 56 px.
Iconografía
Un solo juego de 52 íconos dibujados a mano: retícula de 24 × 24, trazo de 2, extremos y uniones redondeados, y currentColor para heredar el color del texto. Toca un ícono para copiar su nombre.
Íconos de estado
Los íconos con borde morado en la cuadrícula llevan significado de estado y siempre acompañan a un texto. No se reutilizan para otra cosa.
| Ícono | Nombre | Significa |
|---|---|---|
fall | Caída | |
unsteady | Movimiento inestable | |
stand | Se levantó | |
cam | Cámara en línea | |
wifiOff | Desconectada | |
pause | En pausa | |
lock | Detenida o solo lectura | |
eyeOff | Detección no confiable | |
eye | Vista en vivo y registro de accesos | |
shield | Consentimiento y privacidad |
Tamaños en uso: 18 px en mensajes de campo, 22 px en avisos y botones, 24 px en filas y barras, 26 px en la barra de pestañas y 28 px en la tarjeta de estado.
Haz
- Marca cada ícono con
aria-hidden="true"y pon el significado en el texto de al lado. - Da a un botón de solo ícono un
aria-labelque nombre la acción.
Evita
- Usar emojis o caracteres Unicode como íconos.
- Usar el ícono de caída para un movimiento inestable, o al revés.
Componentes
Cada ejemplo usa el HTML y las clases de la app. Los teléfonos muestran pantallas completas.
Botones
Un botón nombra la acción que hace. Hay una sola acción principal por pantalla; en una alerta, la principal es llamar.
¿Ya tienes cuenta?
Sobre la alerta de caídaSobre la alerta de movimiento inestableHaz
- Escribe la acción completa: «Llamar a Rosa · 987 654 321», «Registrar consentimiento».
- Pon la acción principal primero y sola.
Evita
- Dos botones principales juntos.
- Usar el botón de peligro para algo que no borra ni retira nada.
- «Aceptar» u «OK» sin decir qué pasa.
Ver el HTML.btn
<button class="btn btn-primary">…</button>
<button class="btn btn-primary" type="button">Registrar consentimiento</button> <button class="btn btn-secondary" type="button"><!-- ic('pin') -->Cambiar el nombre</button> <button class="btn btn-primary" type="button" disabled>Volver al inicio</button> <div class="drench caida ds-pad"> <div class="btn-row"> <a class="btn btn-white" href="#componentes" onclick="return false"> <!-- ic('phone') --> Llamar a Rosa · 987 654 321 </a> <button class="btn btn-onred" type="button"><!-- ic('video') -->Ver en vivo · Sala</button> </div> </div>
Campos de texto
La etiqueta siempre está visible encima del campo. La ayuda va debajo y el error la reemplaza diciendo qué falta y cómo resolverlo.
Elige una sugerencia o escribe otro nombre.
Escribe el nombre de la habitación.
Mínimo 8 caracteres, con al menos un número.
Es el correo al que llegó la invitación.
Haz
- Mensajes que dicen qué hacer: «Escribe el nombre de la habitación.»
- Validar al enviar, no mientras la persona escribe.
Evita
- Usar el texto de ejemplo como etiqueta.
- Mensajes genéricos como «Campo inválido».
Ver el HTML
<div class="field"> <label class="label" for="ds-f1">Nombre de la habitación</label> <div class="input-wrap"> <input class="input" id="ds-f1" name="ds-f1" type="text" value="Sala comedor" placeholder="Ej.: Sala comedor"> </div> <p class="hint">Elige una sugerencia o escribe otro nombre.</p> </div> <div class="field err"> <label class="label" for="ds-f2">Nombre de la habitación</label> <div class="input-wrap"> <input class="input" id="ds-f2" name="ds-f2" type="text" value="" placeholder="Ej.: Sala comedor" aria-invalid="true" aria-describedby="ds-f2-m"> </div> <p class="field-msg" id="ds-f2-m"> <!-- ic('warn') --> <span>Escribe el nombre de la habitación.</span> </p> </div>
Chips, opciones, casillas, segmentos e interruptores
Controles para elegir. Todos son interactivos en esta página.
Ver el HTML
<div class=""> <label class="choice" data-act="escMin" data-arg="3"> <input type="radio" name="ds-esc"> <span class="dot"></span> <span>3 minutos</span> </label> <label class="choice sel" data-act="escMin" data-arg="5"> <input type="radio" name="ds-esc" checked> <span class="dot"></span> <span>5 minutos<span class="sub">Predeterminado</span></span> </label> <label class="choice" data-act="escMin" data-arg="10"> <input type="radio" name="ds-esc"> <span class="dot"></span> <span>10 minutos</span> </label> </div> <div class="chips mb16" style="margin-top:-6px" aria-label="Sugerencias"> <button type="button" class="chip" data-act="roomName" data-arg="Sala" aria-pressed="false"> Sala </button> <button type="button" class="chip sel" data-act="roomName" data-arg="Sala comedor" aria-pressed="true"> Sala comedor </button> <button type="button" class="chip" data-act="roomName" data-arg="Comedor" aria-pressed="false"> Comedor </button> <button type="button" class="chip" data-act="roomName" data-arg="Dormitorio" aria-pressed="false"> Dormitorio </button> <button type="button" class="chip" data-act="roomName" data-arg="Cocina" aria-pressed="false"> Cocina </button> </div>
Tarjetas y listas
La tarjeta de estado resume cómo está la persona cuidada, con una franja superior del color del estado. Las listas agrupan filas tocables o informativas.
Todo tranquilo
Sin eventos hoy. La cámara de la Sala está funcionando.
Sala
En línea
Ver el HTML
<div class="card"> <div class="band calma"></div> <div class="card-pad"> <div class="flex"> <span class="avatar rosa">RH</span> <span class="grow"> <b style="font-size:17px">Rosa Huamán, 78 años</b> <span class="t-meta" style="display:block">Jr. Los Pinos 482, San Miguel</span> </span> </div> <div class="flex mt16" style="align-items:flex-start;color:var(--calma-ink)"> <!-- ic('sun', 'style="width:28px;height:28px;flex:none"') --> <div> <p class="t-h2" style="color:var(--ink)">Todo tranquilo</p> <p class="t-small mt8">Sin eventos hoy. La cámara de la Sala está funcionando.</p> </div> </div> </div> </div>
Estados de la cámara
La única cámara de la vivienda se muestra con ícono, texto y un trazo propio en cada estado. Nunca solo con color.
| Estado | Forma |
|---|---|
| En línea | Verde, cámara, hora de la última señal |
| Desconectada | Ámbar, wifi tachado, contorno punteado |
| Detección no confiable | Ámbar, ojo tachado, contorno punteado, «revisa la luz y el encuadre» |
| En pausa | Gris azulado rayado, pausa, hora de reactivación |
| Detenida | Gris, candado, sin consentimiento |
Ver el HTML
<button class="row" data-act="openCam" data-arg="c1"> <span class="camline cam-offline"><!-- ic('wifiOff') --></span> <span class="grow"> <span class="ttl">Sala</span> <span class="sub"> <span class="state-txt offline">Desconectada</span> · desde las <span class="mono">10:31</span> </span> </span> <!-- ic('chevR', 'class="chev"') --> </button>
Avisos
Mensajes dentro de la pantalla que no bloquean. El tono lo da el tipo; el título dice qué pasa y el texto, qué significa o qué hacer.
okinfowarnerrneutralVer el HTML
<div class="notice warn" role="status"> <!-- ic('wifiOff') --> <div class="grow"> <b>No recibimos señal desde las 10:31</b> <span> Mientras siga desconectada no detectamos caídas en la Sala. Te avisaremos cuando vuelva. </span> </div> </div>
Barra de pestañas
Cuatro destinos fijos abajo: Inicio, Historial, Familia y Ajustes. Es la misma para la titular y para un familiar invitado.
Ver el HTML
<nav class="tabbar" aria-label="Secciones"> <button class="tab" data-tab="inicio"> <span class="pill"><!-- ic('home') --></span> Inicio </button> <button class="tab sel" data-tab="historial" aria-current="page"> <span class="pill"><!-- ic('hist') --></span> Historial <span class="badge" aria-label="1 alerta activa">1</span> </button> <button class="tab" data-tab="familia"> <span class="pill"><!-- ic('users') --></span> Familia </button> <button class="tab" data-tab="ajustes"> <span class="pill"><!-- ic('sliders') --></span> Ajustes </button> </nav>
Franja de alerta activa
Mientras una alerta sigue sin marcar, una franja arriba de las pantallas principales lleva de vuelta a ella.
Ver el HTML
<button class="strip" data-act="openActive"> <!-- ic('fall') --> <span class="grow"> <b>Posible caída en la Sala</b> Alerta activa desde las <span class="mono">10:42</span> </span> <!-- ic('chevR') --> </button>
Alerta a pantalla completa
La alerta inunda la pantalla con el color de su severidad. Arriba, tres datos de lectura inmediata; debajo, qué hacer, el clip y el registro.
Rosa pudo haberse caído
Comprobando si sigue en el suelo
Jr. Los Pinos 482, San Miguel, Lima
Estamos comprobando si Rosa se levanta. Si sigue en el suelo 30 segundos, confirmaremos la caída. Si se pone de pie, te avisaremos.
Si nadie la marca como atendida antes de las 10:47, avisaremos a Luis Huamán (contacto secundario).
Qué hacer ahora
- 1Llama a RosaSi contesta, pregúntale si puede levantarse sola.
- 2Si no contesta, pide ayuda cercaA un vecino o a quien esté más cerca de San Miguel. Emergencias: SAMU 106 o Bomberos 116.
- 3Marca la alertaCuando esté atendida, para que la familia lo sepa.
Clip del evento
Registro
- 10:42Caída detectada en la Sala
- 10:42Aviso enviado a Carmen (principal) y Luis, 6 s después de la caída
Rosa se cayó y sigue en el suelo
Sigue en el suelo · confirmada
Jr. Los Pinos 482, San Miguel, Lima
Si nadie la marca como atendida antes de las 10:47, avisaremos a Luis Huamán (contacto secundario).
Qué hacer ahora
- 1Llama a RosaSi contesta, pregúntale si puede levantarse sola.
- 2Si no contesta, pide ayuda cercaA un vecino o a quien esté más cerca de San Miguel. Emergencias: SAMU 106 o Bomberos 116.
- 3Marca la alertaCuando esté atendida, para que la familia lo sepa.
Clip del evento
Registro
- 10:42Caída detectada en la Sala
- 10:42Aviso enviado a Carmen (principal) y Luis, 6 s después de la caída
- 10:43Sigue en el suelo tras 30 s: caída confirmada
Rosa tuvo un movimiento inestable
Jr. Los Pinos 482, San Miguel, Lima
No se detectó una caída. Si la situación termina en una caída, te avisaremos de inmediato con una alerta urgente.
Si nadie la marca como atendida antes de las 10:44, avisaremos a Luis Huamán (contacto secundario).
Qué hacer ahora
- 1Llama a RosaPregúntale cómo se siente y si necesita ayuda.
- 2Revisa el clipMira qué pasó antes y después del movimiento.
- 3Marca la alertaIndica si la atendiste o si fue una falsa alarma.
Clip del evento
Registro
- 10:39Movimiento inestable detectado en la Sala
- 10:39Aviso enviado a Carmen (principal) y Luis, 5 s después del movimiento
Rosa se cayó y sigue en el suelo
Sigue en el suelo · confirmada
Jr. Los Pinos 482, San Miguel, Lima
Si nadie la marca como atendida antes de las 10:47, avisaremos a Luis Huamán (contacto secundario).
Qué hacer ahora
- 1Llama a RosaSi contesta, pregúntale si puede levantarse sola.
- 2Si no contesta, pide ayuda cercaA un vecino o a quien esté más cerca de San Miguel. Emergencias: SAMU 106 o Bomberos 116.
- 3Marca la alertaCuando esté atendida, para que la familia lo sepa.
Clip del evento
Registro
- 10:42Caída detectada en la Sala
- 10:42Aviso enviado a Carmen (principal) y Luis, 6 s después de la caída
- 10:43Sigue en el suelo tras 30 s: caída confirmada
- 10:42Caída detectada en la Sala
- 10:42Aviso enviado a Carmen (principal) y Luis, 6 s después de la caída
- 10:43Sigue en el suelo tras 30 s: caída confirmada
- 10:45Rosa se levantó
Ver el HTML
<div class="clip"> <svg class="room" viewBox="0 0 320 200">…</svg> <span class="tag">Sala · 10:42</span> </div> <div class="clip-bar"> <button class="play" aria-label="Reproducir clip" data-act="playClip"> <!-- ic('play') --> </button> <span class="track"> <i style="width:50%"></i> <span class="ev" style="left:50%" title="Momento del evento"></span> </span> <span class="mono">0:06 / 0:12</span> </div> <p class="t-meta mt8"> Ilustración de la habitación con la postura detectada. 6 s antes y 6 s después del evento. </p>
Notificación en la pantalla de bloqueo
La alerta llega con la app cerrada. La notificación usa el ícono de la app, una etiqueta de severidad y el qué, dónde y cuándo.
Miércoles 23 de septiembre
10:42
Miércoles 23 de septiembre
10:39
Miércoles 23 de septiembre
10:41
Hoja, diálogo y avisos breves
Capas sobre la pantalla. La hoja inferior pide una elección breve; el diálogo confirma algo irreversible; los avisos breves confirman sin interrumpir.
Rosa se cayó y sigue en el suelo
Sigue en el suelo · confirmada
Jr. Los Pinos 482, San Miguel, Lima
Si nadie la marca como atendida antes de las 10:47, avisaremos a Luis Huamán (contacto secundario).
Qué hacer ahora
- 1Llama a RosaSi contesta, pregúntale si puede levantarse sola.
- 2Si no contesta, pide ayuda cercaA un vecino o a quien esté más cerca de San Miguel. Emergencias: SAMU 106 o Bomberos 116.
- 3Marca la alertaCuando esté atendida, para que la familia lo sepa.
Clip del evento
Registro
- 10:42Caída detectada en la Sala
- 10:42Aviso enviado a Carmen (principal) y Luis, 6 s después de la caída
- 10:43Sigue en el suelo tras 30 s: caída confirmada
¿Cómo terminó esta alerta?
Caída en la Sala a las 10:42.
Privacidad
Constancia de consentimiento
Cómo cuidamos sus datos
Según la Ley N.° 29733, Rosa puede pedir acceder, corregir o eliminar sus datos escribiendo a privacidad@tetengo.pe.
Revocar
Detiene la captura de la cámara, la vista en vivo y elimina las grabaciones guardadas.
¿Revocar el consentimiento?
La cámara de la Sala dejará de capturar de inmediato, ya no se podrá ver en vivo y se eliminarán las grabaciones guardadas. Nadie de la familia recibirá más alertas de caída. Esta acción no se puede deshacer.
Cámara · Sala
Sala
En línea
Vista en vivo
Habitación
Rosa pudo haberse caído
Se levantó a las 10:45
Jr. Los Pinos 482, San Miguel, Lima
Si nadie la marca como atendida antes de las 10:47, avisaremos a Luis Huamán (contacto secundario).
Qué hacer ahora
- 1Llama a RosaSi contesta, pregúntale si puede levantarse sola.
- 2Si no contesta, pide ayuda cercaA un vecino o a quien esté más cerca de San Miguel. Emergencias: SAMU 106 o Bomberos 116.
- 3Marca la alertaCuando esté atendida, para que la familia lo sepa.
Clip del evento
Registro
- 10:42Caída detectada en la Sala
- 10:42Aviso enviado a Carmen (principal) y Luis, 6 s después de la caída
- 10:43Sigue en el suelo tras 30 s: caída confirmada
- 10:45Rosa se levantó
Ver el HTML
<div class="scrim"></div> <div class="dialog" role="alertdialog" aria-modal="true" aria-labelledby="dg-t"> <div class="d-ico" style="background:var(--caida-soft);color:var(--caida-ink)"> <!-- ic('warn') --> </div> <h2 class="t-h2" id="dg-t">¿Revocar el consentimiento?</h2> <p class="t-small mt8 mb20"> La cámara de la Sala dejará de capturar de inmediato, ya no se podrá ver en vivo y se eliminarán las grabaciones guardadas. </p> <div class="btn-row"> <button class="btn btn-danger">Sí, revocar y eliminar</button> <button class="btn btn-secondary">Cancelar, mantenerlo</button> </div> </div>
Vista en vivo y registro de accesos
Cualquier familiar vinculado puede ver la cámara en vivo cuando quiera, no solo durante una alerta. La vista no se graba y cada acceso queda registrado para toda la familia.
En vivo · Sala
Ves la Sala y la postura de Rosa en este momento. La transmisión no se graba.
Tu acceso queda en el registro que ve toda la familia: Carmen Huamán, desde las 10:42.
En vivo · Sala
La vista en vivo no está disponible
La cámara de la Sala está en pausa hasta las 11:42. Podrás verla de nuevo a esa hora, o antes si reanudas la cámara.
Registro de accesos
Cada vez que alguien de la familia abre la vista en vivo de la Sala, queda registrado quién la vio, cuándo empezó y cuánto duró. Toda la familia ve este registro.
Hoy, miércoles 23 de septiembre
martes 22 de septiembre
lunes 21 de septiembre
sábado 19 de septiembre
Ver el HTML
<div class="list"> <div class="row static"> <span class="avatar ">CH</span> <span class="grow"> <span class="ttl">Carmen Huamán (tú)</span> <span class="sub">Empezó a las <span class="mono">10:42</span> · duró 1 min 12 s</span> </span> </div> <div class="row static"> <span class="avatar b">LH</span> <span class="grow"> <span class="ttl">Luis Huamán</span> <span class="sub">Empezó a las <span class="mono">08:15</span> · duró 2 min 5 s</span> </span> </div> </div>
Orden de aviso
Todos los familiares reciben cada alerta. El contacto principal debe atenderla primero; si no la marca a tiempo, avisamos al secundario.
Ver el HTML
<div class="list"> <div class="row static order"> <span class="order-n">1</span> <span class="grow"> <span class="ttl">Carmen Huamán (tú)</span> <span class="sub">Contacto principal</span> </span> <button class="link" data-act="pickSlot" data-arg="principal" aria-label="Cambiar contacto principal"> Cambiar </button> </div> <div class="row static order"> <span class="order-n">2</span> <span class="grow"> <span class="ttl">Luis Huamán</span> <span class="sub">Contacto secundario · a los 5 min</span> </span> <button class="link" data-act="pickSlot" data-arg="secundario" aria-label="Cambiar contacto secundario"> Cambiar </button> </div> </div>
Solo lectura (familiar invitado)
Un familiar invitado ve lo mismo que la titular, pero no cambia la configuración. Lo que no puede editar se muestra, no se esconde, y se explica quién puede cambiarlo.
Ver el HTML
<div class="notice neutral" role="status"> <!-- ic('lock') --> <div class="grow"> <span>Solo Carmen (titular) puede cambiar el nombre de la habitación.</span> </div> </div> <div class="list"> <div class="row static"> <span class="ico"><!-- ic('pin') --></span> <span class="grow"> <span class="ttl">Sala</span> <span class="sub">Nombre que aparece en las alertas</span> </span> <span class="ro-tag"><!-- ic('lock') -->Solo ver</span> </div> </div>
Comparación semanal
El resumen cuenta caídas, movimientos inestables y falsas alarmas de la semana y los compara con la anterior.
Ver el HTML
<div class="card card-pad" style="padding-top:6px;padding-bottom:6px"> <div class="count-row"> <span class="n">1</span> <span class="grow"> <b class="flex" style="gap:8px"><svg class="m" viewBox="0 0 18 18">…</svg>Caídas</b> <span class="bar"><i style="width:33.33333333333333%;background:var(--caida)"></i></span> <span class="trend up"><!-- ic('up') -->Aumentó: 1 más que la semana anterior (0)</span> </span> </div> <div class="count-row"> <span class="n">2</span> <span class="grow"> <b class="flex" style="gap:8px"> <svg class="m" viewBox="0 0 18 18">…</svg> Movimientos inestables </b> <span class="bar"> <i style="width:66.66666666666666%;background:var(--inestable-deep)"></i> </span> <span class="trend same"><!-- ic('equal') -->Igual que la semana anterior</span> </span> </div> <div class="count-row"> <span class="n">1</span> <span class="grow"> <b class="flex" style="gap:8px"> <svg class="m" viewBox="0 0 18 18">…</svg> Falsas alarmas </b> <span class="bar"><i style="width:33.33333333333333%;background:var(--ink-3)"></i></span> <span class="trend down"> <!-- ic('down') --> Disminuyó: 1 menos que la semana anterior (2) </span> </span> </div> </div>
Constancia de consentimiento
Prueba de que la persona cuidada autorizó el monitoreo, con fecha y hora, como exige la Ley N.° 29733. El consentimiento incluye la vista en vivo en cualquier momento.
Constancia de consentimiento
Los familiares vinculados a esta cuenta pueden ver la cámara en vivo cuando quieran, no solo durante una alerta. Cada acceso queda registrado: quién la vio, cuándo y cuánto tiempo.
Ver el HTML
<div class="card"> <div class="band calma"></div> <div class="card-pad"> <div class="flex"> <!-- ic('shield', 'style="width:26px;height:26px;color:var(--calma-ink);flex:none"') --> <p class="t-h3">Constancia de consentimiento</p> </div> <div class="kv mt8"> <span class="k">Otorgado por</span> <span class="v">Rosa Huamán</span> </div> <div class="kv"> <span class="k">Registrado por</span> <span class="v">Carmen Huamán</span> </div> <div class="kv"><span class="k">Fecha</span><span class="v">3 ago 2026</span></div> <div class="kv"><span class="k">Hora</span><span class="v mono">09:12</span></div> <p class="t-meta mt8"> Guardamos la fecha y la hora como constancia de que Rosa autorizó el monitoreo, como lo exige la Ley N.° 29733 de Protección de Datos Personales. </p> <button class="link mt12" data-act="docConsent">Ver la constancia completa</button> </div> </div>
Estados vacíos y de carga
Un estado vacío explica qué aparecerá ahí y cuándo. Mientras se carga, el esqueleto conserva la forma de la lista.
Aún no hay accesos registrados
Cuando alguien de la familia abra la vista en vivo, aquí verás quién la vio, cuándo empezó y cuánto duró.
Sin eventos registrados
Aquí aparecerán las alertas de caída y de movimiento inestable, con su fecha, hora, habitación y estado.
Ver el HTML
<div class="empty"> <svg class="e-ill" viewBox="0 0 120 120">…</svg> <h2 class="t-h2">Aún no hay accesos registrados</h2> <p class="t-small"> Cuando alguien de la familia abra la vista en vivo, aquí verás quién la vio, cuándo empezó y cuánto duró. </p> </div>
Patrones
Cómo se combinan los componentes en los momentos clave de la prueba piloto.
Caída y movimiento inestable
Son dos eventos distintos y nunca se confunden: cambian el color, el ícono, la etiqueta, la severidad y la marca del historial. Un movimiento inestable puede terminar en caída; entonces la alerta pasa a ser de caída.
CaídaSeveridad alta
Miércoles 23 de septiembre
10:42
Rosa pudo haberse caído
Comprobando si sigue en el suelo
Jr. Los Pinos 482, San Miguel, Lima
Estamos comprobando si Rosa se levanta. Si sigue en el suelo 30 segundos, confirmaremos la caída. Si se pone de pie, te avisaremos.
Si nadie la marca como atendida antes de las 10:47, avisaremos a Luis Huamán (contacto secundario).
Qué hacer ahora
- 1Llama a RosaSi contesta, pregúntale si puede levantarse sola.
- 2Si no contesta, pide ayuda cercaA un vecino o a quien esté más cerca de San Miguel. Emergencias: SAMU 106 o Bomberos 116.
- 3Marca la alertaCuando esté atendida, para que la familia lo sepa.
Clip del evento
Registro
- 10:42Caída detectada en la Sala
- 10:42Aviso enviado a Carmen (principal) y Luis, 6 s después de la caída
InestableSeveridad media
Miércoles 23 de septiembre
10:39
Rosa tuvo un movimiento inestable
Jr. Los Pinos 482, San Miguel, Lima
No se detectó una caída. Si la situación termina en una caída, te avisaremos de inmediato con una alerta urgente.
Si nadie la marca como atendida antes de las 10:44, avisaremos a Luis Huamán (contacto secundario).
Qué hacer ahora
- 1Llama a RosaPregúntale cómo se siente y si necesita ayuda.
- 2Revisa el clipMira qué pasó antes y después del movimiento.
- 3Marca la alertaIndica si la atendiste o si fue una falsa alarma.
Clip del evento
Registro
- 10:39Movimiento inestable detectado en la Sala
- 10:39Aviso enviado a Carmen (principal) y Luis, 5 s después del movimiento
| Caída | Movimiento inestable | |
|---|---|---|
| Color | Rojo --caida, texto blanco | Ámbar --inestable, texto tinta |
| Ícono | figura en el suelo | rombo con trazo quebrado |
| Etiqueta | «Alerta de caída · Urgente», «Caída» | «Movimiento inestable · Severidad media», «Inestable» |
| Marca en el historial | cuadrado | rombo |
| Acción principal | Llamar (botón blanco) | Llamar (botón tinta) |
| Seguimiento | Confirmación a los 30 s y aviso «se levantó» | Si termina en caída, la alerta se actualiza a caída |
El ciclo de una caída
- 0 sSe detectaLa cámara envía el video; en la nube se reconoce la postura de caída.
- < 10 sLlega el avisoNotificación a toda la familia, con habitación y hora. El registro dice en cuántos segundos llegó.
- 30 sCaída confirmadaSi sigue en el suelo, «Sigue en el suelo · confirmada». La alerta sigue activa hasta que alguien la marque.
- DespuésSe levantóSi se pone de pie, avisamos «Rosa se levantó a las HH:MM» y pedimos confirmar cómo está.
Rosa pudo haberse caído
Comprobando si sigue en el suelo
Jr. Los Pinos 482, San Miguel, Lima
Estamos comprobando si Rosa se levanta. Si sigue en el suelo 30 segundos, confirmaremos la caída. Si se pone de pie, te avisaremos.
Si nadie la marca como atendida antes de las 10:47, avisaremos a Luis Huamán (contacto secundario).
Qué hacer ahora
- 1Llama a RosaSi contesta, pregúntale si puede levantarse sola.
- 2Si no contesta, pide ayuda cercaA un vecino o a quien esté más cerca de San Miguel. Emergencias: SAMU 106 o Bomberos 116.
- 3Marca la alertaCuando esté atendida, para que la familia lo sepa.
Clip del evento
Registro
- 10:42Caída detectada en la Sala
- 10:42Aviso enviado a Carmen (principal) y Luis, 6 s después de la caída
Rosa se cayó y sigue en el suelo
Sigue en el suelo · confirmada
Jr. Los Pinos 482, San Miguel, Lima
Si nadie la marca como atendida antes de las 10:47, avisaremos a Luis Huamán (contacto secundario).
Qué hacer ahora
- 1Llama a RosaSi contesta, pregúntale si puede levantarse sola.
- 2Si no contesta, pide ayuda cercaA un vecino o a quien esté más cerca de San Miguel. Emergencias: SAMU 106 o Bomberos 116.
- 3Marca la alertaCuando esté atendida, para que la familia lo sepa.
Clip del evento
Registro
- 10:42Caída detectada en la Sala
- 10:42Aviso enviado a Carmen (principal) y Luis, 6 s después de la caída
- 10:43Sigue en el suelo tras 30 s: caída confirmada
Rosa pudo haberse caído
Se levantó a las 10:45
Jr. Los Pinos 482, San Miguel, Lima
Si nadie la marca como atendida antes de las 10:47, avisaremos a Luis Huamán (contacto secundario).
Qué hacer ahora
- 1Llama a RosaSi contesta, pregúntale si puede levantarse sola.
- 2Si no contesta, pide ayuda cercaA un vecino o a quien esté más cerca de San Miguel. Emergencias: SAMU 106 o Bomberos 116.
- 3Marca la alertaCuando esté atendida, para que la familia lo sepa.
Clip del evento
Registro
- 10:42Caída detectada en la Sala
- 10:42Aviso enviado a Carmen (principal) y Luis, 6 s después de la caída
- 10:43Sigue en el suelo tras 30 s: caída confirmada
- 10:45Rosa se levantó
Estados de la cámara
La tarjeta de estado del inicio cambia su franja, su ícono y su texto con el estado de la única cámara, y cuando hay un problema dice qué revisar en la casa.
Todo tranquilo
Sin eventos hoy. La cámara de la Sala está funcionando.
La cámara está desconectada
Sin ella no podemos detectar caídas en la Sala. Revisa el cable de la cámara, que la PC esté encendida y el internet de la casa.
La detección no es confiable
Hace más de 5 minutos que la cámara no ve bien a Rosa en la Sala. Revisa la luz y el encuadre.
Todo tranquilo, con una pausa
La cámara de la Sala está en pausa hasta las 11:42.
Detección detenida
Falta el consentimiento informado de Rosa. La cámara está instalada, pero no envía video.
Cámara · Sala
Sala
Desconectada
Qué revisar en la casa
Vista en vivo
Habitación
Hola, Carmen
Todo tranquilo, con una pausa
La cámara de la Sala está en pausa hasta las 11:42.
Cámara
Esta semana
Hola, Carmen
Todo tranquilo
Sin eventos hoy. La cámara de la Sala está funcionando.
Cámara
Esta semana
Haz
- Decir qué revisar: el cable de la cámara, que la PC esté encendida y el internet de la casa.
- Avisar también cuando vuelve: «El monitoreo se restableció».
Evita
- Mostrar un problema de la cámara con el rojo de caída.
- Pedir a la familia que conecte o vincule la cámara: la instala el equipo del proyecto.
Cámara lista tras el consentimiento
En la configuración inicial no hay nada que conectar. Después del consentimiento, la app confirma que la cámara instalada ya funciona y ofrece cambiar el nombre de su habitación.
Consentimiento registrado
La cámara de la casa empezó a enviar video: desde ahora detectamos caídas. Puedes revisarlo o revocarlo cuando quieras en Ajustes.
Constancia de consentimiento
Cámara
Tu cámara ya está lista
El equipo del proyecto la instaló y la configuró en la PC de la casa de Rosa. No tienes que conectar nada: ya estamos detectando caídas en la Sala.
Sala
En línea
Nombre de la habitación
Lo definió el equipo al instalarla y aparece en cada alerta. Si en casa la llaman de otra forma, cámbialo.
Cámara
¿Cómo se llama esta habitación?
Es donde el equipo del proyecto instaló la cámara. El nombre aparece en cada alerta para que sepas al instante dónde fue.
Cámara
La cámara está instalada, pero no envía video
Sin el consentimiento de Rosa, la cámara de la Sala no captura nada y no podemos detectar caídas.
Sala
Detenida
Nombre de la habitación
Lo definió el equipo al instalarla y aparece en cada alerta. Si en casa la llaman de otra forma, cámbialo.
Haz
- Confirmar con datos concretos: conectada a la PC de la casa, instalada el…, «Instalada por: Equipo del proyecto».
- Mostrar cómo se verá el nombre en las próximas alertas.
Evita
- Pedir códigos, elegir webcams o esperar una conexión: en la prueba piloto no existen.
- Aceptar un nombre de habitación vacío.
Vista en vivo y registro de accesos
Ver en vivo es un acto transparente: se puede en cualquier momento porque la persona cuidada lo aceptó, y todos saben quién miró, cuándo y cuánto tiempo.
Hola, Carmen
Todo tranquilo
Sin eventos hoy. La cámara de la Sala está funcionando.
Cámara
Esta semana
En vivo · Sala
Ves la Sala y la postura de Rosa en este momento. La transmisión no se graba.
Tu acceso queda en el registro que ve toda la familia: Carmen Huamán, desde las 10:42.
Cámara · Sala
Sala
En línea
Vista en vivo
Habitación
Registro de accesos
Cada vez que alguien de la familia abre la vista en vivo de la Sala, queda registrado quién la vio, cuándo empezó y cuánto duró. Toda la familia ve este registro.
Hoy, miércoles 23 de septiembre
martes 22 de septiembre
lunes 21 de septiembre
sábado 19 de septiembre
Haz
- Recordar dentro de la vista que el acceso queda registrado.
- Si no está disponible, decir por qué y hasta cuándo.
- Mostrar el registro vacío con «Aún no hay accesos registrados».
Evita
- Grabar la vista en vivo o mostrar fotos de la persona.
- Esconder el registro de accesos a los invitados.
Familiar invitado (solo lectura)
Luis ve las mismas alertas, clips, historial y vista en vivo que Carmen. Lo que solo puede cambiar la titular aparece con candado y una explicación.
Ajustes
Cámara · Sala
Sala
En línea
Vista en vivo
Habitación
Orden de aviso
Todos los familiares reciben cada alerta. El contacto principal es quien debe atenderla primero; si no la marca como atendida a tiempo, avisamos al secundario.
Quién responde
Tiempo de espera
Cuánto esperamos a que el contacto principal marque la alerta antes de avisar al secundario.
Detección no confiable
Si durante más de 5 minutos solo llegan imágenes descartadas, no podemos asegurar que detectemos una caída. Se avisa con el ámbar de aviso, el ojo tachado y qué revisar.
Hola, Carmen
La detección no es confiable
Hace más de 5 minutos que la cámara no ve bien a Rosa en la Sala. Revisa la luz y el encuadre.
Cámara
Esta semana
Cámara · Sala
Sala
Detección no confiable
Qué revisar en la casa
Vista en vivo
Habitación
Haz
- Decir desde qué hora y qué revisar: la luz de la habitación y que se vea el cuerpo entero.
- Avisar cuando la cámara vuelva a verla bien.
Evita
- Tratarla como una caída o usar el rojo.
- Culpar a la persona cuidada del problema.
Escritorio: Te Tengo Captura
Una extensión del sistema, no un mundo nuevo. Tokens, color, tipografía y reglas de estado vienen de la app móvil; aquí solo cambia lo propio de una ventana de Windows 11.
Qué cambia
| Aspecto | App móvil | Te Tengo Captura |
|---|---|---|
| Marco | Teléfono de 390 × 844 | Ventana de 960 × 640, radio de 10 px y barra de título neutra de 36 px (minimizar, maximizar desactivado y cerrar) |
| Radios | Tarjetas 22 px, controles 16 px | Tarjetas 18 px, controles 12 px |
| Tipografía | Cuerpo de 17 px | Cuerpo de 15 a 16 px, título de inicio de 34 px |
| Botones | 56 px, ancho completo | 44 px (38 px el pequeño), ancho según el texto |
| Pantallas | Flujos completos | Una sola ventana de estado, más la bandeja y los avisos del sistema |
| Configuración | Nombre de la habitación, consentimiento, pausa, familia | Solo lectura: «Configurada por el equipo del proyecto». El nombre de la habitación se cambia en la app |
| Rojo de caída | Alertas | No aparece: aquí no hay alertas |
Ventana de estado
La única pantalla del piloto: la vivienda, una tarjeta de estado con franja superior y dos tarjetas, la cámara y la configuración en solo lectura. Elige un estado para ver cómo cambia la ventana.
Ventana principal: la vivienda y la cámara, de solo lectura, configuradas por el equipo del proyecto; la webcam envía su video cifrado.
Vivienda de Rosa Huamán
Cámara de esta casa
Sala
Webcam USB HD (1080p)
Configurada por el equipo del proyecto
- Vivienda
- Rosa Huamán
- Webcam
- Webcam USB HD (1080p)USB · 1920 × 1080
- Habitación
- SalaEl nombre se cambia en la app Te Tengo
- Instalación
- 22/09/2026
Solo lectura. Esta PC usa una configuración fija; si algo no funciona, avisa al equipo del proyecto.
Las pausas, el consentimiento, el nombre de la habitación y las alertas se gestionan en la app Te Tengo.Se inicia con Windows
Vivienda de Rosa Huamán
Cámara de esta casa
Sala
Webcam USB HD (1080p)
Configurada por el equipo del proyecto
- Vivienda
- Rosa Huamán
- Webcam
- Webcam USB HD (1080p)USB · 1920 × 1080
- Habitación
- SalaEl nombre se cambia en la app Te Tengo
- Instalación
- 22/09/2026
Solo lectura. Esta PC usa una configuración fija; si algo no funciona, avisa al equipo del proyecto.
Las pausas, el consentimiento, el nombre de la habitación y las alertas se gestionan en la app Te Tengo.Se inicia con Windows
Vivienda de Rosa Huamán
Cámara de esta casa
Sala
Webcam USB HD (1080p)
Configurada por el equipo del proyecto
- Vivienda
- Rosa Huamán
- Webcam
- Webcam USB HD (1080p)USB · 1920 × 1080
- Habitación
- SalaEl nombre se cambia en la app Te Tengo
- Instalación
- 22/09/2026
Solo lectura. Esta PC usa una configuración fija; si algo no funciona, avisa al equipo del proyecto.
Las pausas, el consentimiento, el nombre de la habitación y las alertas se gestionan en la app Te Tengo.Se inicia con Windows
Vivienda de Rosa Huamán
Cámara de esta casa
Sala
Webcam USB HD (1080p)
Configurada por el equipo del proyecto
- Vivienda
- Rosa Huamán
- Webcam
- Webcam USB HD (1080p)USB · 1920 × 1080
- Habitación
- SalaEl nombre se cambia en la app Te Tengo
- Instalación
- 22/09/2026
Solo lectura. Esta PC usa una configuración fija; si algo no funciona, avisa al equipo del proyecto.
Las pausas, el consentimiento, el nombre de la habitación y las alertas se gestionan en la app Te Tengo.Se inicia con Windows
Vivienda de Rosa Huamán
Cámara de esta casa
Sala
Webcam USB HD (1080p)
Configurada por el equipo del proyecto
- Vivienda
- Rosa Huamán
- Webcam
- Webcam USB HD (1080p)USB · 1920 × 1080
- Habitación
- SalaEl nombre se cambia en la app Te Tengo
- Instalación
- 22/09/2026
Solo lectura. Esta PC usa una configuración fija; si algo no funciona, avisa al equipo del proyecto.
Las pausas, el consentimiento, el nombre de la habitación y las alertas se gestionan en la app Te Tengo.Se inicia con Windows
Estados del equipo
| Estado | Color | Forma |
|---|---|---|
| Enviando | --calma / --calma-soft | Ícono de subida |
| En pausa | --pausa, rayado diagonal | Ícono de pausa, «hasta las HH:MM» |
| Esperando consentimiento | --aviso / --aviso-soft | Ícono de documento |
| Sin internet | Tinta oscura, ámbar en el ícono | Wi-Fi tachado, cuenta regresiva y «Reintentar ahora» |
| Webcam desconectada | --aviso-soft, franja discontinua, contorno punteado | Cámara tachada, «revisa el cable USB» y «Buscar de nuevo» |
Arranque, bandeja y avisos del sistema
El programa se inicia con Windows y vive en la bandeja. Cerrar o minimizar la ventana no lo detiene. El ícono de la bandeja lleva un punto de estado: verde enviando, gris en pausa y ámbar con un problema.



Escala tipográfica de escritorio
| Clase | Uso | Tamaño | Peso | Interlineado | Muestra |
|---|---|---|---|---|---|
.t-display | Título de inicio | 34px | 800 | 1.1 | Sala · En línea |
.t-title | Título | 26px | 800 | 1.15 | Sala · En línea |
.t-h2 | Título de tarjeta | 18px | 800 | 1.25 | Sala · En línea |
.t-lead | Entrada | 16px | 400 | 1.5 | Sala · En línea |
.t-small | Texto secundario | 14.5px | 400 | 1.45 | Sala · En línea |
.t-meta | Datos secundarios | 13.5px | 400 | 1.4 | Sala · En línea |
.win | Cuerpo de la ventana | 15px | 400 | 1.45 | Enviando video |
Accesibilidad
La persona que recibe una alerta puede estar nerviosa, en la calle y sin sus lentes. Estas reglas valen para las dos plataformas.
Contraste
AA como mínimo en todo el texto y AAA en los datos de la alerta. De 27 pares reales, 17 llegan a AAA y 10 a AA. Ver la tabla de contraste.
Objetivos táctiles
44 px como mínimo; 56 px en botones principales y pestañas; 64 px en filas de lista. Ver las medidas de cada componente.
Foco visible
Anillo de 3 px en --focus (morado) con 2 px de separación; en blanco dentro de las alertas. Nunca se elimina el contorno sin reemplazarlo. Prueba a recorrer esta página con Tab.
El estado lleva ícono, texto y patrón
El color nunca va solo. Las marcas del historial cambian de forma y la pausa y la desconexión, de trazo:
Anuncios para lectores de pantalla
- Avisos:
role="status"; errores y bloqueos:role="alert". - Avisos breves y barra sin internet:
role="status". - Progreso de la revocación:
aria-live="polite". - En el escritorio, la cuenta regresiva de reconexión se actualiza sin mover el foco.
Movimiento reducido
Con prefers-reduced-motion, las entradas pasan a un fundido corto, la inundación de la alerta, el esqueleto animado y el brillo de carga se desactivan, y el arranque muestra su cuadro final.
Lenguaje
Español peruano, frases cortas y verbos de acción. Los errores dicen qué pasó y cómo resolverlo. Nunca se muestran códigos internos.
Semántica
Botones reales para acciones y enlaces para navegar; etiquetas <label> en cada campo; aria-current en la pestaña actual; hojas y diálogos con aria-modal y título asociado.
Pendientes conocidos
- Borde de campo, chip y botón secundario:
--line-2sobre blanco da 1,72:1, por debajo del 3:1 que pide WCAG para los límites de un control. La etiqueta visible y el relleno ayudan, pero conviene oscurecer el borde de los campos. - Interruptor: mide 56 × 34 px. Cumple el mínimo AA de 24 px, pero no los 44 px de este sistema; conviene ampliar su área táctil sin cambiar su dibujo.
Recursos
Pantallas, prototipos navegables y archivos de marca.
Te Tengo Captura
Marca
- simbolo.svgSVG
- simbolo-blanco.svgSVG
- icono-app.svgSVG
- logotipo.svgSVG
- logotipo-blanco.svgSVG
- logotipo-captura.svgSVG