NNicolas.dev
--:--:-- 2026.--.-—
NNicolas.dev
2026.--.-— 32°S 60°W · AR
2026 En desarrollo

FocusHub

Sistema integral de productividad y gestión autónoma

FocusHub

Sobre el proyecto

FocusHub es el sistema con el que organizo mi trabajo, mis proyectos y mi negocio. Nació después de más de un año intentando adaptar Notion a una forma de trabajar que combinaba desarrollo, clientes, proyectos propios, aprendizaje y gestión personal. Cuando las limitaciones dejaron de ser configurables, decidí construirlo desde cero. Hoy es una plataforma completa: control del tiempo, tareas, proyectos, objetivos estratégicos, un CRM personal, finanzas, conocimiento y una capa propia de agentes de inteligencia artificial.

El problema

Las herramientas de productividad asumen una forma de trabajar lineal: proyectos con principio y fin claros, tareas previsibles y una separación limpia entre lo personal y lo profesional. Mi realidad era distinta. Alterno entre clientes, productos propios, investigación, estudio y desarrollo, con proyectos que cambian de prioridad, quedan en pausa o evolucionan durante meses. Adaptar ese flujo a herramientas genéricas generaba más fricción que organización.

La solución

En lugar de adaptar mi trabajo a una herramienta, diseñé la herramienta alrededor de mi forma de trabajar. Cada módulo resuelve un problema real detectado durante el uso: los objetivos siguen una jerarquía estratégica que encadena la dirección de largo plazo con la tarea de hoy; el CRM distingue las relaciones frías de los clientes de facturación; las finanzas manejan doble moneda tratando el peso como un activo de cotización propia, no como un simple campo de conversión. Si una función no aporta valor tangible, no se implementa.

Módulos

El sistema se organiza en superficies independientes, cada una resolviendo una parte del trabajo diario.

🏠

Home & FocusNow

Pantalla de entrada con check-in de jornada, métricas del día y la vista de foco activo con timeline de sesiones y tareas.

Dashboard

Panorama general: en progreso, tareas por vencer, resumen semanal comparado y consolidación de 8+ fuentes de notificación.

Tareas

Lista + Kanban, con tareas activas, recurrentes y plantillas reutilizables. Editor masivo y recordatorios.

📁

Proyectos

Estudios con proyectos anidados, vista Roadmap adaptativa, categorías, tipos y estimado vs. real de horas.

🎯

Objetivos

Jerarquía estratégica Norte → Misión → Objetivo → Proyecto → Acción, con vistas de estrategia y estructura.

📊

Estadísticas

Ocho tabs independientes: tiempo, jornada, objetivos, proyectos, tareas, negocio y contenido, con rangos móviles.

👥

Personas (CRM)

CRM personal de toda relación relevante, con mapa por ciudad, timeline de contacto y agrupación por vínculo.

🤝

Meets & Clientes

Reuniones con seguimiento vinculadas a persona y proyecto, y gestión de clientes con informe de horas exportable.

📋

Solicitudes

Pipeline de oportunidades de trabajo entrantes por estado, que alimenta las métricas de negocio.

💰

Finanzas

Ingresos y gastos con doble moneda, tratando el peso como un activo de cotización propia. Wallets y lista de precios.

📝

Notas & Documentos

Notas con plantillas por tipo y agrupación por proyecto; documentos vinculados a cada proyecto.

🕐

Jornadas & Estudiar

Registro puro de tiempo trabajado y sesiones de estudio con timer propio y analytics por materia.

🏆

Logros

Gamificación del uso: 21 logros en 7 categorías y 5 rarezas, con 9 niveles de progresión por XP calculado en tiempo real.

📣

Medios

Base de gestión de contenido: cuentas sociales, material crudo, calendario editorial y preview de feed. Sin conexión a APIs por decisión de diseño.

Alarmas & Música

Sistema de alarmas con snooze y sonidos configurables, y reproductor con navegación por contextos de trabajo.

🧩

QuickWidget

Acceso rápido flotante siempre visible con timer centralizado, atajo de teclado y check-in de jornada.

Capa de inteligencia artificial

Una capa de IA propia estructurada como un sistema de agentes jerárquicos, accesible como overlay full-screen y con su propia base de datos separable del resto del sistema.

  • Un oráculo central agrupa 8 agentes distribuidos en 5 categorías, cada uno con 5 subagentes verticales — 40 en total.
  • Tres bibliotecas globales reutilizables entre agentes: skills (capacidades), prompts (con versionado) y memorias compartidas.
  • El system prompt de cada sesión se arma dinámicamente combinando el manifiesto del agente con sus skills, prompts y memorias asignadas.
  • Exportación de agentes a un ZIP portable (manifiesto, skills, prompts, memorias y galería) para llevarlos fuera del sistema.

Arquitectura

  • Monorepo con frontend React + Vite, API REST en Express y base de datos SQLite con servidor propio.
  • Tres bases de datos separadas por dominio: la operativa del día a día, la del perfil profesional y la de la capa de IA — cada una independiente y extraíble.
  • Migraciones idempotentes: cada sentencia se ejecuta y verifica de forma aislada, permitiendo correr el mismo script varias veces sin romper la base.
  • BuildMode, un panel técnico de administración que se actualiza en paralelo cada vez que se suma infraestructura nueva (bases, componentes, endpoints de import/export).

Proceso

  1. Creció por capas, no desde un plan cerrado: arrancó por el control del tiempo y fue sumando módulos a medida que el uso los pedía. Varios pasaron por versiones descartadas antes de quedar — Objetivos se rediseñó dos veces, y funciones que sonaban bien en texto pero no aportaban en código se frenaron antes de escribirse.
  2. La arquitectura se separó en tres bases de datos por dominio —operación diaria, perfil profesional y capa de IA—, de modo que los módulos grandes se pueden mantener, desactivar o extraer sin tocar el núcleo del sistema.
  3. Al madurar el sistema se reescribieron módulos enteros que habían quedado chicos: Estadísticas pasó de un archivo monolítico a una estructura modular de pestañas independientes, y Notas se rehízo por completo, priorizando la coherencia por sobre parchar lo existente.
  4. El desarrollo siguió un protocolo propio: planificación antes de programar, entregas por fases, migraciones idempotentes y rollback controlado —usado de verdad para revertir cambios que rompieron el sistema—, con una política estricta de no introducir errores nuevos sobre la base existente.
  5. Los problemas transversales se resolvieron a nivel sistema y no por parche: un manejo consistente de fechas locales (el bug más recurrente, que rompía al cruzar la medianoche), una única fuente de verdad para el temporizador entre las distintas pantallas, y la reducción de renderizados innecesarios.

Lo que aprendí

Desarrollar una herramienta para uso diario obliga a justificar cada decisión técnica. Cada nueva funcionalidad incorpora también mantenimiento, complejidad y deuda técnica, por lo que muchas veces la mejor decisión fue no implementar una idea hasta que existiera una necesidad real que la respaldara. Ese criterio terminó definiendo la arquitectura del proyecto tanto como el propio código.

Stack / Tools

ReactTypeScriptViteExpressSQLiteDrizzle ORMMonorepoREST APIChart.jsClaude

¿Algo similar en mente?

Hablemos ← Otros proyectos