· 7 min read

Línea del Tiempo Uruguay / Uruguay Timeline

Construyendo una línea del tiempo interactiva que explora cómo se entrelazan la política, la economía y los eventos sociales en Uruguay.

Construyendo una línea del tiempo interactiva que explora cómo se entrelazan la política, la economía y los eventos sociales en Uruguay.

(To read in English, scroll down or click here)

Acerca del Proyecto

🔗 Visitar la aplicación en vivo: lineadeltiempo.uy

Línea del Tiempo Uruguay es un proyecto interactivo diseñado para visualizar la historia reciente del país. Nuestro objetivo es ofrecer una plataforma accesible y centralizada para explorar cómo se entrelazan la política, la economía y los eventos sociales más significativos a lo largo del tiempo.

Nacido del deseo de hacer más accesibles los datos históricos, este es un proyecto estrictamente sin fines de lucro, concebido sin ningún tipo de orientación o afinidad política. Su propósito es puramente informativo, objetivo y neutral. Buscamos presentar los hechos documentados de la historia uruguaya de manera imparcial a investigadores, estudiantes y ciudadanos por igual.

¿Qué Información Incluye?

La línea del tiempo sirve como un archivo integral de la trayectoria moderna de la nación, destacando:

  • Mandatos Presidenciales: Líneas de tiempo detalladas de los períodos de gobierno desde el retorno a la democracia en 1985 hasta la actualidad.
  • Ciclos Electorales: Cobertura en profundidad de los resultados electorales notables y los hitos críticos del sistema electoral uruguayo.
  • Eventos Históricos: Leyes clave, crisis nacionales, hitos sociales y momentos determinantes que han moldeado al país.
  • Indicadores Económicos: La evolución de métricas económicas críticas, incluyendo el valor histórico del dólar estadounidense y la aprobación de leyes económicas emblemáticas.

Tecnologías y Arquitectura

Para garantizar un rendimiento óptimo y una experiencia de usuario fluida, la aplicación fue diseñada utilizando Next.js (App Router) con TypeScript y Tailwind CSS, y desplegada en Vercel. Toda la infraestructura de datos está impulsada por Supabase (PostgreSQL).

El proyecto se destaca por su arquitectura Server-Side enfocada en el rendimiento:

  • Ensamblado en Memoria (In-Memory Joins): En lugar de ejecutar consultas anidadas y complejas en la base de datos, las tablas se obtienen como estructuras planas mediante consultas paralelas. Luego, se ensamblan directamente en la memoria del servidor Node.js, lo que permite un renderizado cronológico increíblemente rápido.
  • Deduplicación (React Cache): Al aprovechar la función cache() de React, nos aseguramos de que incluso si múltiples componentes del servidor solicitan el mismo conjunto de datos durante el renderizado, la base de datos sea consultada una sola vez.
  • Modelado de Datos Eficiente: Un esquema de base de datos optimizado unifica eventos generales y normaliza mandatos, indicadores económicos y precios históricos utilizando índices directos en las columnas de fechas para una recuperación de datos ultrarrápida.

El Motor de Datos: Automatización e IA

Mantener una línea de tiempo histórica requiere actualizaciones constantes. Para asegurar que la plataforma se mantenga relevante con información en tiempo real y contexto histórico de alta calidad, desarrollé un conjunto de automatizaciones (repositorio scrapers-uy) que actúan como el motor de datos autónomo del proyecto:

  • Monedas y Commodities en Tiempo Real: Scripts automatizados monitorean y extraen continuamente el tipo de cambio del dólar en el Banco República (BROU) y el precio del petróleo crudo Brent (cada 15 a 60 minutos), archivando datos históricos de apertura, mínimos y máximos.
  • Scraper de Noticias Impulsado por IA: Un sistema que procesa feeds RSS de los principales portales de noticias uruguayos y emplea Google Gemini como un editor autónomo. La IA filtra el ruido, selecciona eventos de alto impacto y utiliza de forma asincrónica Google Search para investigar y redactar artículos detallados en Markdown sobre cada hito.
  • Estadísticas Macroeconómicas y Gubernamentales: Un pipeline automatizado extrae los últimos datos sobre Inflación, Desempleo, PIB y los índices de Aprobación Presidencial. Utilizando Gemini, se adapta dinámicamente a la administración actual, obteniendo información estrictamente de instituciones oficiales (INE, BCU, MEF y encuestadoras reconocidas).

Dashboard de Administración y Colaboración Abierta

Para facilitar la gestión continua del contenido y la curación editorial, desarrollé un Dashboard Administrativo personalizado. Este panel privado permite a los editores autorizados agregar, editar y moderar sin problemas eventos históricos, resultados electorales y mandatos gubernamentales.

Línea del Tiempo Uruguay es un proyecto colaborativo y vivo. Está totalmente abierto a cualquier persona que desee contribuir. Ya sea que estés interesado en participar como editor utilizando el Dashboard, hayas detectado un error o tengas sugerencias para nuevos hitos históricos, te invito a comunicarte a través del formulario de contacto.


About the Project

🔗 Visit the live application: lineadeltiempo.uy

Uruguay Timeline (Línea del Tiempo Uruguay) is an interactive project designed to visualize the country’s recent history. Our goal is to provide an accessible, centralized platform to explore how politics, the economy, and significant social events intertwine over time.

Born out of a desire for accessible historical data, this is a strictly non-profit project built to be completely devoid of political orientation or affiliation. Its purpose is purely informational, objective, and neutral. We seek to present documented facts of Uruguayan history impartially to researchers, students, and citizens alike.

What Does it Track?

The timeline serves as a comprehensive archive of the nation’s modern trajectory, featuring:

  • Presidential Mandates: Detailed timelines of government periods from the return to democracy in 1985 to the present day.
  • Electoral Cycles: In-depth coverage of notable election results and critical milestones in the Uruguayan electoral system.
  • Historical Events: Key legislation, national crises, social milestones, and defining moments that have shaped the country.
  • Economic Indicators: The evolution of critical economic metrics, including the historical value of the US dollar and the passage of landmark economic laws.

Technologies and Architecture

To guarantee optimal performance and a seamless user experience, the application was engineered using Next.js (App Router) with TypeScript and Tailwind CSS, and deployed on Vercel. All data infrastructure is powered by Supabase (PostgreSQL).

The project stands out for its performance-focused, Server-Side architecture:

  • In-Memory Joins: Rather than executing complex, nested database queries, tables are fetched as flat structures via parallel queries. They are then assembled directly in the Node.js server memory, enabling incredibly fast chronological rendering.
  • Deduplication (React Cache): By leveraging React’s cache() function, we ensure that even if multiple Server Components request the same dataset during rendering, the database is queried only once.
  • Efficient Data Modeling: A streamlined database schema unifies general events and normalizes mandates, economic indicators, and historical prices using direct indexes on date columns for lightning-fast retrieval.

The Data Engine: Automation and AI

Maintaining a historical timeline requires constant updates. To keep the platform relevant with real-time information and high-quality historical context, I developed a suite of automations (scrapers-uy repository) that act as the project’s autonomous data engine:

  • Real-Time Currency and Commodities: Automated scripts continuously monitor and extract the US dollar exchange rate at Banco República (BROU) and the Brent crude oil price (every 15 to 60 minutos), archiving opening, minimum, and maximum historical data.
  • AI-Powered News Scraper: A sophisticated system that ingests RSS feeds from major Uruguayan news portals and employs Google Gemini as an autonomous editor. The AI filters out noise, selects high-impact events, and asynchronously uses Google Search to research and synthesize in-depth Markdown articles about each milestone.
  • Macroeconomic & Government Statistics: An automated pipeline extracts the latest data on Inflation, Unemployment, GDP, and Presidential Approval ratings. Using Gemini, it dynamically adapts to the current administration, strictly sourcing from official institutions (INE, BCU, MEF, and recognized pollsters).

Administration Dashboard and Open Collaboration

To facilitate ongoing content management and editorial curation, I built a custom Administrative Dashboard. This private panel allows authorized editors to seamlessly add, edit, and moderate historical events, election results, and government mandates.

Línea del Tiempo Uruguay is a collaborative, living project. It is fully open to anyone who wishes to contribute. Whether you are interested in participating as an editor using the Dashboard, have spotted an error, or have suggestions for new historical milestones, I invite you to reach out via the contact form.

Back to Blog