20 de mayo de 2026

SQL workbench en el navegador (DuckDB-WASM)

Activo

Un SQL workbench en el navegador que convierte este portfolio en un data product público y consultable, con DuckDB-WASM.

La idea

El portfolio de un data engineer debería ser consultable, no solo legible. Este proyecto publica los metadatos del propio sitio — artículos, proyectos y agregados de actividad — como un dataset público pequeño y documentado, y permite a cualquiera ejecutar SQL sobre él directamente en el navegador. Sin backend ni API keys: el motor DuckDB-WASM está compilado a WebAssembly y corre íntegramente del lado del cliente.

Cómo funciona

Un paso de build exporta el registro de contenido a tablas versionadas JSON/CSV/Parquet más un catalog.json que describe cada tabla y columna. En la página, DuckDB-WASM arranca en un Web Worker, registra los archivos publicados y ejecuta las queries localmente:

SELECT tag, COUNT(*) AS mentions
FROM (
  SELECT UNNEST(STRING_SPLIT(tags, '|')) AS tag FROM articles
  UNION ALL
  SELECT UNNEST(STRING_SPLIT(tags, '|')) AS tag FROM projects
)
GROUP BY tag
ORDER BY mentions DESC;

El resultado se muestra como tabla y como un bar chart rápido, EXPLAIN muestra el plan de la query, y la query actual se codifica en el hash de la URL, así cualquier query es compartible.

Trade-offs

  • WASM vs. una query API hosteada. WASM mantiene todo estático, gratis de hostear y privado (las queries nunca salen del navegador) a cambio de una descarga única del motor.
  • Dataset curado vs. eventos crudos. Solo se exponen metadatos públicos y agregados — sin eventos privados ni payloads crudos de APIs — así el dataset se mantiene pequeño, documentado y reproducible.

Abrir el SQL workbench en vivo →

Discusión

¿Te resultó útil este post?

Inicia sesión para dar like y comentar.

Tu nombre y avatar del proveedor elegido se guardan en la base de datos propia del sitio para mostrar tu actividad.