โœฆ Latest writing

Thoughts, ideas &
stories worth telling

A space to write, reflect, and share โ€” one post at a time.

5Articles
2Total likes
โˆžIdeas left
All posts
5 posts
Featured

A Community Center Website

A full community center website clean design, fast load, deployed on Vercel. Built from scratch the way I build everything: intentionally, with attention to every detail. Fun fact: Ctrl+C + Ctrl+V is not web development. It's just borrowing someone else's bugs. ๐Ÿ˜… Someone copied my work issues and all deployed it before it was ready, then went quiet the moment things broke. No calls. No texts. Just silence. So I did what I always do. I built something better, shipped it, and moved on. That's the thing about original work it holds up. Copies don't. I'm not building to impress anyone. I'm building because it's the one thing that makes sense when everything else doesn't. If you've read my earlier posts you already know that. The brief for 2026 is simple: original work, for people who appreciate it. That's it. โœŒ๏ธ

๐Ÿ‘ 0๐Ÿ‘Ž 0
Article

The Blog Behind the Blog

This blog didn't start polished. It started as an idea a place to document the work, the lessons, and the season I'm in. But building the container turned out to be its own story worth telling. And it took me a whole month. A whole freaking month. The blog is built on Next.js. Not a template, not a starter kit a real application with its own config, its own structure, and its own set of problems to solve. Early on I was using SQLAlchemy as the ORM layer. It made sense at the time familiar, flexible, and I'd used it in my Flask projects. But it introduced friction I didn't want. Abstraction on top of abstraction, and it started to feel like I was fighting the stack instead of building with it. So I made the call to switch directly to PostgreSQL. Raw, clean, and honest. No middleman. Yes, I could have just kept SQLAlchemy. No, I will not be taking questions. Hosting the database was the next decision. I went with Vercel Postgres keeping everything under one roof. The database, the deployment, the environment variables all in one place. That kind of cohesion matters when you're a solo developer managing multiple projects. It meant I could push a change and trust that everything would talk to each other the way it was supposed to. Simple in theory. Absolutely not in practice. The next.config.js file became the heartbeat of the project. Image domains, environment handling, build configuration it's where the decisions live. Getting it right took iteration. A lot of it. More than I'd like to admit on a public blog. But once it clicked, the whole app felt solid. What I built is simple on the surface. A home page. Posts. An about page. An admin login. But underneath it, there's a real database storing real data, a deployment pipeline that works, and a configuration I understand from top to bottom. Was it supposed to take a month? Probably not. But that's how it went and I'd do it again.

๐Ÿ‘ 2๐Ÿ‘Ž 0
Article

I Built My Portfolio From Scratch Here's Why It Matters

My portfolio isn't just a website. It's proof. Proof that I can take a design from zero to deployment. Proof that I understand frontend, backend, and everything in between. And proof that even in the middle of a difficult season, I kept building. The site portfolio ( nahumk.vercel.app ) is built on Flask, deployed on Vercel, with a custom design I wrote myself. Dark mode, responsive layout, a blog, a projects page, and a contact form that actually works. But more than the tech, I wanted it to represent who I am โ€” someone who takes craft seriously, pays attention to detail, and builds things that look and feel intentional. It's a living document. I'm updating it as I build, learn, and grow. If you're a recruiter or a developer have a look. And if something you see there is useful to you, let's talk.

๐Ÿ‘ 0๐Ÿ‘Ž 0
Article

I Built a School Management System in 20 Days Here's What I Learned

When I started this project I didn't set out to build anything fancy. I just wanted to solve a real problem Kenyan schools are still managing students, fees, and exams on paper or clunky spreadsheets. I wanted to change that. So I built SchoolApp. In roughly 20 days I put together a full school management system built on Flask and PostgreSQL, with three user roles Admin, Bursar, and Teacher each with their own dashboard and permissions. Students, fees, exams, timetables. All in one place. The part that challenged me most was the M-PESA integration via Daraja API. If you've worked with Daraja you know it's not plug and play โ€” OAuth tokens, STK push, payment callbacks. It pushed my understanding of APIs to a new level, and I'm still refining it. Is it perfect? No. But it's live, it's functional, and it solves a real problem for a real market. That's what I'm building toward โ€” software that actually means something where I come from. Live demo: schoolapp-if2k.onrender.com

๐Ÿ‘ 0๐Ÿ‘Ž 0
Article

When Everything Falls Apart and You Keep Building Anyway

There's a version of this post where I only talk about the projects I'm working on and the skills I'm sharpening. Clean. Professional. Safe. But that's not the whole truth. The truth is I resigned from my job. Not fired I walked away, because I was financially drowning and mentally exhausted in ways I couldn't keep pretending weren't real. Around the same time I went through a laminectomy, and the recovery wiped out most of what I had saved. We live in a society where men don't talk about these things. You're supposed to have it together, or at least look like you do. So I carried it quietly. For a long time. What kept me going was building. Writing code. Creating things. Putting work out into the world even when the world felt indifferent. It's not glamorous. But it's mine. I'm not writing this for sympathy. I'm writing it because someone out there needs to know that hard seasons don't disqualify you they clarify you. I'm still here. I'm still building. And I'm open to opportunities.

๐Ÿ‘ 0๐Ÿ‘Ž 0