Easy-to-manage touch screens
Free, open-source touch screens. Guided USB setup, a drag-and-drop editor and local control. Made for Home Assistant.
Saber cada día que tu familiar está bien, y enterarte en segundos si algo pasa.
Translation pending
LifestyleTypeScript · DartGitHub @platanus-hackOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Project Repository for team-25 at Platanus Hack 26: Caracas ft. Yummy
Translation pending
Taken from the repository README
Loading the full README.
Read the full README ↗Un teléfono viejo que cuida a los que se quedaron solos. Enchufado en la mesa de un adulto mayor que vive solo, lo acompaña en el día a día (la pastilla, llamar a su hijo con un toque) y oye lo que pasa en la casa: una alarma de humo, un vidrio roto, un golpe, un grito o un «¡ayuda!» dicho en voz alta. Antes de avisar, pregunta «¿Está bien?». Si nadie responde en 60 s, avisa a la familia, que suele estar en otro país, por Telegram y con una llamada de WhatsApp; si nadie contesta, la casa llama a emergencias, y sin internet llama igual por la línea. El audio se procesa en el teléfono y nunca sale de él. Su asistente de voz se llama Lucero: «Lucero, estoy bien» calla la alarma y «Lucero, llama a mi hijo» llama.
Track: 🚨 Emergencias
/demo./f/demo?escenario=alerta.app/).presente.apk
(105 MB, Android 7 o posterior, Release casa-v0.1.0).
Oye, entiende «Lucero» y pregunta «¿Está bien?» con 60 s de espera, sin internet. Va sin los
números ni la clave de la casa de demo, así que no llama ni escribe en la base: para eso se
compila con su propio app/config/local.json.web/src/app/privacidad/). El audio no sale del teléfono.TELÉFONO DE LA CASA · Flutter en Android
micrófono ─► buffer de 5 s en memoria ─┬─► compuerta de dB ─► YAMNet (TFLite) ─► alarma, vidrio, golpe, grito
└─► Vosk, sin internet ─► «¡ayuda!», «me siento mal», ~70 frases
«Lucero, llama a mi hijo»: 5 s para decir «no»
│
▼
«¿Está bien?» ─► casa_alerta(vence en 60 s) ──────────────────────────────────┐
├─ «Estoy bien», deslizando o con la voz ─► casa_responder('cancelar') │
├─ «ayuda», «me caí» o «no» ─► escala sin esperar los 60 s │
└─ vence sin respuesta ─► llama al hijo por WhatsApp; si no, por teléfono │
si tampoco contesta, llama a emergencias │
latido cada 90 s, con enchufado y batería ─► casa_latido │
▼
SUPABASE · Postgres
alertas: pendiente ─► escalada ─► atendida · escalar_vencidas(): una sola escritura gana
pg_cron cada 5 s ─► GET /api/vigilar: escala lo vencido, manda los avisos y los sella
│
▼
FAMILIA · Next.js 16 en Vercel, sin login: el enlace de invitación es la llave
/f/[token] lee familia_casa cada 5 s ─► 🔴 alerta · 🟡 para saber · 🟢 todo bien · sin señal
Telegram (/start <token>) ◄─ el aviso del vigilante
Pastillas: foto de la factura ─► Claude ─► se cruza con el récipe ─► la familia confirma
anillo.dart); a la base van etiquetas de eventos, alertas y
latidos. Es privacidad y es costo: no hay un servidor de audio que pagar por minuto.camara.dart). Va a un bucket privado de Supabase, Claude dice lo
que se ve y la familia la recibe por Telegram y en la alerta roja
(api/casa/foto). Se borra a las 24 h. La llamada la
espera 4 s como mucho: si la cámara falla, se llama igual. «Lucero, llama a mi hijo» es una
llamada normal y no toma foto.| Qué | Cuántas | Cómo |
|---|---|---|
| Web: estado de la familia, audio, inventario, factura, el tope de lecturas y la foto de la emergencia | 63 | cd web && bun test |
| Contra la base real: alertas, escalamiento y pastillas | 11 | cd web && bun run test:integracion (llaves en web/.env.local) |
| App de la casa: alerta, pastillas, pedidos y órdenes por voz, nube con cola, la foto antes de llamar | 127 | make test |
| Carga del pitch: 50 teléfonos durante 2 min | 1124 lecturas, 0 fallas, p95 1,5 s | cd web && bun --env-file=.env.local scripts/carga.ts 50 120 |
| Carga con 150 teléfonos durante 1 min | 1653 lecturas, 0 fallas, p95 2,9 s | … scripts/carga.ts 150 60 |
| Modelos de audio: 9 modelos, 640 clips | resultados | cd experimentos/modelos-audio && uv run comparar.py |
| Voz de personas mayores (sintética): 138 frases × 6 voces, con y sin ruido | 94 % sin ruido, 77 % con TV a 10 dB (resultados) | cd experimentos/voz-mayor && uv run evaluar.py |
La carga se midió el sábado 24-oct contra producción, desde una laptop en Caracas (detalle).
Hacia dónde va el producto, en tres pasos: futuro.md.
# La web de la familia
cd web && bun install
bun dev # http://localhost:3000/f/demo
bun test
# La app de la casa, en un Android conectado por USB
cp app/config/local.example.json app/config/local.json # el número de emergencia y la clave de la casa
make run # make muestra todos los atajos; make run-demo usa una cuenta regresiva de 15 s
Las llaves van en web/.env.local y en Vercel, nunca en el repo: está
web/.env.example. Cada push a main despliega la web; si el build falla,
producción no cambia.
app/ Flutter: el teléfono de la casa (oído, voz, alerta, pastillas, llamadas)
web/ Next.js: la web de la familia, el vigilante y los webhooks
supabase/migrations/ el esquema, las funciones, quién puede llamar qué y el vigilante
experimentos/modelos-audio/ la comparación de modelos de audio, reproducible
docs/plan.md lo que se presenta, el demo y la venta
docs/contexto.md el problema, lo que ya existe y en qué nos distinguimos
docs/riesgos.md los muros técnicos y cómo contarlos
docs/futuro.md hacia dónde va
docs/pendientes.md lo que falta, con dónde está el código y cómo probarlo
docs/investigacion-*.md alertas y apagones, audio y sensores, cómo saber si el teléfono carga
| Quién | Qué hizo |
|---|---|
| Abrahan David Quintero Teran (@abrahanq) | La app de la casa: el oído, la voz, las llamadas y las pastillas |
| Josuep Simon Turmero Brito (@jkou02) | Los avisos: Telegram y el vigilante |
| Anttonny Rodelo (@rodeloa) | Las cifras con fuente y la investigación del problema |
| Luis Rogelio Gomez Montes (@rogelio-electronic) | La web de la familia, la base, la orquestación y el pitch |
/api/vigilar cada 5 s con pg_net, y
el secreto está en Vault, no en el repo (migración).
Manda en tandas en paralelo para terminar antes de la pasada siguiente, y sella por alerta y por
destinatario para no repetir mensajes (route.ts).demo es público a propósito: es el del QR.leer/route.ts).
También describe la foto de la emergencia, pero eso va después de llamar y no la frena.inventario.ts).