@@ -5,7 +5,9 @@ description: >-
55 motion-heavy frontend engineering with React islands.
66pubDate: 2026-05-11
77updatedDate: 2026-05-11
8- heroImage: https://cdn.arjunnambiar.dev/images/blog/i-built-a-distributed-blog-platform-on-cf/heroImage.png
8+ heroImage: >-
9+ https://cdn.arjunnambiar.dev/images/blog/i-built-a-distributed-blog-platform-on-cf/heroImage.png
10+ draft: false
911tags:
1012 - astro
1113 - react
1416 - keystatic
1517 - pagefind
1618 - giscus
17- draft: false
1819---
1920Most personal blogs today fall into one of three categories:
2021
@@ -41,7 +42,7 @@ This post breaks down the architecture, engineering decisions, tradeoffs, and le
4142
4243## The Goal
4344
44- My goal was to create a platform that could serve as:
45+ My goal simply put was to create a platform that could serve as:
4546
4647- a space for writing and sharing technical ideas
4748- a playground for frontend engineering and UI experimentation
@@ -111,9 +112,10 @@ Some factors in my mind while choosing these technologies:
111112- and long-term maintainability
112113
113114{% image
114- src="https://cdn.arjunnambiar.dev/images/blog/i-built-a-globally-distributed-blog-platform/architecture-diagram.png"
115- alt="arjun-nambiar-blog-architecture"
116- /%}
115+ src="https://cdn.arjunnambiar.dev/images/blog/i-built-a-globally-distributed-blog-platform/architecture-diagram.png"
116+ alt="arjun-nambiar-blog-architecture"
117+ loading="lazy"
118+ decoding="async" /%}
117119
118120---
119121
@@ -215,7 +217,11 @@ Initially, I considered building the entire admin interface myself - something t
215217
216218While researching CMS options (with a lot of help from AI recommendations and documentation rabbit holes), I came across Keystatic, and it ended up solving almost everything I needed out of the box.
217219
218- {% image src="https://cdn.arjunnambiar.dev/images/blog/i-built-a-globally-distributed-blog-platform/keystatic-page.png" alt="Keystatic Dashboard" /%}
220+ {% image
221+ src="https://cdn.arjunnambiar.dev/images/blog/i-built-a-globally-distributed-blog-platform/keystatic-page.png"
222+ alt="Keystatic Dashboard"
223+ loading="lazy"
224+ decoding="async" /%}
219225
220226What made it particularly attractive was that:
221227
@@ -360,7 +366,11 @@ A lot of the Lighthouse and SEO improvements actually came from these frontend d
360366
361367Ironically, some of the biggest performance wins came from removing things instead of adding more optimizations on top.
362368
363- {% image src="https://cdn.arjunnambiar.dev/images/blog/i-built-a-globally-distributed-blog-platform/lighthouse.png" alt="Lighthouse Performance Scores" /%}
369+ {% image
370+ src="https://cdn.arjunnambiar.dev/images/blog/i-built-a-globally-distributed-blog-platform/lighthouse.png"
371+ alt="Lighthouse Performance Scores"
372+ loading="lazy"
373+ decoding="async" /%}
364374
365375---
366376
0 commit comments