Musings

EngineeringSeptember 2026

Building the default I wanted.

The design choices I'm willing to defend, the ones I'm still unsure about, and where I borrowed from along the way.

Built to Hold Up, Not Just Look Good

Case Study

I wanted something on the internet that was actually mine. Not a link in a bio, not a template with my name swapped in, but a place I could point people to and say this is what I think, this is what I build, this is roughly how my mind works. I wanted to be seen as someone who takes technology seriously, and I wanted the site itself to be the proof of that, not just a list claiming it.

So before I opened an editor, I spent more time deciding what the site would not be.

I rejected anything that read as a WordPress or Webflow template with my name pasted over it. If a stranger could guess the builder in five seconds, I had already lost. I rejected a fully dark, moody, "hacker aesthetic" design too, the kind that only speaks to people already inside tech circles. I wanted the site to say something about who I am beyond the stack I use. And I rejected anything that felt AI generated with no fingerprints on it, the kind of clean that actually means nobody made any real decisions.

The decisions I am willing to defend

Astrojs was the first real decision, and it is the one I am proudest of. It ships close to zero JavaScript by default, which meant I could animate things properly, experiment with heavier packages, and not pay for it in speed the way I would have with something like React, where every image and every interaction adds weight the browser has to carry. I did not want a portfolio that looked good and then stuttered the moment someone scrolled.

For animation, I chose GSAP over Framer Motion on purpose. Most of the animation work on the web that actually impressed me was built on GSAP, not the easier libraries. It has a harder learning curve, and I chose it anyway, because I would rather master the tool that professionals reach for than get comfortable with the one that is simply convenient.

For content, I moved to Sanity instead of keeping everything hardcoded in the project. I wanted a point where publishing a new post does not mean touching my codebase at all, where the writing and the engineering are separate concerns that do not get tangled together over time.

The colors came last, and honestly, from somewhere personal. Gray and black are the colors I actually wear, so they became the base palette, and I paired them with a blue accent to keep the site from feeling flat or too severe.

What almost did not happen

At one point I nearly did not build a work section at all, because it felt like I had nothing worth showing. When I actually looked, I realized that was not true. I had real projects, finished and unfinished, and I had been holding myself to a standard where only a fully complete project deserved a place on the site. I dropped that rule. Some of what is on there now is still in progress, and I am comfortable with that. A site that only shows finished things is not honest about how building actually works.

Where I borrowed from

None of this came from nowhere. I studied designers and developers whose work I admire, particularly Huy Nguyen and the Tuozuo site, and pulled from images and references that shaped the direction without copying it outright. The grain animation moving across the background came directly from Bymonolog developed by Huy Nguyen, which is a small detail but one I kept coming back to while designing.

What I am still not sure about

I will say this plainly instead of pretending the site is finished. I am still unsure about the overall color balance and whether the scroll animations read as intentional or excessive. There is a flash of unstyled content near the bottom of the page that I have not fully solved yet. And the grain effect itself, the one I borrowed the idea for from Bymonolog, might be asking too much of the browser for what it adds visually. I am watching all of this rather than pretending it is settled.

The site is still in continuous development, and I think that is the right state for it to be in. I would rather ship something honest and keep refining it in public than wait for a version of "finished" that never actually holds up to scrutiny. Faith and code get the same scrutiny here, and so does the site that carries both.

Software, research and ministry. Faith and code get the same scrutiny.

Availability:Available for high-impact roles and consulting opportunities.

© 2026 Blessing Kodze

Built by hand