Chapter 2: Beginning Your Pet Projects Adventure - The Development


3 min read

Hey guys,

Chapter 2 is here finally. And yes, I am still working on my next pet project, deeply in the development phase at the moment ๐Ÿ˜‰

Previous chapter:

Create new project

Hitting the "New Project" button is the most crucial step after you've conceived the idea and determined what you want to do next. If you don't, you'll never get started ๐Ÿฅน

New Project

This is just a sample picture to see where the "New Project" button is located ๐Ÿ˜†


  • When I do the initialization, I always try to look up some popular templates. Save some of your time. For instance:

    • Vue 3 + Vite + TailwindCSS template

    • NodeJS + Express template

    • ...

  • Always prioritize new technology, not only by learning about it but also by gaining hands-on experience, which is incredibly valuable and legitimate.

    • Can be:

      • New programming languages

      • New frameworks

      • New cool libs?

      • ...

  • Always consider trying a new database engine. For instance, I have been using MySQL (or MariaDB) for years, and now I am exploring a fantastic new database called SurrealDB.

    • Same reason as above.

For example, my previous projects were using PHP & Laravel. Now I'm using a new thing: Node & TypeScript.

Project planning & To-do list

Since the project could potentially become your next startup product, strive to make it as professional as possible.

Not only does it help you organize tasks, but it also allows you to learn valuable skills from project management.

Choose a Project Management Platform

We have various platforms nowadays. Free is also included. Some of my suggestions:

I've been using Trello for years. It's a straightforward & friendly platform that enables me to create tasks quickly, utilize drag-and-drop functionality, and take notes at any time.

Create tasks

Let's attempt to create numerous tasks. Instead of creating large tasks, break them down into several smaller tasks.

By adopting this approach, you can allocate your time to complete 1 to 3 small tasks per day, making it easier to accomplish. This will lead to significant progress over time.

Completing a large task requires tackling many elements simultaneously, which can be difficult to manage. Handling one or two major tasks initially may be manageable, but over time, your productivity may gradually decrease and eventually come to a halt.

This is also the way to keep the PR small (small PR rules) ๐Ÿ˜†

Example tasks that I would create for a feature:

  • [Feature] Authentication

    • T1: Init DB tables

    • T2: Create types & mapping between app & db

    • T3: Create a repository for DB

    • T4: Create login logic

    • T5: Generate JWT token

    • T6: Create auth middleware

    • ...

Create Milestones

Create some milestones for your project. For every milestone reached, celebrate the hard work (ta-da, beer time ๐Ÿป)

A milestone doesn't have to include multiple big features, just saying ๐Ÿ˜‰.

Get into the work

Well, what are you waiting for? Let's get started.

Maintain a steady pace; even small progress is commendable because you achieved it ๐Ÿ˜†. I can give you some advice:

  • 1~2 tasks/day

  • 1 commit a day

Chapter Close

Thank you for reading! I'll return to my work now and will begin Chapter 3 once it's completed ๐Ÿ˜†