Blog

Blog

  • •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


© 2023 Fatih Kalifa. All rights reserved.