I Have 880,000 Lines of Code, and I Trust Half of Them

An 18-year-old software developer in Nairobi pitched his massive, 880,000-line school management system to a room of administrators, only to hit a crushing 404 error on the dashboard because he forgot to actually build it.


This content originally appeared on HackerNoon and was authored by Jason Kerama

A cautionary tale from someone who built an empire on sand and is now staring at the ocean.

\ So here's a tale from Nairobi, Kenya.

\ I was walking to meet my very first client five months ago, wearing my best shirt. It was the one that didn't have any visible stains if you squinted hard enough, which, in my wardrobe, qualified as formal wear. I'd rehearsed my pitch in front of the mirror so many times that my reflection had probably started charging consulting fees.

\ By the time I reached the school gate, I genuinely believed I was about to change education in Kenya. Or, at the very least, convince one school that a teenager with a laptop knew what he was doing.

\ The confidence lasted exactly until I walked into the boardroom.

The Boardroom From Hell

I'd imagined sitting across from one or two administrators. Maybe a bursar if I were unlucky.

\ Instead, there were deputy principals, principals, members of the administration, and a computer technician standing near the back with his arms folded. He had that expression technicians seem to be born with—the one that says, "I've already decided this won't work, now I'm just waiting for you to prove me right."

\ I don't know what convinced them that someone who had only recently finished high school deserved this much attention, but there I was, trying to look older than I was while my laptop slowly booted. You know that feeling when you're 18 and trying to project "serious software architect" energy, but your voice keeps cracking?

\ Yeah. That was my morning.

\ The product was called ScholarPlus. It was actually my second major system, although "major" is a generous word when your entire development team consists of one sleep-deprived teenager who alternates between writing code and wondering why the code he wrote yesterday suddenly hates him.

\ I'd spent three months building it. Three months of waking up thinking about database schemas and going to bed thinking about user authentication. It handled attendance, examinations, fees, grading, parent communication, reporting—basically everything except making tea, although I probably would've tried if another client had asked for it.

The 404 That Changed Everything

Everything went smoothly until I clicked "Login."

\ The login worked perfectly. I remember that because I was absurdly proud of it. I'd spent days polishing the authentication flow, hashing passwords, validating sessions, and making sure users couldn't wander into places they weren't supposed to.

\ The login page disappeared exactly as planned.

\ Then the browser landed on a 404.

\ It wasn't a server issue. It wasn't the internet. It wasn't some mysterious production bug that only appeared under a full moon.

\ The dashboard simply… didn't exist.

\ Somewhere in my head, I had already built it. I'd imagined the graphs, the colourful widgets, the little cards showing attendance statistics and fee balances. I'd pictured myself clicking through pages while everyone nodded in approval.

\ Unfortunately, imagination doesn't compile.

\ At some point during development, I'd become so engrossed in getting people into the system that I'd forgotten to build where they were supposed to go afterwards.

\ I looked at the screen. Then at the principal. The principal looked at me, then back at the screen.

\ Nobody said anything for what was probably only a few seconds, but it felt like enough time for me to rethink every decision I'd made since downloading my first programming tutorial.

\ Then, because apparently humiliation shuts down the intelligent part of the brain first, I said:

\ "That's not supposed to happen."

\ Of course, it wasn't supposed to happen.

\ That's why we were all staring at it.

The Technician Didn't Even Laugh

The principals laughed. I laughed too, mostly because crying in front of prospective clients seemed unprofessional.

\ The only person who didn't laugh was the computer technician. He simply stood there with his arms crossed, wearing the sort of expression usually reserved for people who've warned you not to touch an exposed electrical wire. It wasn't anger. It wasn't amusement either. It was disappointment, mixed with just enough pity to make me wish he'd simply laughed instead.

\ I still think about that look.

\ I think about it more than I'd like to admit.

\ The demo recovered eventually. I skipped the dashboard, improvised my way through the rest of the system, answered a few questions, thanked everyone for their time, packed my laptop, and walked out pretending everything had gone according to plan.

\ I don't remember the journey home.

\ I remember the feeling, though. It was that horrible sensation of realizing that all the confidence you'd carefully assembled over months could disappear because of one page you forgot to create.

The Realization That Hit Later

The strange thing is that the 404 wasn't really the problem.

\ It was a symptom.

\ At the time, I blamed nerves. Then I blamed the technician for walking in at exactly the wrong moment. For a while, I blamed the universe because blaming metaphysics is much easier than blaming yourself.

\ Eventually, though, I opened the project again and started wandering through the codebase. I wasn't looking for bugs anymore. I was trying to remember how it all worked.

\ That should have been easy.

I'd written every line myself.

\ Instead, I found entire sections where my first reaction was, "Who wrote this?" followed almost immediately by the deeply unsettling realization that the answer was me.

880,000 Lines of "What Was I Thinking?"

I'd started programming in high school with tiny PHP projects that slowly evolved into larger systems. One became two. Two became five. Schools needed finance modules, so I built finance modules. Someone wanted inventory, so I built inventory. Another institution asked about healthcare workflows, then compliance, then auditing.

\ Every client request became another feature, every feature became another subsystem, and every subsystem quietly joined the pile. Before I really noticed what was happening, I had accumulated almost 880,000 lines of code spread across systems with names that sounded much larger than the room I was writing them in.

\ For a long time, that number made me proud. Eight hundred and eighty thousand lines sounded like something a serious software company would have. I imagined investors hearing that number and nodding approvingly. I imagined clients assuming that more code meant more capability.

\ Somewhere along the way, I'd convinced myself that building software was a game where the score was measured by the size of the repository.

\ The funny thing is that nobody ever asked how many lines of code I'd written.

\ They asked whether backups worked.

\ Whether parents could receive SMS messages.

Whether fee statements could be exported to Excel.

Whether the system could survive power outages.

Whether teachers would need training.

\ Nobody—not once—looked at me and said, "Jason, before we proceed, approximately how many lines of PHP does this application contain?"

\ The only person who cared about that number was me.

\ And even I had started trusting only half of it.

The "Bright Kid" Curse

Around the same time, I started meeting investors.

\ Those meetings were almost always pleasant. We'd sit in coffee shops or offices overlooking Nairobi, talk about education, software, digitisation, artificial intelligence, and all the exciting things people in technology enjoy talking about. I'd demonstrate my systems, explain the business model, answer questions, and usually leave feeling cautiously optimistic.

\ A few days later, the answer would arrive.

\ Sometimes politely.

Sometimes enthusiastically.

\ Usually beginning with the words, "You're a bright kid."

\ It's a wonderful compliment until you've heard it enough times to realize it's often another way of saying, "Not yet."

\ I don't even resent those conversations anymore. If anything, I understand them better now than I did then. Imagine you're responsible for writing a cheque with several million shillings attached to it. Across the table sits someone who still looks young enough to be mistaken for a first-year university student. He speaks passionately, shows you software that mostly works, tells you about enormous ambitions, and occasionally admits that he built everything from his bedroom.

\ Would you write the cheque?

\ \ I'm honestly not sure I would.

\ That was the frustrating part. The code didn't know how old I was. Linux certainly didn't care. PHP never refused to execute because it felt the developer lacked life experience. The only place age seemed to matter was the room where decisions were made.

\ For a while, I found that deeply unfair.

\ Then I realized the market has no obligation to be fair.

\ It only has to decide whether it trusts you.

\ Unfortunately, trust isn't something you can put in a slide deck. It's something you earn, one successful deployment at a time.

\ Or lose with a single forgotten dashboard.

The Hamster Wheel We're All On

Here is the part they don't tell you about building software in this part of the world.

\ The graduates fresh out of university are everywhere. They walk around with their degrees and their certificates and their LinkedIn profiles that say "Open to Work." They talk about disruption and innovation and blockchain and all the buzzwords that make investors open their wallets. They've been told their whole lives that a degree is the ticket to success, that if they just study hard enough and get good enough grades, the world will open its doors for them.

\ And then they graduate and discover that the world has a different plan.

\ I watch them sometimes, the ones who went to university while I stayed home and wrote code. They're smart. They're driven. They know all the theory I never learned. And they're sending out hundreds of applications, attending networking events, hoping someone will give them a chance.

\ Meanwhile, I'm sitting in coffee shops, asking for twenty-five thousand dollars, and being told I'm a bright kid.

\ We're all on the same hamster wheel.

\ The only difference is that they have certificates to wave around while they run.

The Part Where I Started Building Differently

I've applied for grants and fellowships. I've applied for everything. I've filled out forms until my fingers hurt. I've written essays about my vision, my passion, my commitment to building technology for Africa. I've sat through interviews where people nodded and smiled and said encouraging things.

\ And then they gave me coffee instead.

\ Or lunch.

Or a pat on the back.

Or that wonderful phrase: "You're a bright kid."

\ I used to think that if I just explained my vision clearly enough, someone would understand. If I just showed them the code, the systems, the clients I'd already served, the problems I'd already solved, someone would see the potential. If I just had more data, better presentations, fancier slide decks, someone would finally write that cheque.

\ I don't think that anymore.

\ I think investors are looking for something I can't give them yet.

\ I think they're looking for grey hair, or a university degree, or a track record that spans decades instead of years. I think they're looking for someone who looks like the founders they've seen succeed before. I think they're looking for safety, and I don't look safe.

\ I look like a teenager who built a system in his bedroom and forgot to create the dashboard.

\ Which, to be fair, is exactly what I am.

So I Started Building Infrastructure

The thing about being young in this industry is that everyone assumes you're temporary.

\ They assume you'll get bored and move on to the next shiny thing. They assume you don't understand the weight of what you're building. They assume that because you haven't been doing this for twenty years, you can't possibly understand the stakes.

\ But I understand the stakes.

\ I understand that if a financial system fails, people lose money. If a school system fails, students lose records. If a healthcare system fails, people might lose their lives. I understand that building software for institutions isn't a game. I understand that every line of code carries responsibility.

\ That's why I started building aggressively on infrastructure. Not UI. Not Dashboards. Baremetal Systems. I read a ton of books on Health Information Systems Triage. I suspect I'm halfway to being a doctor right now.

\ With ScholarPlus, it was the same. This time, with teaching, how ministries work. Budgets, Reporting, Discipline, Students. That's where real systems programming is. The UI was once flashy. I don't know what got over me—I keep things minimal now. Its usefulness, right?

\ Because I wanted to trust my code.

\ Because I wanted to build something that wouldn't give me a 404 in a client meeting. Something that would do exactly what it was supposed to do, every single time. Something that would make me look like I knew what I was doing, even when I didn't.

Here's The Part Where I Might Be Lying To Myself

Here is what I've learned from all of this:

Before I write much production code, I spend most of my time designing systems—mapping workflows, defining business rules, modelling data, and understanding how the institution actually operates.

\ My applications usually start as console-based systems. Once the underlying logic is stable, I build the interface around it, using AI to accelerate much of the front-end implementation.

\ I've approached AccountPlus, ScholarPlus, and HumpSoft Health the same way. Along the way, I've also had to shelve modules that didn't meet the standard I wanted.

\ Take HumpSoft Health. I spent three weeks designing roughly 700 functional modules and more than 3,000 business functions that the platform would eventually support. Most of that work wasn't programming—it was understanding hospital operations well enough to model them coherently.

\ It's the work I'm most confident in. Not because it's revolutionary, but because I understand every assumption behind it, and I trust it.

Or So I Tell Myself

Building software is easy. Building systems is hard. Building systems that people trust is almost impossible.

\ I've got 880,000 lines of code. I trust maybe half of them. The rest are like that friend who says they'll help you move and then shows up with a broken arm and a smile. They're there, technically. They're doing something, technically. But you wouldn't bet your life on them.

\ I don't want to walk into boardrooms praying that the demo works. I don't want to look at my own code and wonder who wrote it. I don't want to be the bright kid who never quite makes it.

\ So, I'm building differently. I decided to adopt not the star-sprinkled "this is going to change the world" approach. I don't know any companies doing my line of work ever made the news, but suddenly, people thought they always existed.

\ I'm building something I can trust.

\ Something that will survive the demos and the investors and the computer technicians with their crossed arms and disappointed looks.

\ Something that will finally get me off this goddamn hamster wheel.

\

  1. Nobody cares about your lines of code. They care if the SMS goes out, the fees are calculated correctly, and the system survives a power cut.
  2. The 404 wasn't the problem. It was a symptom of building faster than I could understand. I was so focused on getting people into the system that I forgot to build where they were supposed to go afterwards.
  3. "You're a bright kid" is investor-speak for "not yet." It's not unfair. It's just the market calculating risk. And right now, I don't look like a safe bet.
  4. Volume is not value. 700 modules in three weeks isn't depth. It's noise. And noise doesn't earn trust—it erodes it.
  5. The technician was right. He didn't laugh because he wanted me to fail. He didn't laugh because he's seen this before. He's seen 100 "bright kids" with 880,000 lines of code and no dashboard. He's seen the ones who blamed the internet, blamed the laptop, blamed the principal. He's seen the ones who never came back.

\ I came back.

I opened the project and asked, "Who wrote this?"

And I stayed.

\ That's not temporary.

That's the start of something that looks a lot like trust.

The Ocean Isn't Going Anywhere

I'm still staring at the ocean. The empire I built on sand is still washing away.

\ But I'm building differently now.

\ Smaller. Deeper. Slower.

\ One module at a time. One test at a time. One restored backup at a time.

\ I'm building the thing that even the technician can't break.

\ And when it's ready, I'll show him.

\ He'll unfold his arms eventually.


This content originally appeared on HackerNoon and was authored by Jason Kerama


Print Share Comment Cite Upload Translate Updates
APA

Jason Kerama | Sciencx (2026-07-06T23:01:59+00:00) I Have 880,000 Lines of Code, and I Trust Half of Them. Retrieved from https://www.scien.cx/2026/07/06/i-have-880000-lines-of-code-and-i-trust-half-of-them/

MLA
" » I Have 880,000 Lines of Code, and I Trust Half of Them." Jason Kerama | Sciencx - Monday July 6, 2026, https://www.scien.cx/2026/07/06/i-have-880000-lines-of-code-and-i-trust-half-of-them/
HARVARD
Jason Kerama | Sciencx Monday July 6, 2026 » I Have 880,000 Lines of Code, and I Trust Half of Them., viewed ,<https://www.scien.cx/2026/07/06/i-have-880000-lines-of-code-and-i-trust-half-of-them/>
VANCOUVER
Jason Kerama | Sciencx - » I Have 880,000 Lines of Code, and I Trust Half of Them. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2026/07/06/i-have-880000-lines-of-code-and-i-trust-half-of-them/
CHICAGO
" » I Have 880,000 Lines of Code, and I Trust Half of Them." Jason Kerama | Sciencx - Accessed . https://www.scien.cx/2026/07/06/i-have-880000-lines-of-code-and-i-trust-half-of-them/
IEEE
" » I Have 880,000 Lines of Code, and I Trust Half of Them." Jason Kerama | Sciencx [Online]. Available: https://www.scien.cx/2026/07/06/i-have-880000-lines-of-code-and-i-trust-half-of-them/. [Accessed: ]
rf:citation
» I Have 880,000 Lines of Code, and I Trust Half of Them | Jason Kerama | Sciencx | https://www.scien.cx/2026/07/06/i-have-880000-lines-of-code-and-i-trust-half-of-them/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.