When I was filling out an online form today, I became unsettled by the choices presented in the “Age Group” selection: 18-24, 25-35, 35-54, 55+. It suddenly hit me that in just a few weeks, I will be entering the 35-54 range. This realization brought about a wave of emotions, including a sense of urgency to reflect on all the life lessons I learned so far and a desire to understand how to thrive in the years ahead.
I spend 3 hours at the gym every day, go on mountaineering and snowboarding trips every three months, work as a founding engineer at a Series A startup, and still have time for side projects like this blog post.
Someone recently asked me what’s my secret for getting all this done. How do I have time to do all these things?
In this blog post, I’ll share my secrets on how to be hyper-productive using some theories from business books I read and insights from science (e.g. three laws of thermodynamics), with examples from my experience climbing, training at the gym, and working as a software engineer.
The chat app is a table-stakes feature for any dating app. A responsive and reliable messaging experience encourages users to stay on the platform for communications. This is desirable from a trust and safety standpoint, as abusive messages produced on the platform can be effectively moderated and proper actions can be promptly taken.
In this article, we will explore the design of an offline-first chat app on the OkCupid website, in particular, how we achieved responsiveness by implementing optimistic UI design patterns and reliability by incorporating a messages cache to support offline-mode.
In classic implementations of a CRUD app, the client app makes a request to the server and only updates its display state if the server responds to the request. However, in many modern applications like chat apps and note taking apps, users expect the display state to immediately update after they initiate an action.
Quick response time from the server is not always achievable, especially when the user is on a slow network on a mobile device.
What I learned working at a mature startup that’s building new things but also has a ton of customers and products in production.
Introduction to TypeScript and guide for how to migrate your project from Flow to TypeScript.
This post is a WIP.
What is stress? Stress is your subconscious telling you that you have sh*t to do. Feeling stressed about your health? Go to the gym everyday. Feeling stressed about your financial situation? Get a more high paying job. If only things were that simple. In this post, I’m going to teach you how to get rid your stress by understanding where your stress is coming from, then come up with an action plan and execute actions to address the source of your stress. This is not another “top 10 things you can do to ….” article. I will be discussing specific algorithms and heuristics with roots in computer science and mathematics that can be followed for every step of your journey to eliminating the source of your stress.