<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Frontend on Blogfolio Najib</title>
		<link>https://najib.id/en/tags/frontend/</link>
		<description>Recent content in Frontend on Blogfolio Najib</description>
		<generator>Hugo</generator>
		<language>en-US</language>
		
		
		
			<copyright>This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.</copyright>
		
		
			<lastBuildDate>Wed, 23 Sep 2026 21:43:16 +0700</lastBuildDate>
		
			<atom:link href="https://najib.id/en/tags/frontend/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Hijrah Frontend (1): When a Backend Engineer Is Told to Touch the Frontend</title>
				<link>https://najib.id/en/writing/2026/hijrah-frontend-01/</link>
				<pubDate>Fri, 11 Sep 2026 09:00:00 +0700</pubDate>
				<guid>https://najib.id/en/writing/2026/hijrah-frontend-01/</guid>
				<description>&lt;p&gt;The &lt;a href=&#34;https://najib.id/en/writing/2026/hijrah-backend-01/&#34;&gt;Hijrah Backend&lt;/a&gt; series has graduated. The GPS backend now stands on Go, 14 domain modules are in order, and the endpoint that used to eat 15 seconds has recovered.&lt;/p&gt;&#xA;&lt;p&gt;Now it&amp;rsquo;s the neighboring building&amp;rsquo;s turn.&lt;/p&gt;&#xA;&lt;p&gt;I am a backend engineer. My world: queries, indexes, binary packet parsers, and database welfare. The frontend is a country I visit occasionally, on a tourist visa. This episode is about the day that tourist visa got revoked and replaced with a resident ID hehe~&lt;/p&gt;</description>
			</item>
			<item>
				<title>Hijrah Frontend (2): The Thin Port and the Inheritance That Boarded</title>
				<link>https://najib.id/en/writing/2026/hijrah-frontend-02/</link>
				<pubDate>Fri, 11 Sep 2026 09:00:00 +0700</pubDate>
				<guid>https://najib.id/en/writing/2026/hijrah-frontend-02/</guid>
				<description>&lt;p&gt;The move from &lt;a href=&#34;https://najib.id/en/writing/2026/hijrah-frontend-01/&#34;&gt;episode one&lt;/a&gt; is finished, and handover day has arrived. The manifest is short and boring, exactly like the best moving manifests: &lt;strong&gt;seventy-six boxes in, seventy-six boxes out. Zero pages left behind.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;That&amp;rsquo;s not luck. That&amp;rsquo;s a decision. And this episode is about that decision: what we deliberately carried over, what turned out to board without an invitation, and one big plan that chose not to happen hehe~&lt;/p&gt;&#xA;&lt;h2 id=&#34;why-zero-pages-were-left-behind&#34;&gt;Why Zero Pages Were Left Behind &lt;a href=&#34;#why-zero-pages-were-left-behind&#34; class=&#34;tdln dimmer&#34;&gt;&lt;small&gt;#&lt;/small&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;If you&amp;rsquo;ve ever moved houses, you know the most liberating moment: deciding &amp;ldquo;just throw this one away&amp;rdquo;. A frontend migration has the same moment with a bigger temptation, because discarding pages feels like tidying up the product at the same time.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Hijrah Frontend (3): Type Chaos, Numbers, Empty Strings, and Pages with Different Opinions</title>
				<link>https://najib.id/en/writing/2026/hijrah-frontend-03/</link>
				<pubDate>Fri, 11 Sep 2026 09:00:00 +0700</pubDate>
				<guid>https://najib.id/en/writing/2026/hijrah-frontend-03/</guid>
				<description>&lt;p&gt;One identical field, sent by three different pages, carrying three different beliefs about what it is. The first page sends a number. The second page, when empty, sends an empty string. The third sends a number wrapped in a string. All three lived in peace for years, until one day the receiver changed to a system that refuses to guess hehe~&lt;/p&gt;&#xA;&lt;p&gt;This episode is about &lt;em&gt;type chaos&lt;/em&gt;: how it was born without anyone&amp;rsquo;s intent, why it survived for years, and its scars, still measurable in our repo today.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Hijrah Frontend (4): Two UI Libraries, Two Naming Eras</title>
				<link>https://najib.id/en/writing/2026/hijrah-frontend-04/</link>
				<pubDate>Fri, 11 Sep 2026 09:00:00 +0700</pubDate>
				<guid>https://najib.id/en/writing/2026/hijrah-frontend-04/</guid>
				<description>&lt;p&gt;In &lt;a href=&#34;https://najib.id/en/writing/2026/hijrah-frontend-02/&#34;&gt;episode two&lt;/a&gt; I mentioned the numbers: one UI library is used across 101 files, the other survives in 13. This episode digs deeper into them, because inside are two findings that made me laugh alone in front of a screen hehe~&lt;/p&gt;&#xA;&lt;p&gt;Finding one: the two &lt;strong&gt;never meet in a single file&lt;/strong&gt;. Finding two: the less popular library holds the most sought-after goods in town. In order, then.&lt;/p&gt;&#xA;&lt;h2 id=&#34;two-civilizations-with-a-demarcation-line&#34;&gt;Two Civilizations with a Demarcation Line &lt;a href=&#34;#two-civilizations-with-a-demarcation-line&#34; class=&#34;tdln dimmer&#34;&gt;&lt;small&gt;#&lt;/small&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;The first civilization is the majority library: it provides the &lt;em&gt;paginator&lt;/em&gt;, &lt;em&gt;button&lt;/em&gt;, &lt;em&gt;skeleton&lt;/em&gt;, &lt;em&gt;card&lt;/em&gt;, and even an image &lt;em&gt;galleria&lt;/em&gt;. It is the foundation of nearly every page; its call can be heard in one hundred and one files.&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Hijrah Frontend (5): Two Sides of One Building</title>
				<link>https://najib.id/en/writing/2026/hijrah-frontend-05/</link>
				<pubDate>Fri, 11 Sep 2026 09:00:00 +0700</pubDate>
				<guid>https://najib.id/en/writing/2026/hijrah-frontend-05/</guid>
				<description>&lt;p&gt;This is the final episode of the &lt;em&gt;frontend&lt;/em&gt; series. And true to the closing tradition of &lt;a href=&#34;https://najib.id/en/writing/2026/hijrah-backend-09/&#34;&gt;the neighboring series&lt;/a&gt;, this episode isn&amp;rsquo;t a victory party; it&amp;rsquo;s the closing inventory: what&amp;rsquo;s done, what&amp;rsquo;s intentionally left unfinished, and what living in a building whose two sides ended up occupied by the same person actually taught me hehe~&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-honest-closing-inventory&#34;&gt;The Honest Closing Inventory &lt;a href=&#34;#the-honest-closing-inventory&#34; class=&#34;tdln dimmer&#34;&gt;&lt;small&gt;#&lt;/small&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;The last four episodes opened the inherited &lt;em&gt;frontend&lt;/em&gt; building. Now that the door is shut again, here&amp;rsquo;s what&amp;rsquo;s inside:&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
