All Posts

I write mostly about Application development, tech related, and sometime about my personal life. Use the search below to filter by title.

  • Published on
    The blog provides a comprehensive guide on how to set up a personalized version of ChatGPT, tailored to specific datasets. It covers two primary aspects: the ingestion of targeted data and the creation of a chatbot interface that utilizes this data. The post is designed to be a step-by-step tutorial, complete with code references from an accompanying GitHub repository. While focusing mainly on text data, it also offers directions for integrating ChatGPT with other types of data sources, such as SQL databases and APIs, aiming to enhance the utility and customization of the ChatGPT model for individual users or specific applications.
  • Published on
    Designing good systems requires years of accumulation of knowledge. One shortcut is to dive into real-world system architectures. Below is a collection of helpful reading materials. We highly recommend you pay attention to both the shared principles and the underlying technologies. Researching each technology and understanding what problems it solves is a great way to strengthen your knowledge base and refine the design process.
  • Published on
    In recent years, cloud storage services such as Google Drive, Dropbox, Microsoft OneDrive, and Apple iCloud have become very popular. In this chapter, you are asked to design Google Drive.
  • Published on
    In this blog, you are asked to design YouTube. The solution to this question can be applied to other interview questions like designing a video sharing platform such as Netflix and Hulu.
  • Published on
    When searching on Google or shopping at Amazon, as you type in the search box, one or more matches for the search term are presented to you. This feature is referred to as autocomplete, typeahead, search-as-you-type, or incremental search. Figure 13-1 presents an example of a Google search showing a list of autocompleted results when “dinner” is typed into the search box. Search autocomplete is an important feature of many products. This leads us to the interview question: design a search autocomplete system, also called “design top k” or “design top k most searched queries”.
  • Published on
    In this blog, you are asked to design a news feed system. What is news feed? According to the Facebook help page, “News feed is the constantly updating list of stories in the middle of your home page. News Feed includes status updates, photos, videos, links, app activity, and likes from people, pages, and groups that you follow on Facebook” [1]. This is a popular interview question. Similar questions commonly asked are: design Facebook news feed, Instagram feed, Twitter timeline, etc.