← All projects

Personal Blog Website

A personal blog and project portfolio built with NestJS and TypeScript, deployed to an AWS EC2 instance by a Jenkins pipeline that runs on every push. Docker builds the image, the tests run inside that image, and a named volume keeps posts, projects and uploaded photos alive when the container is replaced. It includes a Markdown editor with drafts and scheduling, a searchable project portfolio, an About page with a photo gallery, and an image pipeline that resizes on demand and builds social preview cards.

Personal Blog Website

This repository is the blog you are reading, together with the pipeline
that puts it on the internet.

The application. NestJS renders every page on the server with no view
engine — the HTML lives in TypeScript template literals. Posts, projects,
About content and settings are stored as JSON written atomically to a
mounted Docker volume, so nothing is lost when a deploy replaces the
running container.

The pipeline. A declarative Jenkins pipeline checks out the code,
builds a Docker image, runs the test suite inside that image, deploys to
EC2, and verifies the container answers before it reports success. It also
prunes old image tags, because an EC2 root volume fills faster than you
expect.

What it does. Markdown posts with drafts, backdating and future
scheduling; a portfolio whose technologies, topics, keywords and tags are
all clickable; an About page with a timeline and photo gallery; live
search; Open Graph previews built at 1200x630; a sitemap and structured
data.

Images. Uploads are resized on demand into cached WebP variants with
EXIF rotation applied, and pages ship gzipped with skeleton placeholders
while photos arrive.

Over 300 tests cover it. Most of them exist because something broke first.

Related projects

admin blog
2025· Completed

admin blog

A full-stack personal blogging platform built with Angular, ASP.NET Web API, SQL Server, and MongoDB, featuring secure authentication, blog management, comments, categories, and a responsive user experience.

Mila Mart
2026· Completed

Mila Mart

A bilingual (Bengali/English) full-stack e-commerce and operations platform for Mila Interior Solutions, a Dhaka-based home interior/decor business. It combines a public storefront (custom stickers, wallpapers, home-deco catalog, AI decor preview) with an admin back office for managing orders, finance, and site content — built as a single TypeScript codebase with a React frontend and an Express/tRPC backend on MySQL/TiDB.