Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
151 changes: 151 additions & 0 deletions src/site/posts/2026-02-17-building-my-own-bookshelf.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,151 @@
---
layout: post
title: "I Built a Bookshelf (and It Turned Into a Time Capsule)"
tags: ["DIY", "Home Improvement"]
thumbnail: /uploads/2026-02-building-bookshelf/thumb_timeline.jpg
upload_directory: /uploads/2026-02-building-bookshelf/
---

I spend most of my time building things that live on screens.

This time I wanted to build something I could actually touch.

So I made a bookshelf for a weird little nook in my office.

It started as a practical project.
It ended up becoming something way more personal.
<!--more-->

## The problem: a space that nothing fits

The nook looked simple, but it wasn’t:

- **150 cm** wide
- height between **83 and 100 cm**
- only about **30 cm** depth available

Anything off-the-shelf was either too deep, too tall, or both. Custom furniture would work, but the price didn’t make sense.

So I did what every overconfident software guy does at least once: “I’ll build it myself.”

![](/uploads/2026-02-building-bookshelf/inspiration-video.jpg)
*The YouTube rabbit hole that started this whole thing.*

## Planning a woodworking project like a software project

I’m not a trained carpenter, so I leaned on what I know: planning.

I mocked up the shelf in Figma first. Nothing fancy, just enough to check proportions and avoid obvious mistakes.

![](/uploads/2026-02-building-bookshelf/figma-sketch.jpg)
*Rough Figma sketch to validate dimensions before buying materials.*

Then I did the classic nerd move: capacity math.

- average book width: **2.5 cm**
- usable shelf width: **144 cm**
- around **57 books per shelf**
- roughly **171 books total**

In theory, this shelf should have lasted a while.

## “Will it sag?”

That question lived in my head for days.

I used [The Sagulator](https://woodbin.com/calcs/sagulator/) (still one of the best tool names on the internet) with conservative assumptions:

- unsupported span: **56 cm**
- load per shelf: **~10 kg**
- board thickness: **18 mm**

Outcome: negligible sag. Good enough for me.

![](/uploads/2026-02-building-bookshelf/sagulator-calculations.jpg)
*Quick stress test before committing to the build.*

## Materials + cost

I built it from two large wooden panels and cut all parts from those.

| Description | Cost |
|-------------|------|
| Meubelpaneel 250x60 (2 stuks) | €83,98 |
| Black screws for gyproc (200 pieces) | €8,79 |
| Afplakband (5m, black) | €6,29 |
| Set of wood drills + accessories | €9,99 |
| **Total** | **€109,05** |

For custom furniture that fits perfectly: I’ll take that.

## Build day (with very non-professional tools)

No workshop. No table saw. No laser-guided anything.

Just a hand saw, a drill, and patience.

The cuts were not machine-perfect, but assembly went smoothly and the structure came out solid.

![](/uploads/2026-02-building-bookshelf/finished-shelf.jpg)
*Built, assembled, and finally in place.*

## It stopped being “just a bookshelf”

At first it was meant for books.

Then it slowly became a display of things that matter to me:

- Formula 1 items (including my Spa access card)
- an old Macintosh Plus
- gifts from colleagues
- gifts from my kids
- nostalgic pieces like Tintin and LEGO Saturn V
- and yes, still books

![](/uploads/2026-02-building-bookshelf/filled-shelf.jpg)
*Some shelves store books. This one stores stories.*

## The ironic part

I did all the calculations. I planned for capacity.

And I still ran out of space faster than expected.

Not because the design failed — because the shelf turned into a memory wall as much as a bookshelf.

## Why this project hit differently

Shipping software is satisfying.

But stepping back and looking at something physical you built yourself? Different feeling.

It’s imperfect. You can spot little flaws. A cut here, a tiny misalignment there.

I love that.

It doesn’t look mass-produced. It looks made.

![](/uploads/2026-02-building-bookshelf/shelf-detail.jpg)
*Not flawless. Still one of my favorite things in the room.*

## What I learned

- Weird spaces are often better solved with DIY.
- You can get far with basic tools if you plan well.
- Upfront thinking saves real pain later.
- Minor imperfections are part of the charm.
- Shelf space disappears faster than you think.

![](/uploads/2026-02-building-bookshelf/filled-with-books.jpg)
*Originally built for books. Now it carries a lot more than that.*

## Would I do it again?

Without hesitation.

I already have a shortlist of next projects.

And if I build another shelf, I’m not pretending it’ll be only for books this time.

![](/uploads/2026-02-building-bookshelf/shelf-overview.jpg)
*One custom shelf. A whole timeline on display.*
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading