โ Back to all posts
How I Built My Blog from scratch
## ๐ Hi, I'm Ibrahim โ and This Is How I Built My Blog from scratch
Hi there ๐ Iโm **Ibrahim Bulle**, a student and tech enthusiast who loves building things from scratch and learning how every part works.
I recently decided to build my own personal blog after finishing go backend course @boot.dev โ writing the entire thing myself.
Itโs been a fun and challenging project,till i came a cross one of Lane's blog https://blog.boot.dev/education/learn-to-code-the-slow-way/ thanks Lane and talks about how you should build things after learning the foundations here a bit of his advice that moved me
"๐Itโs not the advice you wanted Getting fit, giving up addiction, building a business, and yes, getting your first dev job are all hard. Donโt make it harder on yourself by wasting your time searching for shortcuts.
Learn evergreen foundational stuff, build projects that interest you, and youโll be amazed how far you can get in just a year or two of consistent effort."
and I started with go
## ๐ My Tech Stack Journey
When I started, I wanted something **simple**, **fast**, and **easy to maintain**. I didnโt want to depend on too many external tools โ I wanted full control over how everything worked.
Hereโs the stack I chose:
---
### ๐งฉ Backend โ Go (Golang)
I used **Go (Golang)** to power the backend.
Itโs simple, efficient, and perfect for building small web servers. With Go, I handle routing(chi), serve templates(html/template), and connect to the database โ all in one lightweight setup.
What I love most about Go is how fast and organized the code feels.
---
### ๐จ Frontend โ HTML, CSS & HTMX
The frontend is built with **HTML** and **CSS** for structure and design.
To make it more interactive, I added **HTMX** โ a small JavaScript library that lets me update page content without a full reload.
This made my blog dynamic and responsive without using frameworks like React or Vue.
---
### ๐๏ธ Database โ SQLite3
For storing posts and data, I chose **SQLite3**.
Itโs a file-based database โ no complicated setup, just a single `.db` file. Itโs reliable, lightweight, and ideal for small personal projects like this with (goose) for migrations and (sqlc) to generate me functional queries..
---
### โ๏ธ Deployment โ Railway.com
I deployed my blog on **Railway.com**, which made it simple to go live.
It supports my Go app, handles domains, and even shows logs and metrics โ all from one dashboard.
Watching my site finally load online was an amazing feeling ๐
---
### ๐ง What I Learned
This project taught me so much about full-stack development:
* Go makes backend development smooth and powerful.
* HTMX gives modern frontend behavior without heavy frameworks.
* SQLite is perfect for small, personal projects.
* Hosting doesnโt have to be scary โ once you deploy once, it gets easier!
---
### ๐ญ Final Thoughts
This blog is just the beginning.
I plan to keep improving it, adding features like comments, and maybe even user authentication in the future.
For now, Iโm just proud to have built it myself โ from code to deployment.