BuildJan 2026

BuildJan 2026

BuildJan 2026 is a personal January challenge where I commit to learning or building one small thing every day and logging it publicly.

December 31, 2025

Day 01

What I did today

    1. Implemented data fetching in Next.js Server Components
    1. Passed async data to Client Components and rendered it correctly
    1. Revised Node.js working (event loop, request–response flow)
    1. Light exam prep: Big Data basics

BuildJan Day 01 – Next.js data fetching

Data fetching implemented in Next.js using both Server Components and Client Components.

Day 02

What I did today

    1. Read blogs on Cloud Computing, Serverless, and Edge Computing to understand deployment models.
    1. Built a simple CPU Monitoring Terminal App using Node.js and the built-in os module to track system performance
    1. Continued Big Data preparation for semester exams (core concepts & fundamentals)

Alt text

  • CPU monitoring terminal application built with Node.js, displaying real-time system statistics using the os module.
Day 03

What I did today

    1. Studied Machine Learning and Big Data for my end semester exams
    1. Practiced building an OTP Input component (focus on UX and input handling)

Practice Work : OTP Input Practice

Day 04

Low-output day

What I did today

  • Studied Machine Learning for my end semester exam scheduled for tomorrow
Day 05

Exam Day

BuildJan Day 05 – useReducer cart example

What I did today

  • Practiced React useReducer hook
  • Built a basic cart example to understand state transitions
Day 06

Exam Preparation Day

What I did today

    1. Prepared for Big Data Analytics exam
    1. Revised R programming basics required for the exam
Day 07

Exam Day

What I did today

  • Appeared for the Big Data Analytics end semester exam
Day 08

Exam Preparation Day.

What I did today

  • Prepared for Robotics end semester exam
  • Covered a heavy syllabus
Day 09

Exam Day

What I did today

  • Appeared for the Robotics end semester exam
Day 10

Getting back on track.

What I did today

  • Started reading Building Microservices by Sam Newman
  • Read the basics to get an initial understanding of microservices
Day 11

BuildJan Day 11 – Docker practice

What I did today

  • Continued reading Building Microservices by Sam Newman (basics section)
  • Practiced basic Docker commands
  • Pulled an Ubuntu image and ran a container locally
Day 12

BuildJan Day 12 – Docker image published to Docker Hub

What I did today

  • Learned how to create a custom Docker image
  • Built a Node.js application image using a Dockerfile
  • Published the Docker image to Docker Hub

Docker Hub Link

Day 13

BuildJan Day 13 – React app containerized with Nginx

What I did today

  • Practiced how to containerize a React application
  • Used Nginx to serve the React build inside a Docker container
Day 14

What I did today

  • Learned how to add a load balancer to an Express.js application
  • Implemented Nginx as a load balancer to distribute traffic across multiple server instances

Practice Work

Day 15

What I did today

  • Cleared some doubts around Docker Compose
  • Practiced running PostgreSQL and Express.js backend containers
  • Connected the Express backend with PostgreSQL using Docker Compose

Practice Work

Day 16

What I did today

  • Revised and practiced Docker concepts learned so far
  • Revised and practiced FastAPI fundamentals
  • Worked with Pydantic for request validation and data modeling

Practice Work

Day 17

What I did today

  • Practiced Pydantic for data validation and schema modeling
  • Experimented with defining models, field types, and validations

Practice Work

Day 18

Status

Low-output day.

What I did today

  • Took a break and went out
Day 19

What I did today

  • Practiced and learned Redis integration with Express.js
  • Used Redis for caching and basic data operations
  • Ran Redis alongside Express using Docker

Practice Work

Day 20

What I did today

  • Practiced and learned how asynchronous communication works in a microservices architecture
  • Implemented Redis Pub/Sub for inter-service communication
  • Used FastAPI services to demonstrate async messaging

Practice Work

Day 21

What I did today

  • Built a simple microservices project using an API Gateway
  • Implemented:
    • Blog Service using Express.js
    • User Service using FastAPI
  • Connected all services using Docker

Project Links

Day 22

What I did today

  • Started working on a backend microservices project
  • Added basic authentication flow
  • Implemented logout functionality
  • Updated some initial project setup and configurations

Project Progress

Day 23

What I did today

  • Continued working on the FixitHub backend microservices project
  • Updated User Services logic
  • Refined internal flows related to user operations

Project Progress

Day 24

What I did today

  • Continued working on the FixitHub backend microservices project
  • Added Create Project logic
  • Implemented the core backend flow for creating new projects

Project Progress

Day 25

What I did today

  • Continued working on the FixitHub backend microservices project
  • Solved an existing User Invite bug
  • Added and finalized the User Invite logic

Project Progress

Day 26

What I did today

  • Continued working on the FixitHub backend microservices project
  • Added Accept / Reject Invite controller to complete the invite flow
  • Started working on the FixitHub frontend
  • Completed basic frontend setup using Next.js
  • Added initial Navbar component

Project Progress

Day 27

What I did today

  • Revised PostgreSQL fundamentals
  • Practiced writing queries using TablePlus
  • Implemented full-text search using PostgreSQL tsvector and tsquery

Proof of Work

BuildJan Day 27 – SQL practice using TablePlus

example.sql
1ALTER TABLE blogs 2 ADD COLUMN tsv tsvector GENERATED ALWAYS AS ( 3 to_tsvector('english', 4 COALESCE(author || '') || ' '|| COALESCE(title,'') || ' ' || COALESCE(content,'')) 5 )STORED; 6 7 --- 8 9 SELECT id as blog_id,title as blog_title,author as blog_author,content as blog_content,ts_rank(tsv,plainto_tsquery('english','coding')) AS rank FROM blogs 10 WHERE tsv @@ plainto_tsquery('english','coding') 11 ORDER BY rank DESC;
Day 28

What I did today

  • Continued working on the FixitHub frontend
  • Added the Hero Section to the landing page

Project Progress

Day 29

Status

Travel Day.

What I did today

  • Traveled back home
Day 30

What I did today

  • Continued building the FixitHub frontend
  • Implemented the Features section
  • Added Framer Motion animations for better UI interactions
Day 31

What I did today

  • Built the Login page for FixitHub
  • Added the Footer component
  • Continued improving overall frontend structure
BuildJan 2026 — Summary

BuildJan was a 31-day challenge to show up daily and make small, meaningful progress — even during exams, travel, and low-energy days.

Across the month, I worked on backend systems, Docker, Redis, microservices, databases, and frontend UI, focusing on real-world features rather than tutorials.

The biggest lesson wasn’t technical — it was learning that consistency matters more than intensity.

31 days. No disappearing.

BuildJan Snapshot

BuildJan 2026 Snapshot

Written with ❤️ by Akarsh Jha