<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Blog on Jorge Venegas</title><link>https://jorgepvenegas.com/blog/</link><description>Recent content in Blog on Jorge Venegas</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Thu, 23 Apr 2026 12:36:07 -0700</lastBuildDate><atom:link href="https://jorgepvenegas.com/blog/index.xml" rel="self" type="application/rss+xml"/><item><title>Breathe</title><link>https://jorgepvenegas.com/blog/breathe/</link><pubDate>Thu, 23 Apr 2026 12:36:07 -0700</pubDate><guid>https://jorgepvenegas.com/blog/breathe/</guid><description>&lt;p>I built &lt;a href="https://breathe.up.railway.app" target="_BLANK" rel="noopener noreferrer">Breathe&lt;/a>, a guided breathing web app to help me meditate. The interesting part: I didn&amp;rsquo;t write a single line of the code myself. The entire app was built by coding agents.&lt;/p>
&lt;h2 id="what-it-does">What it does&lt;/h2>
&lt;p>The app walks you through breathing sessions with a smooth animated circle that expands and contracts to guide your rhythm. It comes with built-in patterns — Box Breathing (4-4-4-4), 4-7-8 Relax, and Coherent Breathing (5-5) — and you can create your own custom patterns too. After each session, it tracks your history and shows stats with a breakdown per pattern.&lt;/p></description></item><item><title>Code With Jorge</title><link>https://jorgepvenegas.com/blog/code-with-jorge/</link><pubDate>Thu, 23 Apr 2026 12:36:07 -0700</pubDate><guid>https://jorgepvenegas.com/blog/code-with-jorge/</guid><description>&lt;p>I started a YouTube channel called &lt;a href="https://www.youtube.com/@CodeWithJorge" target="_BLANK" rel="noopener noreferrer">Code With Jorge&lt;/a> where I build frontend projects from scratch and explain my thought process along the way.&lt;/p>
&lt;h2 id="what-to-expect">What to expect&lt;/h2>
&lt;p>The channel is focused on practical, project-based tutorials. Instead of isolated concepts, I prefer to build real things — apps, components, and tools — and let the problems drive the learning. Topics revolve around modern frontend development: React, TypeScript, CSS, and the surrounding ecosystem.&lt;/p></description></item><item><title>I built AvisoMascotas, a pet finder platform for Chile</title><link>https://jorgepvenegas.com/blog/avisomascotas/</link><pubDate>Mon, 06 Apr 2026 00:00:00 +0000</pubDate><guid>https://jorgepvenegas.com/blog/avisomascotas/</guid><description>&lt;p>I built &lt;a href="https://avisomascotas.cl" target="_BLANK" rel="noopener noreferrer">AvisoMascotas&lt;/a>, a platform to help find lost pets and reunite them with their families in Chile. The idea came from seeing how often pets go missing in my community and how fragmented the existing solutions were — mostly scattered Facebook posts and word of mouth.&lt;/p>
&lt;h2 id="what-it-does">What it does&lt;/h2>
&lt;p>AvisoMascotas is a community-driven pet finder. Anyone can:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Report a lost pet&lt;/strong> — Upload a photo, describe the pet, and mark the last known location on a map.&lt;/li>
&lt;li>&lt;strong>Report a found pet&lt;/strong> — If you find a stray, you can create a report so the owner can find it.&lt;/li>
&lt;li>&lt;strong>Search and filter&lt;/strong> — Browse active reports by location, type of pet, or date.&lt;/li>
&lt;li>&lt;strong>Get notified&lt;/strong> — Receive alerts when a pet is reported near your area.&lt;/li>
&lt;/ul>
&lt;p>The goal is simple: every report counts, and every neighbor can help.&lt;/p></description></item><item><title>I built CaféRadar, a coffee shop aggregator for Chile</title><link>https://jorgepvenegas.com/blog/caferadar/</link><pubDate>Fri, 20 Jun 2025 00:00:00 +0000</pubDate><guid>https://jorgepvenegas.com/blog/caferadar/</guid><description>&lt;p>I built &lt;a href="https://www.caferadar.cl/" target="_BLANK" rel="noopener noreferrer">CaféRadar&lt;/a>, a coffee shop aggregator for Chile. The idea came from my own habit of seeking out good coffee wherever I go — and realizing there was no centralized, map-based way to find specialty cafeterías across the country.&lt;/p>
&lt;h2 id="what-it-does">What it does&lt;/h2>
&lt;p>CaféRadar is a discovery platform for coffee lovers. Anyone can:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Browse cafeterías&lt;/strong> — Explore a growing collection of coffee shops across Chile, from Santiago to Valparaíso.&lt;/li>
&lt;li>&lt;strong>Search by location&lt;/strong> — Find cafeterías near you or in a specific neighborhood.&lt;/li>
&lt;li>&lt;strong>Discover new spots&lt;/strong> — See recently added cafeterías and filter by city or region.&lt;/li>
&lt;li>&lt;strong>Share favorites&lt;/strong> — Each shop has a dedicated page with address, location, and details.&lt;/li>
&lt;/ul>
&lt;p>The platform currently features dozens of cafeterías across the Región Metropolitana and Región de Valparaíso, with more being added regularly.&lt;/p></description></item><item><title>This is how my static website works</title><link>https://jorgepvenegas.com/blog/this-is-how-my-static-website-works/</link><pubDate>Fri, 03 Mar 2023 00:00:00 +0000</pubDate><guid>https://jorgepvenegas.com/blog/this-is-how-my-static-website-works/</guid><description>&lt;p>A quick write-up on the tech stack used to maintain this website with minimal effort and zero costs (other than the domain name).&lt;/p>
&lt;h2 id="the-tools">The tools&lt;/h2>
&lt;h3 id="hugo">Hugo&lt;/h3>
&lt;p>&lt;a href="https://gohugo.io/" target="_BLANK" rel="noopener noreferrer">Hugo&lt;/a> is an open-source static site generator tool written in Go that has been the fastest for my needs. It is flexible enough to allow me fine-tune for SEO, generate sitemaps, and so far the build speed is just astonishing. Everytime I need to publish a new change to the website it takes less than a minute.&lt;/p></description></item><item><title>Implementing throttle and debounce from scratch</title><link>https://jorgepvenegas.com/blog/throttle-and-debounce/</link><pubDate>Wed, 01 Feb 2023 00:00:00 +0000</pubDate><guid>https://jorgepvenegas.com/blog/throttle-and-debounce/</guid><description>&lt;p>Throttling and debouncing functions are a simple way to delay the action of a behavior. You can think of a throttle as a function that will perform an action only once every certain amount of time. Debounce, on the other side, will perform an action &lt;em>only once&lt;/em> if the time elapsed from the invocation has passed.&lt;/p>
&lt;p>Try this example &lt;a href="https://codesandbox.io/s/throttle-and-debounce-c6ggf?file=/src/index.js">here&lt;/a>.&lt;/p>
&lt;h2 id="whats-the-purpose-of-throttle-and-debounce">What&amp;rsquo;s the purpose of throttle and debounce?&lt;/h2>
&lt;p>Think of any action that might represent an expensive, costly task for your application and you want to limit or delay based on a determined amount of time. A good example is the use case of an autocomplete text input when the autocomplete &lt;em>needs&lt;/em> to make an API call using the current input value that&amp;rsquo;s being updated on every keystroke.&lt;/p></description></item></channel></rss>