Frontend
React Explained for Product ManagersPublished on Department of ProductEverything you need to know about the component-oriented library.
I enjoy writing about TypeScript, Rust, and web technology. Especially the subtle things that unblock engineers' daily work and inspire to strive for engineering excellence. Some of my articles are featured in publications such as Better Programming and Hacker Noon.
June 22, 2022
Frontend
React Explained for Product ManagersPublished on Department of ProductEverything you need to know about the component-oriented library.
May 30, 2022
Rust
Stress Testing Concurrent Features in React 18: A Case Study of startTransition & 3D RenderingReact 18 released the highly anticipated concurrent features. In this article, we are diving into a 3D visualization and discuss how to optimize its performance step by step with React 18's concurrent rendering.
March 30, 2022
Rust
I Built A Snappy Static Full-text Search with WebAssembly, Rust, Next.js, and Xor FiltersAfter migrating to Contentlayer, I started exploring how to use the content data to roll out a search feature for my portfolio. Inspired by some of the amazing open-source projects, I built my own full-text search engine in Rust and WebAssembly. It is fast, lightweight, and tons of fun to build!
March 7, 2022
Leadership
How to Plan A Project as A Principal Software Engineer: A Human-centered ApproachOperating as a principal software engineer is all about bringing engineering, business, and people close together. There are many things to consider in terms of time budget, resources, and even your own involvement when it comes to planning. I want to share with you how I think about the important questions to ask in the planning phase of the project.
February 4, 2022
Frontend
Building Better Next.js Static Sites with MDX and ContentlayerRecently I have been researching on reducing the effort to create a new article on my static website. I analyzed more and found out the friction was in my MDX usage with Next.js. After shifting to Contentlayer, publishing content becomes so effortless. I will show you how.
January 20, 2022
Leadership
From Frontend Developer to Principal Software EngineerI recently joined a European public company as a Lead Software Engineer. The role has a combined responsibility of Principal Software Engineer and Senior Engineering Manager. It is challenging but I was prepared. I want to share with you 50+ books and resources that help me in my journey.
January 13, 2022
Rust
Binary Tree Insertion in RustI was struggling with Rust's ownership when implementing a Binary Tree so I re-read about it. After taking my time understanding it and refactoring, I finally made a breakthrough😎 I'm very excited to share with you the awesome features in Rust I came across. You'll see interesting concepts like smart pointers and ownership.
December 28, 2021
Rust
Indexing Strings in Rust and TypeScript: A Case Study of StringText is essential in programming languages. String is the Rust's and JavaScript's definition to process text in written languages around the world. Through the simple concept of string indexing, we'll discuss how Rust and JavaScript process strings and how they handle the nuances in strings such as grapheme, or even emojis.
December 6, 2021
TypeScript
Writing Your Own TypeScript CLIWriting CLIs feels like a super power💯 You can write one too! I'll show you how to develop a CLI with TypeScript step by step and demonstrate how you can apply your CLI in CD/CI pipelines. We're going to uncover the power of Google Lighthouse and many more amazing npm packages!
February 9, 2021
Frontend
Rethinking the Next-gen Analytics Web App at trivagoPublished on trivago tech blogHow trivago Frontend Engineering revamped the company's Business Intelligence web application. After almost a decade, we decided to rebuild our in-house Business Intelligence web application to better support the organization. We successfully completed the project because we fundamentally challenged and re-thought all aspects of the project.
October 6, 2020
Performance
Using WebP for Better User ExperienceWebP is a modern image format that provides outstanding image quality with smaller image size. I'll show you how much you can benefit from it and how to setup your project for optimal developer experience.
March 18, 2020
Leadership
3 Principles to Triumph Your Software ProjectPublished on MediumPractical experience that shapes billion dollar enterprise. I have been very fortunate to take a part in important topics at trivago. We have brought groundbreaking changes in accommodation search. It was clear that our data-informed approach is the foundation to innovation. I want to share with you our learnings.
November 6, 2019
Frontend
Writing Better Marble Tests for Redux Observable and TypeScriptPublished on ITNEXTMarble testing is a brilliant way to test observables. It focuses on the behaviors of observables over time. The combination of test assertion and marble diagram let us visualize the progression of emitted values over time.
October 15, 2018
Engineering Culture
JavaScript Workshop with Kyle SimpsonPublished on trivago tech blogA recap of the 5-day JavaScript journey. It has been a couple of months since Kyle, author of the “You Don’t Know JS” series, visited our trivago headquarters and gave us a wonderful JavaScript workshop. It was such an enjoyable week, being able to meet Kyle in person and walk through his thinking behind the materials.
September 25, 2018
JavaScript
Intuitive Transducer in JavaScriptPublished on MediumWhat is transducing? Simply put, it’s a data transformation process without creating intermediate products. It’s like a pipeline. It’s your data on one end, and the pipeline transforms the data and produce your output on the other end.