- •5 mins reading time
Authoring Custom Elements in a Next.js App
The Intersection of Two Different Ecosystem
Since its creation, my blog has only been a React-exclusive app, which means it only renders a React component. How I store the blog post has changed a lot—from static HTML in a hosted database to markdown files in the same git repository—but the rendering engine stays largely the same.
Unlike most React powered blog, I don't use MDX. I write plain markdown files, but internally I call it MDC.
Read More - •10+ mins reading time
Dark Mode on the Web
UX, DX and Technical Exploration For Inclusive Dark Mode
For some people, dark mode is aesthetically more pleasing. On the other hand, there's a group of people (including me) that likes to read at night under dim lighting, or even in total darkness. Having the option to use dark theme reduces strain in the eyes and makes it more pleasant to read at. I personally doesn't care that much about the aesthetic aspect of the dark mode. I think of it as an accessibility feature.
Read More - •10+ mins reading time
Enhance TypeScript Code Samples with Compiler Diagnostic
Build-time Type Annotation and Syntax Highlighting using Twoslash and Shiki
The main reason I call my blog project Paper is because I want it to be a pleasant reading platform. I enjoy my kindle but reading from real book and actual paper feels like a better experience for me. When I built my blog platform, I kept thinking how to improve digital reading experience to compensate for lack of paper-like feeling for both hand and eyes.
Read More - •10+ mins reading time
Building progressively-enhanced iPadOS hover style in web
Using framer-motion for Animation & Transition
One of the key features from new iPadOS 13.4 announcement was that it finally has proper mouse and trackpad support. 1 thing that stood out to me was how the cursor morph to cover touchable areas. You might think it's just a glorified hover effect, but if you look closely, there are subtle visual cues that makes the behavior feels fluid and natural. One of them is how the highlighted area move slightly alongside cursor movement.
Read More - •6 mins reading time
Share latest post automatically in Twitter using GitHub Actions
Utilizing GitHub Actions Path Filter and CLI Composition
I'm inherently lazy, especially when it comes to menial tasks. Sharing my blog post to twitter after publishing it is not an exception. In the spirit of overengineering my blog platform, I decided to build an automation that handle this routine process for me. As all my posts are written in markdown and stored in a repo in GitHub, I guess using GitHub Actions makes sense. I've used Actions before with great success. This time, instead of using scheduling feature, I'm using commit hook.
Read More - •2 mins reading time
Serverless Scraper & Notification Service using GitHub Actions
Scheduled Workflow and Git Commit as Database Write
- •1 mins reading time
5 years
A Glimpse Into My Past, Present, and Future
- •9 mins reading time
TypeScript Madness
Unconventional TypeScript Usage in the New Traveloka Web Framework
- •8 mins reading time
The Invisible Framework
How I Built the Traveloka Latest Web Framework
- •5 mins reading time
Deploying Microservices using Now v2
How It Went From 1 Monolith to 6 Microservices & 4 Different Languages
- •7 mins reading time
Reimplement webpack raw-loader as babel-plugin-macros
Compile-Time File-System Access Without a Module Bundler
- •3 mins reading time
React Router and Flash State
Old Technique in a Modern Tech Stack
- •6 mins reading time
Easy Authentication in Express using Passport
- •4 mins reading time
Promise: The Less Interesting Part
- •3 mins reading time
Prevent Express from Crashing because of MongoDB Connection Problem
- •4 mins reading time
Designing New Syntax Theme for Atom
Encoding Aesthetic, Clarity, Consistency, and Focus in a Syntax Theme
- •8 mins reading time
From Express and React to Next
Refactoring My Blog Rendering Engine to Leverage Proven Solution
- •2 mins reading time
Github Gist inside Rich Text Editor
Dealing With Iframe and Browser Quirks
- •3 mins reading time
The Stack of Paper
- •1 mins reading time
Hello, Paper
Building a Custom Blog Platform From Scratch