"You do not rise to the level of your goals, you fall to the level of your systems." - James Clear
If a person wants to consistently do things well, they cannot do without a strong personal system. Investing requires a logical system, and investment research requires a research system. The most basic and suitable system for everyone is a personal information and planning system. This system helps individuals improve their output efficiency by creating a complete and efficient process for managing daily information flow and planning.
This article will share how I have built this system.
The software I use includes: Notion, Apple calendar, InstaPaper, Telegram, and Apple Books.
Planning#
I divide planning into three levels: Year goals, Sprint missions, and daily schedule.
Year goals are like New Year's resolutions. They remind you of the kind of person you want to become and what you want to achieve by the end of the year. Our more detailed plans are generally aligned with these goals. I use the To-Do list template in Notion to record them.
Sprint missions are used to schedule tasks for a specific period. They provide more specific details based on the year goals. The duration of a sprint can be flexibly arranged, and the specific tasks can be planned based on the completion of the previous sprint and the progress towards the annual goals.
I use the Sprint template in Notion to record them. This template has four elements: project, task, priority, and progress. People have multiple processes, and projects can be used to record these processes. Each process will have many tasks, which are like threads of a project. Priority is used to indicate the urgency of a task or project, with three levels: High, medium, and low. It can be used to divide main and sub-tasks. Progress is used to track the progress of a task, with three columns: Not started, in progress, and Done.
For example, in the next sprint, if I need to prepare for an interview, I can create a project called "Interview Preparation" and add tasks like "MySQL interview questions" and "MySQL high availability". As those who have used Notion know, each item can be a new page. This means I can provide more detailed information within the "MySQL interview questions" task, such as where I left off and how much I have covered.
The overall effect of a sprint is shown in the following image:
The "No project" is a default project in the template. When you create a task that doesn't belong to any project, it will be assigned to the "No project" by default. I use it to store tasks that are part of my routine and don't change much from one sprint to another.
The daily schedule is the most basic level of daily planning. At the end of each day, I like to write down my schedule for the next day on Apple calendar. Each task should have a clear time allocation and specific labels to indicate its attributes. I also try not to schedule my day too tightly because unexpected things always happen. Having some buffer time helps ensure the stability of the system, which is a knowledge of system design.
In addition, I have an additional record sheet for daily reflections. It serves as a review of the day and includes links to any materials I have read or written.
Information Flow#
For files, iCloud or Google Drive are already powerful and efficient enough.
For platforms like Reddit, I save valuable information I come across into relevant folders. Particularly good ones are also saved in a Telegram group I created, which is like a "favorites" collection for me.
For web resources such as blogs, high-quality articles, and useful tool websites, I categorize them into two levels: database and cache.
In the database level, the goal is to store resources in a categorized and persistent manner. I use the Docs template in Notion to create multiple categories and place different web resources in their respective categories. For example, if I come across a blog about network traffic shaping and UDP, I would title the page "Network Traffic Shaping and UDP" and place it in the "Computer Networks" category.
The final result looks like this:
In the cache level, the focus is on quickly accessing materials that I am about to read. For me, they don't necessarily need to be categorized, but they must be accessible across multiple devices to adapt to different scenarios.
I use InstaPaper to achieve this level. InstaPaper supports multi-device operations, and I can add resources by simply adding their URLs.
It also supports highlighting and adding notes to articles.
Additionally, there are two special requirements:
-
For reading e-books, my process involves Z-library, a Telegram bot, and Apple Books. For a more detailed process, you can refer to the following article: Building Your Own E-Library with Zlibrary + Telegram
-
For archiving web pages, you can use the following open-source project, which can be self-hosted using Docker and is very convenient: ArchiveBox
Conclusion#
As mentioned at the beginning of this article, there is a close connection between building a personal system and improving output efficiency. A good system can help us in many ways. However, the most important thing is to continuously build and adjust a system that suits ourselves based on actual circumstances. Additionally, high-quality input and output requirements are essential. After all, without input and output, even the best system has no practical use.