Fujimod
Try your camera firmware in the browser and build Fujimod SD boot files.
El asistente inteligente que ayuda a tu familia a saber qué hacer hoy.
Translation pending
LifestyleTypeScript · JavaScriptGitHub @santapropiedadOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
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
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Family es un asistente familiar inteligente con voz e IA que centraliza en una sola aplicación: tareas del hogar, mantenciones, cuentas, compras e inventario, gastos, calendario, recordatorios y un asistente conversacional que puede consultar y modificar todo lo anterior.
La idea central: "Family sabe qué está pasando en la familia y ayuda a decidir qué hacer."
Ver también: ARCHITECTURE.md, AI.md, DATABASE.md, SECURITY.md.
@electric-sql/pglite (Postgres embebido, WASM) en desarrollo/tests; pg contra un Postgres real (ej. Supabase) en producción — mismo esquema SQL en ambos casos, sin tablas de mentira ni arreglos en memoria.httpOnly + bcryptjs para contraseñas.@anthropic-ai/sdk), con un motor de reglas local como respaldo cuando no hay clave configurada (ver AI.md).src/lib/voice.ts) para poder cambiar de proveedor sin tocar la UI.Requiere Node.js 20+ (probado con Node 24) y npm.
npm install
cp .env.example .env.local
Edita .env.local:
JWT_SECRET=genera-un-valor-aleatorio-largo
DATABASE_URL=
ANTHROPIC_API_KEY=
DATABASE_URL vacío para usar PGlite (Postgres embebido en un archivo local .pglite-data/) — no necesitas instalar ni configurar nada más.ANTHROPIC_API_KEY vacío para probar la app igual: el asistente funciona en "modo reglas" (ver AI.md).⚠️ PGlite (el Postgres embebido) no soporta que dos procesos escriban a la vez en
.pglite-data/. Detén el servidor (npm run dev) antes de correrdb:migrateodb:seed; hacerlo con el servidor corriendo puede corromper los datos y obligar a borrar.pglite-data/y regenerarlos.
Aplica el esquema de base de datos y carga una familia de demostración:
npm run db:migrate
npm run db:seed
El seed crea la Familia Fernández (demo) — Papá, Mamá, Martina, Julián y Matheo — con tareas,
compras (agrupadas por tienda: Supermercado / Feria), gastos, eventos, mantenciones y cuentas de
ejemplo, y muestra en la consola el correo y contraseña para iniciar sesión
([email protected] / FamiliaDemo2026!).
Levanta el servidor de desarrollo:
npm run dev
Abre http://localhost:3000, inicia sesión con la cuenta demo (ya precargada en el formulario) o
crea tu propia familia desde "Crear tu propia familia".
npm test
Corre toda la suite (permisos, aislamiento entre familias, flujos conectados, motor de IA, inteligencia proactiva, etc.) contra una base PGlite en memoria, aislada por archivo de prueba.
npm run build
npm start
Cualquier Postgres funciona (Supabase, Neon, RDS, uno propio). Define DATABASE_URL con la cadena
de conexión y vuelve a correr npm run db:migrate (y npm run db:seed si quieres datos de
demostración) apuntando a esa base — el código de la aplicación no cambia entre PGlite y Postgres
real.
DATABASE_URL=postgresql://usuario:password@host:5432/basededatos
Sin ANTHROPIC_API_KEY, Family funciona con un motor de reglas local que entiende los comandos
más comunes (agregar compras, registrar gastos, crear recordatorios/tareas, consultar lo
pendiente). Para conversación libre y comprensión de lenguaje natural abierto:
.env.local: ANTHROPIC_API_KEY=sk-ant-....Detalle completo de la arquitectura de IA, las herramientas disponibles y los niveles de confirmación en AI.md.
El botón 🎙️ flotante (o la página "Hoy") abre el panel del asistente. El micrófono usa el reconocimiento de voz nativo del navegador (Web Speech API) — funciona en Chrome y Edge de escritorio y Android; Safari/iOS tiene soporte parcial. Si el navegador no lo soporta, el panel avisa y permite escribir en texto, que funciona siempre. Las respuestas se leen en voz alta por defecto (se puede silenciar con el ícono 🔊/🔇).
El sistema de alarmas de tareas (15 min antes de vencer, 10 min después si sigue sin completarse) funciona de dos formas:
/api/notifications/scan) — ya funciona hoy, sin configuración extra./api/cron/check-alarms cada
1-5 minutos, y el servidor envía el aviso como notificación push del propio navegador
(protocolo Web Push — gratis, sin Outlook, sin SMS, sin servicio de terceros de pago; usa la
infraestructura de push de Chrome/Firefox/Edge, igual que cualquier sitio con notificaciones).Para que la opción 2 funcione hace falta desplegar la app a un hosting que esté encendido
24/7 (hoy solo corre en tu computador mientras tienes npm run dev activo) y un disparador
externo, porque el plan gratuito de Vercel limita sus Cron Jobs propios a una vez al día.
.env.local más las de push:
JWT_SECRET, DATABASE_URL (la de Neon), ANTHROPIC_API_KEY (opcional)VAPID_PUBLIC_KEY, VAPID_PRIVATE_KEY (genéralas una vez con
npx web-push generate-vapid-keys), VAPID_CONTACT_EMAILCRON_SECRET (cualquier texto largo aleatorio — protege el endpoint del cron para que nadie
más pueda llamarlo)DATABASE_URL apuntando a Neon en tu
.env.local local, corre npm run db:migrate una vez (crea las tablas en la base real).https://tu-proyecto.vercel.app/api/cron/check-alarms?secret=EL_MISMO_CRON_SECRETCon eso, el aviso llega como notificación nativa del sistema operativo aunque el navegador esté cerrado (mientras el dispositivo tenga internet), sin depender de Outlook, email ni SMS.
src/
app/ Páginas (App Router) y rutas de API (app/api/**)
components/ Componentes de UI reutilizables (nav, asistente, sesión)
services/ Lógica de dominio (tareas, compras, gastos, casa, memoria, inteligencia…)
ai/ Motor de IA: definición de herramientas, ejecutor con permisos/confirmación,
cliente de Claude, motor de reglas de respaldo, parsing de lenguaje natural
lib/ Auth, permisos, validación (zod), errores seguros, cliente API del navegador
db/ Esquema SQL, migraciones, cliente de base de datos, datos de demostración
types/ Tipos de dominio compartidos
tests/ Pruebas automatizadas (Vitest)
npm test): autenticación, permisos por rol, aislamiento entre familias,
flujos conectados (compra → gasto → inventario → lista), conflictos de calendario,
mantenciones y cuentas recurrentes, memoria, niveles de confirmación de la IA, motor de reglas
de lenguaje natural, inteligencia proactiva.npm run build sin errores, flujo completo en navegador (registro, login, crear
tareas/eventos/gastos/compras, chat del asistente en modo reglas y confirmaciones).ANTHROPIC_API_KEY real (sin esa clave no
se puede verificar el camino de Claude en vivo), ni el micrófono/voz en un navegador real con
hardware de audio.src/lib/voice.ts ya está preparada para ello.