Recently Published
- •34 mins read
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 - •31 mins read
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 - •12 mins read
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 - •4 mins read
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 read
Serverless Scraper & Notification Service using GitHub Actions
Scheduled Workflow and Git Commit as Database Write
When GitHub announced Actions few months ago, I was really excited. One of the interesting feature was the ability to create a scheduled workflow using cron syntax. Of course, cronjob is not a new technology, but the ability to run cron without having to manage server while at the same time integrates nicely with GitHub API is pretty amazing. One thing immediately caught my mind:
Read more - •1 min read
5 years
A Glimpse Into My Past, Present, and Future
- •29 mins read
TypeScript Madness
Unconventional TypeScript Usage in the New Traveloka Web Framework
- •6 mins read
The Invisible Framework
How I Built the Traveloka Latest Web Framework
- •4 mins read
Deploying Microservices using Now v2
How It Went From 1 Monolith to 6 Microservices & 4 Different Languages
- •4 mins read
Reimplement webpack raw-loader as babel-plugin-macros
Compile-Time File-System Access Without a Module Bundler
- •1 min read
React Router and Flash State
Old Technique in a Modern Tech Stack
- •3 mins read
Easy Authentication in Express using Passport
- •2 mins read
Promise: The Less Interesting Part
- •2 mins read
Prevent Express from Crashing because of MongoDB Connection Problem
- •5 mins read
Designing New Syntax Theme for Atom
Encoding Aesthetic, Clarity, Consistency, and Focus in a Syntax Theme
- •6 mins read
From Express and React to Next
Refactoring My Blog Rendering Engine to Leverage Proven Solution
- •2 mins read
Github Gist inside Rich Text Editor
Dealing With Iframe and Browser Quirks
- •3 mins read
The Stack of Paper
- •1 min read
Hello, Paper
Building a Custom Blog Platform From Scratch