โ† 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.