¿Cómo ser realmente coherente con sus objetivos para 2026? Este año he decidido que no quiero sólo una lista de objetivos. Quiero un tablero de visión respaldado por métricas reales para realizar un seguimiento de mi progreso mes tras mes.
El problema al que me he enfrentado estos últimos años es la fragmentación. Hay un millón de aplicaciones que te ayudan a realizar un seguimiento de las finanzas, la formación o los hábitos diarios, pero nunca pude encontrar un único rastreador centralizado. Aún más difícil fue encontrar algo que pudiera escalar: un sistema que siguiera un objetivo, ya fuera diario, semanal, mensual, trimestral o anual.
Por este motivo, decidí crear mi propio rastreador de objetivos. Esta aplicación es sólo un ejemplo de lo que me funciona bien, pero la intención va más allá de esta implementación específica. El objetivo es compartir el pensamiento del producto detrás de esto: cómo diseñar un sistema que alinee métricas, imágenes y estructura de una manera que realmente respalde los objetivos a corto y largo plazo.
Antes de pasar al código, es importante comprender las decisiones de diseño detrás de la aplicación.
El diseño
la logica
En realidad, nuestra ambición opera en diferentes escalas. La mayoría de los rastreadores fallan porque se centran en una única resolución (a menudo rastreando los hábitos diarios). En mi caso, necesitaba un sistema que pudiera admitir diferentes frecuencias de objetivos, así que clasifiqué mis objetivos en 2 categorías:
Metas de alta frecuencia (diarias/semanales): son cosas que quiero hacer a diario o semanalmente. Llamo a estos hábitos porque requieren que las cosas se revisen rápidamente y con alta frecuencia. Metas de baja frecuencia (mensual/anual): estas son cosas que quiero hacer mensualmente o anualmente. Los llamo objetivos estratégicos porque requieren menos repetición, pero más dirección y ajustes a lo largo del tiempo.
La aplicación que diseñé estaba destinada a capturar todas estas frecuencias en un solo sistema. Esto permite monitorear la ejecución diariamente, pero también mantener una visión general del progreso durante todo el año.
La interfaz de usuario
En lo que respecta a la interfaz, evité deliberadamente la complejidad. No soy un experto en UI y no quería una aplicación llena de botones, menús o interacciones innecesarias.
En lugar de eso, elegí una matriz basada en cuadrículas. Esto permite simplemente marcar casillas para hábitos u objetivos completados. En la visualización de datos, una celda vacía es tan informativa como una llena. Ver huecos en la red se convierte en una señal poderosa y muy concreta. Muestra inmediatamente dónde falta consistencia y ayuda a adaptarse.
La Arquitectura
Para este proyecto, tenía dos requisitos importantes para la arquitectura:
Gestión cero de bases de datos: no quería instalar nada localmente ni administrar servidores. Elegí Neon, una base de datos PostgreSQL sin nube, para que actuara como servidor secundario de la aplicación.
Python como único lenguaje de programación: quería usar un lenguaje que domino. Por esta razón, elegí Streamlit para la interfaz de usuario y Python básico para la lógica de back-end. Esta elección me permite crear una interfaz profesional en Python puro sin tocar HTML o CSS. Es fantástico para aplicaciones pequeñas, aunque tiene sus propios límites que analizaremos más adelante.
Un recorrido rápido por la aplicación
Comencemos con la página de destino. Esta página permite al usuario crear una cuenta e iniciar sesión en la aplicación.
Por el autor: Vista de la página de destino
Una vez que haya iniciado sesión, llegará a la página de Configuración de estrategia. Aquí puede ingresar su objetivo con un nombre y una categoría. He creado ocho categorías que puedes cambiar una vez que tengas el código. Durante el resto de esta demostración, solo mantuve visibles algunos de mis objetivos no confidenciales. El resto son personales y se esconden con el color rojo.
Por el autor: Vista de la página de configuración
La siguiente es la página de Ejecución, que realmente me gusta. Aquí tiene casillas que puede marcar para realizar un seguimiento de sus objetivos diarios, semanales, mensuales y anuales. Tienes tanto una vista diaria como una vista a largo plazo que te permite validar la ejecución de tus objetivos.
Por el autor: Vista de la página de ejecución (La configuración diaria)
Por el autor: Vista de la página de ejecución (La configuración a largo plazo)
Para terminar, he creado una página de Informes. Proporciona una instantánea de la ejecución de su objetivo. Esta es mi parte favorita porque me ayuda a ver si he alcanzado mis objetivos diarios, semanales y a largo plazo. Si un gol llega tarde, el sistema lo mostrará claramente.
Por el autor: Vista de la página del informe
Saltemos al código
Paso 1: La organización del proyecto
Una aplicación profesional necesita una estructura limpia para que la “lógica” esté separada de las “visuales”. Cree una carpeta llamada vision_2026 con esta estructura:
Por el autor
Paso 2: El back-end (configuración de neón y base de datos)
Cree una cuenta gratuita en Neon.tech. Una vez que cree un proyecto, recupere su cadena de conexión y péguela en .streamlit/secrets.toml exactamente así:
DATABASE_URL = “tu_cadena_de_conexión_aquí”
Por el autor: Cómo crear un proyecto en Neon
Por el autor: Cómo recuperar su cadena de conexión
Paso 3: construir tus mesas en neón
En Neon SQL Editor, ejecute este script para establecer las cinco tablas fundamentales:
long_term_tracking: mantiene registros mensuales, trimestrales y anuales del progreso estratégico. usuarios: Mantiene la información de la cuenta segura. goal_catalog: esta tabla de “Arquitecto” describe los títulos de los objetivos, las clasificaciones y las frecuencias de aparición. daily_tracking: mantiene datos sobre todos los controles diarios de alta frecuencia.weekly_tracking: registra la finalización de los hitos semanales por semanas ISO.
Por el autor: Cómo crear tus tablas en la base de datos.
Paso 4: configuración del entorno
conda create -n vision_app python=3.9 conda enable vision_app pip install -r requisitos.txt
El script de conexión (db_utils.py):
Este script permite a Python comunicarse con Neon mediante RealDictCursor, lo que hace que los datos sean muy fáciles de manejar.
El “cerebro” (core_logic.py)
Ésta es la parte más importante de la lógica. Los calendarios estándar son confusos, por lo que utilizamos la “regla de los jueves” para mantener la precisión matemática en el cálculo de las métricas de nuestros objetivos diarios y semanales.
Diseño de imágenes con IA (ui_pages.py)
Una vez que su base de datos y su lógica estén listas, no tenga problemas con la sintaxis de la interfaz de usuario. Para ser honesto, yo mismo no codifiqué toda la interfaz de usuario. Utilicé un mensaje para generar el primer modelo y luego lo ajusté a mis necesidades.
El orquestador (app.py)
Este archivo principal gestiona la página de destino y la navegación. Streamlit tiene su propio estado de sesión para administrar los inicios de sesión, lo cual es muy útil para una aplicación de uso personal o un MVP. Sin dominar conceptos complejos de autenticación, puede crear una página de inicio donde los usuarios puedan crear una cuenta e iniciar sesión. Solo tenga en cuenta que este enfoque tiene sus propias limitaciones de seguridad para escalas más grandes.
Paso 5: la implementación
Asegúrese de que todos sus archivos estén confirmados y enviados a un repositorio de GitHub.
Conéctese a Streamlit Cloud:
Inicie sesión en share.streamlit.io usando su cuenta de GitHub. Haga clic en “Nueva aplicación”. Seleccione su repositorio, la rama y el archivo principal (app.py).
La configuración de “Secretos”: este es el paso más crítico. Dado que nunca debes cargar tu archivo secrets.toml en GitHub, debes proporcionar esos secretos directamente a la plataforma Streamlit:
En la configuración de implementación, vaya a la sección “Secretos”. Pegue su DATABASE_URL exactamente como aparece en su archivo de secretos local.
Por el autor: Cómo copiar su variable secreta en la nube iluminada
Para ejecutarlo correctamente en un servidor remoto, asegúrese de que los paquetes.txt (para conexiones Postgres en Linux) y los requisitos.txt estén en el repositorio de github.
¡Y eso es todo! Si quieres crear tu propio tablero visual, puedes seguir estos pasos. Todo el código está disponible aquí: https://github.com/sbendimerad/VisionBoard2026
Si no desea implementar el suyo propio, no dude en utilizar mi versión en vivo aquí: Vision Board 2026.
Para que la aplicación se ejecute correctamente en un servidor remoto, debes asegurarte de que dos archivos específicos estén perfectos:
paquetes.txt: esto es esencial para las conexiones de Postgres. Streamlit Cloud se ejecuta en Linux y necesita un controlador a nivel de sistema para comunicarse con su base de datos.
requisitos.txt: esto le dice a la nube qué bibliotecas de Python instalar.
Y listo 🙂 Si quieres crear tu propio tablero visual, puedes seguir estos pasos, todo el código está aquí: https://github.com/sbendimerad/VisionBoard2026
En caso de que no quieras implementar el tuyo, puedes usar la URL que he implementado de forma gratuita aquí: Visionboard2026
¡Espero que esta aplicación te ayude a establecer y realizar un seguimiento de tus objetivos para 2026! Si desea agregar alguna característica nueva, no dude en bifurcar el proyecto.
Tenga en cuenta que, si bien Streamlit y Python son perfectos para crear una aplicación rápida y funcional, no es necesariamente una solución a largo plazo para una aplicación empresarial a gran escala. Para un producto profesional y de alto tráfico, en última instancia necesitaría una arquitectura de front-end y back-end dedicada.
🤝 Manténgase conectado
Si te ha gustado este artículo, no dudes en seguirme en LinkedIn para obtener información más honesta sobre IA, ciencia de datos y carreras.
👉 LinkedIn: Sabrine Bendimerad
👉 Medio: https://medium.com/@sabrine.bendimerad1
👉 Instagram: https://tinyurl.com/datailearn