<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Pablo Rejón — DevLog</title>
    <link>https://pablorejon.com/blog</link>
    <description>DevLog, technical engineering notes, and active project chronicles by Pablo Rejón.</description>
    <language>en-us</language>
    <lastBuildDate>Mon, 14 Sep 2026 12:00:00 +0000</lastBuildDate>
    <atom:link href="https://pablorejon.com/feed.xml" rel="self" type="application/rss+xml" />
    <image>
      <url>https://pablorejon.com/images/icon-192.png</url>
      <title>Pablo Rejón — DevLog</title>
      <link>https://pablorejon.com/blog</link>
    </image>
    <item>
      <title>New Chapter: Software Engineer Intern at Indexa Capital (Backend &amp; Agentic AI)</title>
      <link>https://pablorejon.com/blog#incorporacion-indexa-capital-software-engineer-intern</link>
      <guid isPermaLink="true">https://pablorejon.com/blog#incorporacion-indexa-capital-software-engineer-intern</guid>
      <pubDate>Mon, 14 Sep 2026 12:00:00 +0000</pubDate>
      <description><![CDATA[Starting a new professional chapter as Software Engineer Intern in the technology team at Indexa Capital: how I set my sights on a company whose engineering culture and product I deeply admired, the interview process while attending the Cyber Bootcamp in Málaga, and diving into scalable backend architectures and agentic AI developer workflows.<br/><br/><strong>Key Updates:</strong><ul><li><strong>1. Intentional Search: Why Indexa Capital</strong>: Joining a company with an exemplary engineering culture and a product I already used and believed in, guided by radical transparency and automated indexing.</li><li><strong>2. The Selection Process During the Málaga Cyber Bootcamp</strong>: Balancing the intense training schedule at the Google/UMA Cyber Bootcamp with the technical interview rounds.</li><li><strong>3. Onboarding on September 9: Backend &amp; Agentic AI</strong>: Officially joining on September 9th, learning fault-tolerant patterns, scalable backend systems, and integrating agentic AI in daily developer workflows.</li><li><strong>4. Goals &amp; Continuous Learning</strong>: Delivering value from day one, preparing thesis defense, and growing as a software engineer.</li></ul>]]></description>
      <author>pablo@pablorejon.com (Pablo Rejón)</author>
    </item>
    <item>
      <title>Organizator: Multitenant Enterprise Suite, PSD2 Open Banking, Cryptographic Invites &amp; Gesture Mobile UX</title>
      <link>https://pablorejon.com/blog#organizator-pack-empresa-open-banking-invitaciones-ux-movil</link>
      <guid isPermaLink="true">https://pablorejon.com/blog#organizator-pack-empresa-open-banking-invitaciones-ux-movil</guid>
      <pubDate>Sun, 13 Sep 2026 12:00:00 +0000</pubDate>
      <description><![CDATA[Major architectural milestone in Organizator: B2B Multitenant Enterprise suite with collaborative Kanban boards, zero-friction PSD2 Open Banking integration with protected quotas, atomic cryptographic invitations via Resend, gesture-based mobile swipe navigation, and maskable logo geometry refinement.<br/><br/><strong>Key Updates:</strong><ul><li><strong>1. Enterprise Suite (v1): Multitenant Architecture &amp; Collaborative Kanban</strong>: Transforming Organizator into a collaborative multi-tenant workspace with strict tenant isolation and optimistic concurrency control:</li><li><strong>2. PSD2 Open Banking: Frictionless Connection &amp; Quota Protection</strong>: Complete overhaul of the Enable Banking integration, eliminating technical jargon while safeguarding API usage quotas:</li><li><strong>3. Cryptographic Invites &amp; Closed Beta Gateway</strong>: Replacing manual temporary passwords with cryptographic onboarding links and invite-only beta requests:</li><li><strong>4. Gesture-Based Mobile Navigation (Swipe), «My Account» &amp; Maskable Logo Geometry</strong>: Ergonomic mobile refactor for touchscreens and resolving geometric clipping on the official brand emblem:</li><li><strong>5. Engineering Rigor: Enforced pnpm, CI/CD Probes &amp; 100% Test Coverage</strong>: Hardening development standards and continuous automated verification on production pipelines:</li></ul>]]></description>
      <author>pablo@pablorejon.com (Pablo Rejón)</author>
    </item>
    <item>
      <title>Organizator: Complete UI Redesign, Brand Identity Overhaul &amp; Mobile-First Experience</title>
      <link>https://pablorejon.com/blog#organizator-redisenio-interfaz-nuevo-logo-identidad-movil</link>
      <guid isPermaLink="true">https://pablorejon.com/blog#organizator-redisenio-interfaz-nuevo-logo-identidad-movil</guid>
      <pubDate>Thu, 03 Sep 2026 12:00:00 +0000</pubDate>
      <description><![CDATA[Comprehensive visual and ergonomic redesign in Organizator: brand new emblem embodying the 5 core productivity dimensions, complete UI restructuring focused on swift mobile workflows, and a unified authentication gateway ('Entrar al Cerebro').<br/><br/><strong>Key Updates:</strong><ul><li><strong>1. New Brand Identity &amp; Symbolism of the Brain</strong>: Introducing the new official logo of Organizator, designed as a modular circular wheel integrating the 5 core facets of personal management:</li><li><strong>2. Complete UI Restructuring: Mobile-First Ergonomics</strong>: Restructuring the UI starting from the mobile viewport to maximize speed and clarity during daily tracking:</li></ul>]]></description>
      <author>pablo@pablorejon.com (Pablo Rejón)</author>
    </item>
    <item>
      <title>Organizator: Cross-Device State Sync, PDF Invoicing Pipeline &amp; Freelance Cashflow Modeling</title>
      <link>https://pablorejon.com/blog#organizator-sincronizacion-multidispositivo-offline-invoicing-pdf</link>
      <guid isPermaLink="true">https://pablorejon.com/blog#organizator-sincronizacion-multidispositivo-offline-invoicing-pdf</guid>
      <pubDate>Wed, 02 Sep 2026 12:00:00 +0000</pubDate>
      <description><![CDATA[Engineering chronicle on Organizator: cross-device offline state sync, multi-session isolation, PDF invoice rendering, and moving past naive recurring income abstractions in favor of invoice-driven cashflow.<br/><br/><strong>Key Updates:</strong><ul><li><strong>1. Cross-Device Synchronization &amp; Offline Persistence</strong>: Diagnosing and fixing cross-device state drift between mobile and desktop clients when updating tasks and calendar schedules:</li><li><strong>2. PDF Invoicing Pipeline &amp; UI Refinement</strong>: Hardening the invoicing suite and visual cleanup of core operational components:</li><li><strong>3. Cashflow Domain Modeling: Invoices Over Naive Recurring Flows</strong>: Refactoring financial cashflow projections by retiring a simplistic abstraction that triggered false overdue warnings:</li></ul>]]></description>
      <author>pablo@pablorejon.com (Pablo Rejón)</author>
    </item>
    <item>
      <title>Case Study: Building Self-Hosted Infrastructure &amp; Redesigning my Tech Services Landing Page</title>
      <link>https://pablorejon.com/blog#caso-de-estudio-servicios-infraestructura-redisenio</link>
      <guid isPermaLink="true">https://pablorejon.com/blog#caso-de-estudio-servicios-infraestructura-redisenio</guid>
      <pubDate>Tue, 01 Sep 2026 12:00:00 +0000</pubDate>
      <description><![CDATA[End-to-end overhaul of my services platform (servicios.pablorejon.com) into an ultrafast, bilingual, 100% self-hosted conversion engine: custom contact API on a Linux VPS with Docker and Caddy (100% GDPR, zero third-party processors), perfect Core Web Vitals (100/100), semantic pricing tabs with progressive enhancement, and a dual-market strategy.<br/><br/><strong>Key Updates:</strong><ul><li><strong>1. Backend: Self-Hosted Contact API on VPS (Zero Third Parties, 100% GDPR)</strong>: Radical replacement of third-party form processors (Formspree, Typeform, Google Forms) with a self-hosted microservice ensuring customer data never leaves sovereign infrastructure:</li><li><strong>2. Frontend: Performance, Accessibility &amp; Mobile-First UX</strong>: Interaction engineering focused on frictionless usability, accessible keyboard navigation, and graceful degradation:</li><li><strong>3. Value Proposition, Conversion Copywriting &amp; Dual-Market Strategy</strong>: Transparent communication tailored for technical trust and regulatory differentiation:</li><li><strong>4. Production Metrics, Security &amp; Conversion Results</strong>: Technical and operational impact following production deployment:</li></ul>]]></description>
      <author>pablo@pablorejon.com (Pablo Rejón)</author>
    </item>
    <item>
      <title>Organizator: Freelance Tax Engine (HAC/773/2019 Order), Multi-Charge Payments &amp; Multi-User Architecture</title>
      <link>https://pablorejon.com/blog#organizator-modulo-fiscal-hac-773-multicargo-multiuser</link>
      <guid isPermaLink="true">https://pablorejon.com/blog#organizator-modulo-fiscal-hac-773-multicargo-multiuser</guid>
      <pubDate>Mon, 31 Aug 2026 12:00:00 +0000</pubDate>
      <description><![CDATA[Major architectural and feature overhaul in Organizator: full implementation of the 3 official tax ledger books under Spanish Order HAC/773/2019, precise Form 303 calculations, inverse VAT breakdowns with multi-charge cycles, and multi-user scaling for real active users with strict banking isolation.<br/><br/><strong>Key Updates:</strong><ul><li><strong>1. Freelance Tax Module &amp; Official Spanish Tax Ledgers (HAC/773/2019)</strong>: Architecture and design of regulatory tax ledgers compliant with Spanish Order HAC/773/2019 with reactive synchronization between income tax and VAT:</li><li><strong>2. Smart Financial Engine: Recurring Expenses &amp; Multi-Charge Matching</strong>: Advanced bookkeeping automation for periodic expenses and split billing obligations:</li><li><strong>3. Multi-User Scaling &amp; Security Architecture</strong>: Platform evolution to support multiple real active users managing their personal finances on the application daily:</li></ul>]]></description>
      <author>pablo@pablorejon.com (Pablo Rejón)</author>
    </item>
    <item>
      <title>DevLog · Organizator: The Silent Notification (Three Chained Failures in Web Push, Docker &amp; PostgreSQL)</title>
      <link>https://pablorejon.com/blog#organizator-web-push-debugging-tres-fallos-silenciosos</link>
      <guid isPermaLink="true">https://pablorejon.com/blog#organizator-web-push-debugging-tres-fallos-silenciosos</guid>
      <pubDate>Sun, 30 Aug 2026 12:00:00 +0000</pubDate>
      <description><![CDATA[Deep engineering post-mortem on background Web Push notifications for iOS/PWA in Organizator: debugging three chained silent bugs (unpropagated client tokens, a 2-hour UTC container timezone drift, and JSON state overwrites in PostgreSQL) resolved down to idempotent real-time delivery.<br/><br/><strong>Key Updates:</strong><ul><li><strong>1. The Architecture &amp; The Three Chained Silent Bugs</strong>: The event notification selector stored values in the database but relied exclusively on ICS calendar alarms. The goal was true background Web Push delivery with the app closed, uncovering three layered silent bugs that produced no error logs:</li><li><strong>2. Debugging Timeline, Idempotency &amp; Takeaways</strong>: From the initial UTC container discovery at 23:04 to verified delivery at 12:00:17 with registered idempotency keys:</li><li><strong>3. Extension: Overdue Milestone Warnings, Calendar Banner &amp; Daily Planner Integration</strong>: After stabilizing the push notification pipeline, we expanded the engine to cover project milestones with a noise-free alert policy, while synchronizing warning banners and events directly into the Calendar and Daily Planner:</li></ul>]]></description>
      <author>pablo@pablorejon.com (Pablo Rejón)</author>
    </item>
    <item>
      <title>Launching servicios.pablorejon.com: Custom Web Development &amp; Managed Hosting with Transparent Pricing &amp; Written Contracts</title>
      <link>https://pablorejon.com/blog#lanzamiento-servicios-informatica-desarrollo-web-empresas</link>
      <guid isPermaLink="true">https://pablorejon.com/blog#lanzamiento-servicios-informatica-desarrollo-web-empresas</guid>
      <pubDate>Sat, 22 Aug 2026 12:00:00 +0000</pubDate>
      <description><![CDATA[Officially presenting my freelance business services for companies in Granada and remote: bespoke web development without templates (presence, CMS, and custom e-commerce), monthly managed care with no lock-in (hosting, verified backups, security updates, and technical support), written contracts with GDPR compliance, and 100% transparent published rates.<br/><br/><strong>Key Updates:</strong><ul><li><strong>1. Professional Philosophy &amp; Value Proposition</strong>: A proposition designed to handle small business web presence with rigor, transparency, and full legal guarantees.</li><li><strong>2. Bespoke Web Development &amp; Managed Maintenance</strong>: Comprehensive services backed by hands-on experience running production infrastructure and live e-commerce platforms.</li></ul>]]></description>
      <author>pablo@pablorejon.com (Pablo Rejón)</author>
    </item>
    <item>
      <title>Maximum SEO &amp; Production Performance: Indexing Architecture &amp; Core Web Vitals on acamachoart.com</title>
      <link>https://pablorejon.com/blog#art-gallery-advanced-seo-web-vitals-overhaul</link>
      <guid isPermaLink="true">https://pablorejon.com/blog#art-gallery-advanced-seo-web-vitals-overhaul</guid>
      <pubDate>Sat, 22 Aug 2026 12:00:00 +0000</pubDate>
      <description><![CDATA[Comprehensive search engine optimization and performance overhaul for the art gallery: crawlable semantic links, Schema.org structured data (JSON-LD), pre-rendered HTML fallback content, Google Images sitemap, and a 55% JS bundle size reduction to maximize Core Web Vitals in production.<br/><br/><strong>Key Updates:</strong><ul><li><strong>1. Crawlable Links, Schema.org &amp; Pre-rendered HTML</strong>: Restructuring catalog rendering so Googlebot autonomously indexes every artwork without relying on client-side JavaScript execution.</li><li><strong>2. Google Images Sitemap &amp; Bundle Size Optimization</strong>: Maximizing load speed and visual discovery on Google Images search and Cloudflare Web Analytics.</li></ul>]]></description>
      <author>pablo@pablorejon.com (Pablo Rejón)</author>
    </item>
    <item>
      <title>Freelance Registration &amp; Fiscal Engine in Organizator: Architecture of the Tax Module, VeriFactu &amp; PDF Pipeline</title>
      <link>https://pablorejon.com/blog#organizator-autonomo-fiscal-module-architecture</link>
      <guid isPermaLink="true">https://pablorejon.com/blog#organizator-autonomo-fiscal-module-architecture</guid>
      <pubDate>Fri, 21 Aug 2026 12:00:00 +0000</pubDate>
      <description><![CDATA[Following my official registration as a freelancer (autónomo), I architected and integrated a full tax and fiscal management module into Organizator: official invoice/expense ledgers, ultralight PDF generation using standard Helvetica Base-14 metrics in pdfmake, deduplicated reactive bridging from 'My Work', VeriFactu SHA-256 cryptographic chaining with QR verification, and real-time quarterly tax estimations for Models 303 (VAT) and 130 (Personal Income Tax).<br/><br/><strong>Key Updates:</strong><ul><li><strong>1. Official Tax Ledgers &amp; Persistent Schema</strong>: Strict accounting domain modeling compliant with freelance tax requirements under direct simplified taxation.</li><li><strong>2. PDF Engine: Base-14 Standard Font Optimization in pdfmake</strong>: Client-side standard invoice generation reducing embedded font bundle size from 1 MB to 281 KB with ReportLab-identical typography.</li><li><strong>3. Reactive Bridge 'My Work' ➔ Automated Billing</strong>: Automating the invoicing workflow directly from completed client projects without transaction duplication or treasury desync.</li><li><strong>4. Cryptographic Chaining &amp; Fiscal Traceability: VeriFactu &amp; QR</strong>: Preparing the platform for the regulatory requirements of the Spanish VeriFactu billing system (immutability, hash chaining, and QR verification).</li><li><strong>5. Live Quarterly Tax Settlement: Models 303 &amp; 130</strong>: Real-time financial visibility to project VAT and Personal Income Tax liabilities and eliminate tax quarter surprises.</li></ul>]]></description>
      <author>pablo@pablorejon.com (Pablo Rejón)</author>
    </item>
    <item>
      <title>Dogfooding in Organizator: Architecture &amp; UX of the New Fitness Module</title>
      <link>https://pablorejon.com/blog#organizator-fitness-module-architecture</link>
      <guid isPermaLink="true">https://pablorejon.com/blog#organizator-fitness-module-architecture</guid>
      <pubDate>Thu, 20 Aug 2026 12:00:00 +0000</pubDate>
      <description><![CDATA[Product engineering and interaction design of Organizator's new Sports &amp; Physical Performance module: a bidirectional bridge between workout periodization (microcycles) and global schedules, featuring predictive load auto-population to eliminate gym cognitive fatigue, native SVG charts, and Second Brain unification under the P.A.R.A. method.<br/><br/><strong>Key Updates:</strong><ul><li><strong>1. UX Ergonomics: Zero Friction in the Gym (Mobile vs Desktop)</strong>: On the gym floor, every superfluous interaction competes with workout fatigue: we strictly decoupled the high-velocity mobile flow from deep desktop analytics.</li><li><strong>2. Multi-Day Weekly Planning &amp; Reactive Calendar</strong>: A bidirectional bridge between athletic periodization and personal calendar management, breaking down isolated application silos.</li><li><strong>3. Smart Auto-Population Algorithm: Zero Load Friction</strong>: Heuristic target calculations so athletes never have to recall past personal bests or consult spreadsheets between sets.</li><li><strong>4. Template Architecture &amp; Native SVG Charts</strong>: Expanding Organizator's P.A.R.A. engine and reusing lightweight visual primitives without bloating the application bundle with third-party chart libraries.</li><li><strong>5. Dogfooding &amp; Conclusions: The Unified P.A.R.A. Ecosystem</strong>: Why a truly unified Second Brain vastly outperforms a fragmented stack of four dedicated niche applications.</li></ul>]]></description>
      <author>pablo@pablorejon.com (Pablo Rejón)</author>
    </item>
    <item>
      <title>TriajIA Comprehensive Engineering Overhaul: Modular Architecture, Test Suite &amp; Security Hardening</title>
      <link>https://pablorejon.com/blog#triajia-clinical-architecture-refactor-testing</link>
      <guid isPermaLink="true">https://pablorejon.com/blog#triajia-clinical-architecture-refactor-testing</guid>
      <pubDate>Wed, 19 Aug 2026 12:00:00 +0000</pubDate>
      <description><![CDATA[A deep dive into TriajIA's architectural leap: decomposing a 1500+ line React monolith into a modular orchestrator and pure clinical hooks, implementing 31 automated Vitest tests, hardening multi-tenant isolation, integrating with HIS via HL7/FHIR webhooks, and structuring audit documentation for the thesis.<br/><br/><strong>Key Updates:</strong><ul><li><strong>1. Modular Decomposition of TriageWorkspace</strong>: We transformed the 1500+ line monolithic component into a decoupled ~225-line orchestrator, isolating pure clinical logic into specialized hooks and reusable card components.</li><li><strong>2. Clinical UX, Dispositions &amp; Isolation</strong>: We designed a realistic emergency workflow tailored to hospital roles, establishing clear boundaries between waiting-room triage and the hospital's central HIS.</li><li><strong>3. HIS Integration (HL7 / FHIR Webhooks)</strong>: We equipped TriajIA with hospital interoperability capabilities through secure, asynchronous webhooks compatible with global standards.</li><li><strong>4. Security, Multi-Tenant Hardening &amp; Bug Fixes</strong>: We hardened the platform against cross-tenant data leaks and stabilized the infrastructure for continuous deployments.</li><li><strong>5. Automated Test Suite &amp; Academic Thesis Docs</strong>: We implemented comprehensive test coverage with Vitest and organized technical documentation in docs/ as a robust foundation for the thesis defense.</li></ul>]]></description>
      <author>pablo@pablorejon.com (Pablo Rejón)</author>
    </item>
    <item>
      <title>VPS Resource Optimization: Decommissioning Football Manager &amp; Launching acamachoart.com</title>
      <link>https://pablorejon.com/blog#vps-resource-optimization-art-gallery-domain</link>
      <guid isPermaLink="true">https://pablorejon.com/blog#vps-resource-optimization-art-gallery-domain</guid>
      <pubDate>Tue, 11 Aug 2026 12:00:00 +0000</pubDate>
      <description><![CDATA[A chronicle on optimizing performance on my Hetzner VPS by decommissioning Football Manager (freeing 2.1+ GB disk space and vital RAM) and successfully launching the Art Gallery (Bramasole) under its own dedicated domain acamachoart.com.<br/><br/><strong>Key Updates:</strong><ul><li><strong>1. Decommissioning Football Manager</strong>: We decided to decommission the Football Manager project from production due to its high RAM and disk storage footprint, prioritizing active applications.</li><li><strong>2. Production: acamachoart.com</strong>: We configured and deployed the Art Gallery (Bramasole) under the commercial domain acamachoart.com, enabling routing, HTTPS, and secure CORS.</li></ul>]]></description>
      <author>pablo@pablorejon.com (Pablo Rejón)</author>
    </item>
    <item>
      <title>Transition to My Own Domain: pablorejon.com, VPS &amp; Professional Email with Zoho</title>
      <link>https://pablorejon.com/blog#new-custom-domain-setup</link>
      <guid isPermaLink="true">https://pablorejon.com/blog#new-custom-domain-setup</guid>
      <pubDate>Mon, 03 Aug 2026 12:00:00 +0000</pubDate>
      <description><![CDATA[Documenting the consolidation of my self-hosted infrastructure under my new custom domain pablorejon.com. I cover purchasing it via Cloudflare Registrar, migrating and reconfiguring DNS/Caddy for all sub-applications on my Hetzner VPS, and setting up professional custom email hosting with Zoho Mail.<br/><br/><strong>Key Updates:</strong><ul><li><strong>1. Cloudflare Registrar &amp; DNS Configuration</strong>: I purchased the pablorejon.com domain via Cloudflare Registrar for its fair pricing and control panel, consolidating my DNS resolution for my entire infrastructure.</li><li><strong>2. VPS Migration &amp; Caddyfile Updates</strong>: Reconfigured the Caddy web server on my VPS to route all projects and sub-applications under the new domain with automatic HTTPS.</li><li><strong>3. Professional Email Setup with Zoho</strong>: Established my custom professional email address by linking the domain to Zoho Mail using verification and security records.</li></ul>]]></description>
      <author>pablo@pablorejon.com (Pablo Rejón)</author>
    </item>
    <item>
      <title>Chronicle of a Data Loss (and its Rescue): Sync, Volumes &amp; Encrypted Backups</title>
      <link>https://pablorejon.com/blog#data-loss-recovery-backups</link>
      <guid isPermaLink="true">https://pablorejon.com/blog#data-loss-recovery-backups</guid>
      <pubDate>Fri, 17 Jul 2026 12:00:00 +0000</pubDate>
      <description><![CDATA[A detailed technical autopsy of how we suffered and rescued a total user data loss in production. I explore the root causes (ephemeral Postgres in Docker and the 'wipe effect' in the sync protocol), the forensic analysis to extract blobs from Brave's LevelDB local storage, and the new defensive architecture featuring anti-wipe guards, database versioning triggers, and off-site encrypted backups.<br/><br/><strong>Key Updates:</strong><ul><li><strong>1. Diagnosis: Ephemeral Postgres &amp; Sync Wipe Effect</strong>: The production system suffered a complete wipe. The root cause analysis revealed a Docker volume misconfiguration and a flaw in our state synchronization protocol.</li><li><strong>2. The Rescue: LevelDB Forensic Extraction (Brave)</strong>: We recovered a database dump from June 9, but to save the data from June and July, we conducted a forensic extraction from Brave's local storage files.</li><li><strong>3. Prevention: Safeguards, Triggers &amp; Encrypted Backups</strong>: To immunize the system against future incidents, we designed and implemented a three-tier protection architecture across the backend, database, and external backups.</li></ul>]]></description>
      <author>pablo@pablorejon.com (Pablo Rejón)</author>
    </item>
    <item>
      <title>Visit to Google GSEC Málaga &amp; Chat with Bernardo Quintero</title>
      <link>https://pablorejon.com/blog#visita-gsec-google-malaga</link>
      <guid isPermaLink="true">https://pablorejon.com/blog#visita-gsec-google-malaga</guid>
      <pubDate>Wed, 15 Jul 2026 12:00:00 +0000</pubDate>
      <description><![CDATA[Yesterday we had the great opportunity to visit the Google Safety Engineering Center (GSEC) in Málaga, an incredible experience that we managed to organize ourselves. Getting to know this world-class cybersecurity hub from the inside and chatting with leaders like Bernardo Quintero was an absolute privilege. We were deeply inspired by the history of VirusTotal and seeing firsthand the cybersecurity operations led from Málaga. Proactivity always opens doors!]]></description>
      <author>pablo@pablorejon.com (Pablo Rejón)</author>
    </item>
    <item>
      <title>Repón: NFC-Powered Home Inventory &amp; PWA Grocery List</title>
      <link>https://pablorejon.com/blog#repon-nfc-pwa-grocery</link>
      <guid isPermaLink="true">https://pablorejon.com/blog#repon-nfc-pwa-grocery</guid>
      <pubDate>Tue, 14 Jul 2026 12:00:00 +0000</pubDate>
      <description><![CDATA[Launching Repón, a lightweight application designed to simplify my family's weekly grocery shopping by combining physical NFC stickers in the pantry with an offline-first PWA built in Go and HTMX. Scanning an NFC tag (NTAG213) instantly appends the product to the shopping list of its designated store, syncing in real-time with the interactive list they carry at the supermarket.<br/><br/><strong>Key Updates:</strong><ul><li><strong>Boot Plan: Architecture &amp; Roadmap</strong>: I have defined the project structure and the development plan split into three incremental phases to achieve a functional MVP.</li><li><strong>Phase 3 Completed: Successful Deployment &amp; Resolving Caddy/Vessel Conflicts</strong>: The project is now fully developed! We overcame a critical networking hurdle during production deployment with Vessel, and we are now just waiting for the physical NFC stickers to arrive for pantry placement.</li><li><strong>Debugging Vessel: Environment Variable Injection &amp; Admin Access Fix</strong>: While trying to access Repón's admin panel, we found that the configured ADMIN_PASSWORD was not being injected. This led us to debug and enhance Vessel, our custom PaaS, resolving issues on both client and server sides.</li><li><strong>Reactive Checkout &amp; Env Var Interpolation in Vessel</strong>: We added two critical enhancements for usability and security: an interactive checkout flow that atomically clears the database and dynamic secret interpolation in Vessel.</li></ul>]]></description>
      <author>pablo@pablorejon.com (Pablo Rejón)</author>
    </item>
    <item>
      <title>Automatic Sync with the Revolut API in Organizator</title>
      <link>https://pablorejon.com/blog#sync-revolut-organizator</link>
      <guid isPermaLink="true">https://pablorejon.com/blog#sync-revolut-organizator</guid>
      <pubDate>Sat, 11 Jul 2026 12:00:00 +0000</pubDate>
      <description><![CDATA[I have discovered that it is possible to connect to the Revolut API to automate the synchronization of my financial transactions. My goal is to implement a background service (a Node.js or Python script) that securely connects to Revolut, fetches bank movements in real time, and logs them directly into Organizator's PostgreSQL database. This will completely eliminate the need to manually enter income and expenses, taking the automation of my personal finance dashboard to the next level.<br/><br/><strong>Key Updates:</strong><ul><li><strong>Phase 1: Real-Time Bank Sync (PSD2 / Open Banking)</strong>: To solve this challenge, I designed and integrated a real-time banking synchronization system using the Enable Banking API (AISP - Open Banking / PSD2) to securely connect Organizator's backend with Revolut.</li><li><strong>Phase 2: Reconciliation &amp; Refund Tracking</strong>: To boost the utility of the bank sync, I designed and implemented a Reconciliation Module for Shared Expenses (Bizums / Shared Costs) to manage pending refunds automatically without duplication.</li><li><strong>Phase 3: 1-to-N Flexible Reconciliation Engine &amp; Mobile-First UX</strong>: To solve the issue of shared expense tracking (Bizums inflating income and distorting expenses), I designed and implemented a flexible 1-to-N reconciliation engine and an optimized mobile UX.</li><li><strong>Phase 4: Financial Reengineering, Projections &amp; Smart Reconciliation</strong>: We performed a deep restructuration of Organizator's financial module, simplifying the UI, implementing a future net worth projection engine, and refining transaction reconciliation &amp; amortization.</li></ul>]]></description>
      <author>pablo@pablorejon.com (Pablo Rejón)</author>
    </item>
    <item>
      <title>Blog Start</title>
      <link>https://pablorejon.com/blog#blog-start</link>
      <guid isPermaLink="true">https://pablorejon.com/blog#blog-start</guid>
      <pubDate>Fri, 10 Jul 2026 12:00:00 +0000</pubDate>
      <description><![CDATA[Officially launching this corner where I will actively share my development notes, technical reflections, project ideas, and daily learning.]]></description>
      <author>pablo@pablorejon.com (Pablo Rejón)</author>
    </item>
  </channel>
</rss>
