<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Ivan Over Time</title>
    <link>https://alvarezivan.net/blog</link>
    <description>Case studies, side projects, and engineering notes by Iván Álvarez.</description>
    <language>en-US</language>
  <item>
    <title>Jhey Pi: an official landing site for an aspiring musician</title>
    <link>https://alvarezivan.net/blog/jp-landing</link>
    <guid>https://alvarezivan.net/blog/jp-landing</guid>
    <description>Official landing site for Jhey Pi, built with Nuxt 4 and Nuxt UI to combine Spotify releases and YouTube videos into a single feed.</description>
    <pubDate>Mon, 18 May 2026 00:00:00 GMT</pubDate>
  </item>
  <item>
    <title>Stabilizing an inherited e-commerce platform on NestJS + Strapi</title>
    <link>https://alvarezivan.net/blog/case-studies/retail-ecommerce-recovery</link>
    <guid>https://alvarezivan.net/blog/case-studies/retail-ecommerce-recovery</guid>
    <description>A recovery-shaped engagement on an inherited NestJS + Strapi storefront: stabilize the runtime, contain the SAP integration behind a single boundary, containerize the deploy path, and keep Strapi to editorial content. This is the recovery half of a paired engagement; the rebuild that followed is its own story.
</description>
    <pubDate>Fri, 15 May 2026 00:00:00 GMT</pubDate>
  </item>
  <item>
    <title>A nationwide mobile sales-quotation app, integrated with SAP</title>
    <link>https://alvarezivan.net/blog/case-studies/retail-sap-quotation-app</link>
    <guid>https://alvarezivan.net/blog/case-studies/retail-sap-quotation-app</guid>
    <description>Architecting and shipping a mobile-first sales-quotation application on Laravel + Filament, integrated with SAP as the source of truth for catalog and pricing, and rolled out to sales teams across the country.
</description>
    <pubDate>Fri, 15 May 2026 00:00:00 GMT</pubDate>
  </item>
  <item>
    <title>Shipping a high-scale PWA from an inherited e-commerce project</title>
    <link>https://alvarezivan.net/blog/case-studies/supermarket-pwa-recovery</link>
    <guid>https://alvarezivan.net/blog/case-studies/supermarket-pwa-recovery</guid>
    <description>How a stalled Node.js + Angular e-commerce project was diagnosed, recovered, and shipped end-to-end as a PWA and mobile apps for a high-volume customer base — with a Docker registry and CI/CD pipeline that made continuous delivery possible for the team that came after.
</description>
    <pubDate>Fri, 15 May 2026 00:00:00 GMT</pubDate>
  </item>
  <item>
    <title>Rebuilding an e-commerce platform on NestJS + Next.js + Medusa in three months</title>
    <link>https://alvarezivan.net/blog/case-studies/retail-ecommerce-rebuild</link>
    <guid>https://alvarezivan.net/blog/case-studies/retail-ecommerce-rebuild</guid>
    <description>After the recovery, the next engagement was a from-scratch e-commerce build on NestJS + Next.js + Medusa, delivered with a team of 4 inside a three-month window. SAP stayed as the source of truth, the integration boundary from the recovery was reused as a contract, and the cutover was planned from day one.
</description>
    <pubDate>Thu, 14 May 2026 00:00:00 GMT</pubDate>
  </item>
  <item>
    <title>The Intern is downloading movies again</title>
    <link>https://alvarezivan.net/blog/intern-movie-torrent</link>
    <guid>https://alvarezivan.net/blog/intern-movie-torrent</guid>
    <description>What happens when you give tech-savvy people eight hours of internet access a day? Welcome to the The Intern is downloading movies again problem.</description>
    <pubDate>Thu, 16 May 2024 00:00:00 GMT</pubDate>
  </item>
  <item>
    <title>From Nuxt to Hugo and Back Again</title>
    <link>https://alvarezivan.net/blog/from-nuxt-to-hugo</link>
    <guid>https://alvarezivan.net/blog/from-nuxt-to-hugo</guid>
    <description>Why I migrated this site from Nuxt 2 to Hugo and later returned to Nuxt—what changed, what stayed, and the decisions that kept the rebuild manageable.</description>
    <pubDate>Sun, 12 May 2024 00:00:00 GMT</pubDate>
  </item>
  <item>
    <title>Using the official exchange rate in Venezuela&apos;s e-commerce</title>
    <link>https://alvarezivan.net/blog/bcv-scraper</link>
    <guid>https://alvarezivan.net/blog/bcv-scraper</guid>
    <description>Venezuela has unique challenges for e-commerce. Local laws and tax regulations require invoices in bolívares while prices are quoted in USD. A simple Python and FastAPI scraper helps developers fetch the Banco Central de Venezuela exchange rate—here&apos;s when it makes sense and how to build it.</description>
    <pubDate>Fri, 19 Jan 2024 00:00:00 GMT</pubDate>
  </item>
  <item>
    <title>Japanese input in openSUSE Tumbleweed&apos;s KDE</title>
    <link>https://alvarezivan.net/blog/japanese-input</link>
    <guid>https://alvarezivan.net/blog/japanese-input</guid>
    <description>Here are the steps to install fcitx5 and fcitx5-mozc input method for Japanese in openSUSE Tumbleweed.</description>
    <pubDate>Mon, 15 Jan 2024 00:00:00 GMT</pubDate>
  </item>
  </channel>
</rss>