Data Analyst & Developer
I turn raw data into products people actually use: self-hosted dashboards, AI-powered aggregators and web apps that answer a concrete question. Most of what I build starts as a problem of my own.
Interactive dashboards and reports with Dash, Plotly, Shiny and Power BI — from raw CSVs and APIs to a view that answers the question at a glance.
Django and Next.js apps wired to LLM APIs: semantic search over documents, RAG chat, AI summaries and duplicate detection through vector similarity.
Scheduled scrapers and pipelines with Selenium, BeautifulSoup and cron that collect, filter and enrich data on their own — running on my own Raspberry Pi server.
Hi there! I'm Johan González, a data analyst with a passion for dissecting data and crafting insightful solutions. I thrive on transforming raw data into meaningful insights using creative approaches, and I'm always eager to learn new skills, tools and concepts in the field.
Beyond independent data projects, I've collaborated with cross-functional teams, which involves daily check-ins, data management and project coordination.
Most of my side projects run on hardware I maintain myself — a Raspberry Pi home server hosting Django apps, scheduled jobs and their databases.
A selection of what I build on my own time. Open-source projects link to their repository; the private ones link to the live app.
A personal dashboard that aggregates everything I read, watch and listen to. Syncs Goodreads, Simkl and TMDB, aggregates RSS news with AI summaries and vector-similarity deduplication, and turns it all into reading and viewing statistics.
A mortgage comparison tool for Colombia. Instead of visiting every bank one by one, it contrasts rates, mandatory insurance and total cost side by side, for fixed-peso, UVR-indexed and leasing credits — with data curated and dated by hand. It also runs an editorial blog that explains the fine print: co-borrowers, Datacrédito scores, public versus private lenders, and whether to cut the term or the monthly payment.
A calorie counter built to be fast to log into: it keeps the session alive, restores your stored data on load and gets out of the way. The Gemini API handles the food analysis, so logging a meal doesn't mean digging through a database of products.
A job-hunting filter for the Colombian portals Elempleo and Computrabajo. Scrapes listings, drops anything matching a personal blocklist, remembers what I already looked at and renders the remainder as a clean HTML digest.
A dashboard over my own Spotify and YouTube listening history: genre and artist breakdowns, trends over time and the stats the streaming apps never show you.
A Shiny application to explore average temperature data across cities, with interactive filtering and side-by-side comparison between locations and periods.
A conversational search tool for exploring your own documents: text is embedded into vector representations so questions are answered semantically instead of by keyword matching.
The stack behind the projects above — everything here is something I've actually shipped with.
Have a dataset nobody has looked at properly, a manual process worth automating, or an idea for an app that needs building? Tell me what the question is and I'll tell you how I'd answer it.
Browse my work