<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Imam Ramadhan — Writing</title><description>Imam Ramadhan is a software engineer focused on designing reliable backend systems and writing about the decisions and trade-offs behind them.</description><link>https://imamrd.space/</link><item><title>When Repository Classes Help in Laravel</title><link>https://imamrd.space/writing/repository-pattern/</link><guid isPermaLink="true">https://imamrd.space/writing/repository-pattern/</guid><description>What I learned from researching and applying repository classes selectively in Laravel applications, without wrapping Eloquent by default.</description><pubDate>Sat, 10 Jan 2026 00:00:00 GMT</pubDate></item><item><title>How I Chose Astro for My Personal Writing Site</title><link>https://imamrd.space/writing/ssg-journey/</link><guid isPermaLink="true">https://imamrd.space/writing/ssg-journey/</guid><description>How my experiments with Gatsby, Jigsaw, Hugo, and Next.js shaped the simpler Astro writing site I maintain today.</description><pubDate>Sat, 03 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Building Progressive Infinite Scroll with Laravel</title><link>https://imamrd.space/writing/infinite-scroll-laravel/</link><guid isPermaLink="true">https://imamrd.space/writing/infinite-scroll-laravel/</guid><description>A Laravel and JavaScript approach to incremental loading with a pagination fallback, recoverable errors, and status announcements.</description><pubDate>Sat, 16 Aug 2025 00:00:00 GMT</pubDate></item><item><title>Why Embedded API Keys Cannot Authenticate Mobile Apps</title><link>https://imamrd.space/writing/restrict-access/</link><guid isPermaLink="true">https://imamrd.space/writing/restrict-access/</guid><description>Why a shared key inside a mobile app cannot prove client identity, and how authentication, authorization, PKCE, attestation, and monitoring fit together.</description><pubDate>Fri, 02 May 2025 00:00:00 GMT</pubDate></item><item><title>Modeling Multi-Unit and Multi-Location POS Inventory</title><link>https://imamrd.space/writing/multi-concepts/</link><guid isPermaLink="true">https://imamrd.space/writing/multi-concepts/</guid><description>How separating units, variants, and locations creates an inventory model that remains explainable as retail workflows grow.</description><pubDate>Sat, 11 Jan 2025 00:00:00 GMT</pubDate></item><item><title>Designing Predictable Pricing Rules for POS Systems</title><link>https://imamrd.space/writing/priority-price-pos/</link><guid isPermaLink="true">https://imamrd.space/writing/priority-price-pos/</guid><description>How to evaluate variant, member, promotional, and quantity pricing consistently while keeping POS calculations explainable and auditable.</description><pubDate>Sat, 04 Jan 2025 00:00:00 GMT</pubDate></item><item><title>Using Database Transactions in Laravel</title><link>https://imamrd.space/writing/db-trx-laravel/</link><guid isPermaLink="true">https://imamrd.space/writing/db-trx-laravel/</guid><description>How I use Laravel transactions to keep related database writes together, with a balance-transfer example and practical limitations.</description><pubDate>Sat, 02 Nov 2024 00:00:00 GMT</pubDate></item><item><title>Importing Large SQL Files from the Ubuntu Terminal</title><link>https://imamrd.space/writing/import-sql/</link><guid isPermaLink="true">https://imamrd.space/writing/import-sql/</guid><description>The MySQL terminal commands I use after browser and GUI imports stop, including progress, compressed dumps, and basic verification.</description><pubDate>Sat, 12 Oct 2024 00:00:00 GMT</pubDate></item><item><title>Writing Clear and Useful Git Commit Messages</title><link>https://imamrd.space/writing/commit-message-guidelines/</link><guid isPermaLink="true">https://imamrd.space/writing/commit-message-guidelines/</guid><description>The simple commit-message structure I adopted after vague messages made old changes difficult to understand.</description><pubDate>Sat, 05 Oct 2024 00:00:00 GMT</pubDate></item><item><title>Understanding HTTP Methods for Backend APIs</title><link>https://imamrd.space/writing/http-methods/</link><guid isPermaLink="true">https://imamrd.space/writing/http-methods/</guid><description>A learning note about GET, POST, PUT, PATCH, and DELETE, with simple examples of safety, idempotency, and resource URLs.</description><pubDate>Sat, 10 Aug 2024 00:00:00 GMT</pubDate></item><item><title>What an Old Laptop Taught Me About Problem-Solving</title><link>https://imamrd.space/writing/laptop-hang/</link><guid isPermaLink="true">https://imamrd.space/writing/laptop-hang/</guid><description>How a laptop that kept freezing led me from Windows to Ubuntu, Linux customization, and learning through limited hardware.</description><pubDate>Sat, 07 May 2022 00:00:00 GMT</pubDate></item><item><title>What Jigsaw Taught Me About Choosing Familiar Tools</title><link>https://imamrd.space/writing/ssg-jigsaw/</link><guid isPermaLink="true">https://imamrd.space/writing/ssg-jigsaw/</guid><description>Why I tried a PHP-based static site generator and how familiar Blade and Tailwind tools helped me build a personal blog.</description><pubDate>Sat, 19 Feb 2022 00:00:00 GMT</pubDate></item><item><title>What Tailwind CSS Changed About My Styling Workflow</title><link>https://imamrd.space/writing/first-impression-tailwind/</link><guid isPermaLink="true">https://imamrd.space/writing/first-impression-tailwind/</guid><description>My first impression of Tailwind CSS, from building a card with utilities to learning its setup and editor support.</description><pubDate>Sat, 12 Feb 2022 00:00:00 GMT</pubDate></item><item><title>My First Static Site Generator Experiment</title><link>https://imamrd.space/writing/firsttime-ssg/</link><guid isPermaLink="true">https://imamrd.space/writing/firsttime-ssg/</guid><description>My first Gatsby experiment, what broke when I customized it too quickly, and why I returned to writing before finishing the site.</description><pubDate>Sat, 02 Feb 2019 00:00:00 GMT</pubDate></item></channel></rss>