<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Amon Ochuka</title>
    <description>The latest articles on DEV Community by Amon Ochuka (@amonoff).</description>
    <link>https://dev.to/amonoff</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3718940%2Fbe2a72ca-7ab5-4417-8f38-6e11befa8321.png</url>
      <title>DEV Community: Amon Ochuka</title>
      <link>https://dev.to/amonoff</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/amonoff"/>
    <language>en</language>
    <item>
      <title>The Rise, Pause, and Rise of CRUD Apps</title>
      <dc:creator>Amon Ochuka</dc:creator>
      <pubDate>Wed, 27 May 2026 07:19:46 +0000</pubDate>
      <link>https://dev.to/amonoff/the-rise-pause-and-rise-of-crud-apps-349o</link>
      <guid>https://dev.to/amonoff/the-rise-pause-and-rise-of-crud-apps-349o</guid>
      <description>&lt;p&gt;In the early days of the web, websites were mostly digital brochures. They were static HTML pages. You could read them, but you couldn't interact with them. If a business wanted to change a price, a developer had to manually edit code and re-upload the file via FTP.&lt;br&gt;
It was slow, expensive, and didn't scale.&lt;/p&gt;

&lt;p&gt;Then came the legendary LAMP stack (Linux, Apache, MySQL, PHP). Suddenly, the web became dynamic. The industry quickly realized that almost every business problem on earth;whether running a bank, an online store, or a social network,boiled down to four fundamental actions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create: Letting a user sign up or post a status.&lt;/li&gt;
&lt;li&gt;Read: Showing a user their profile or a product list.&lt;/li&gt;
&lt;li&gt;Update: Letting a user change their password.&lt;/li&gt;
&lt;li&gt;Delete: Letting a user close an account.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;By the mid-2000s, frameworks like Ruby on Rails, Django, and Laravel arrived. They turned CRUD into a science. With a single command line prompt (rails generate scaffold), a developer could spin up a fully functioning database table, back-end logic, and front-end forms in seconds.&lt;br&gt;
This was the first great rise. CRUD apps became the undisputed infrastructure of the global economy. They weren't flashy, but they were predictable and deeply tied to the absolute truth of the database.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Pause: The "CRUD is Boring" Mirage&lt;/strong&gt;&lt;br&gt;
Then, things got weird. Around 2015, the developer community collectively decided that simple, server-rendered CRUD apps were "boring." We entered the era of massive Single Page Applications (SPAs), microservices, GraphQL, and serverless hype.We started treating the database like something to be hidden behind ten layers of abstraction. Instead of a simple PHP or Rails script fetching a row from MySQL, we introduced a mountain of complexity:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The SPA Takeover: We moved the entire application logic to the browser. Suddenly, a simple user profile required React, Redux for state management, Webpack for bundling, and a massive JavaScript file that took 5 seconds to load on a mobile phone.&lt;/li&gt;
&lt;li&gt;The API Chasm: We separated the front end and the back end entirely. Now, to display a simple list of products, you needed a REST or GraphQL API layer, complex CORS configurations, and token-based authentication (JWT) just to talk to your own database.&lt;/li&gt;
&lt;li&gt;Microservice Madness: We broke monolithic apps into dozens of tiny services. A basic update operation now had to hop across three different servers, manage distributed transactions, and use Kafka queues just to change a user's email address.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We spent a decade over-engineering the front end just to realize that users still just want to fill out a form and hit submit. We swapped reliable server logs for confusing JavaScript console errors. We paused the simplicity of CRUD, and in return, we got total JavaScript fatigue.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Crypto &amp;amp; Blockchain Detour: An Append-Only Trap&lt;/strong&gt;&lt;br&gt;
As the web-development world was over-engineering the front end, the Web3 and blockchain movement emerged, promising to decentralize the entire internet. Enthusiasts claimed that the "shared ledger" would replace traditional databases entirely.&lt;/p&gt;

&lt;p&gt;But reality caught up quickly.&lt;/p&gt;

&lt;p&gt;A blockchain is fundamentally an append-only ledger. In CRUD terms, it is brilliant at Create and Read, but terrible at Update and Delete.&lt;/p&gt;

&lt;p&gt;Because data on a blockchain is immutable, it is incredibly slow and quite expensive for everyday operations. Worse, it creates a massive legal nightmare. Privacy frameworks like Europe's GDPR mandate that users have the "right to be forgotten"; a legal requirement to Delete data. Because you cannot delete data from a block, tech companies quickly realized they couldn't run a compliant business on a blockchain alone.&lt;/p&gt;

&lt;p&gt;The blockchain didn't kill the database; instead, decentralized applications (dApps) still had to be wrapped in traditional CRUD architectures to cache data, update states quickly, and manage local user profiles efficiently.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Second Rise: AI and the Return to Absolute Truth&lt;/strong&gt;&lt;br&gt;
Following the blockchain hype came the AI boom. Large Language Models (LLMs) can write code, analyze data, and build entire workflows in seconds. Prominent tech voices started declaring that apps were dead, and the era of the user interface was over.&lt;/p&gt;

&lt;p&gt;But once again, the industry hit the same foundational wall: &lt;em&gt;AI is probabilistic, but business is deterministic.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;AI can write poetry, but it still needs a SQL database to know where to ship your package. An LLM cannot guess a bank balance. It cannot "predict" a shipping address. AI models are stateless; they don't know anything for sure; they just guess the next most likely word based on probability.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tech is the User, CRUD is the Foundation&lt;/strong&gt;&lt;br&gt;
This realization has triggered the second rise of the CRUD app. We aren't throwing CRUD away; we are realizing it is the guardrail that keeps both AI and Web3 tethered to reality.&lt;br&gt;
The relationship has completely flipped: AI and blockchain are no longer trying to replace the CRUD app; they are becoming the users of it.&lt;/p&gt;

&lt;p&gt;When an AI agent "cancels your subscription," it executes a standard Update or Delete command via a regular API to a traditional database.&lt;/p&gt;

&lt;p&gt;When a smart contract processes a transaction, a traditional CRUD system reads the event to update a user's dashboard instantly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Ultimate Backup&lt;/strong&gt;&lt;br&gt;
Most importantly, CRUD apps are our absolute fallback. AI models hallucinate, prompt injections corrupt logic, and decentralized networks suffer from latency or high gas fees.&lt;br&gt;
When the advanced tech stack glitches or goes offline, humans cannot be left staring at a broken terminal. We need a direct, unabstracted, deterministic interface to view, edit, and fix the underlying data manually.&lt;/p&gt;

&lt;p&gt;We need a CRUD app as our ultimate backup.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion: Boring is Beautiful Again&lt;/strong&gt;&lt;br&gt;
The tech industry went on a decade-long detour. We ran away from CRUD because it felt too simple, hiding it behind over-engineered JavaScript frameworks, distributed ledgers, and autonomous AI.&lt;/p&gt;

&lt;p&gt;But the loop has closed. We are entering an era where "boring" software is beautiful again. Frameworks like Next.js, Remix, and HTMX are booming because they bring us back to simple, server-rendered data management.&lt;/p&gt;

&lt;p&gt;No matter how smart the AI gets or how decentralized the ledger becomes, the world will always need a rock-solid database to store the absolute truth. And humans will always need a CRUD app to make sure that the database is backed up.&lt;/p&gt;

&lt;p&gt;Long live the CRUD app.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>architecture</category>
      <category>ai</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Kiboko to Sherehe(polite): From Strict Go Rules to JavaScript Chaos</title>
      <dc:creator>Amon Ochuka</dc:creator>
      <pubDate>Thu, 07 May 2026 17:53:56 +0000</pubDate>
      <link>https://dev.to/amonoff/kiboko-to-sherehepolite-from-strict-go-rules-to-javascript-chaos-350m</link>
      <guid>https://dev.to/amonoff/kiboko-to-sherehepolite-from-strict-go-rules-to-javascript-chaos-350m</guid>
      <description>&lt;p&gt;Growing up in a typical strict African household always had a very clear structure, well at least for me.&lt;br&gt;
There were rules. Not suggestions. Not “best practices.” Rules. You never really negotiated them, you just executed them.&lt;/p&gt;

&lt;p&gt;You woke up early. You went to school. You came back on time.  You didn’t always get the chance to “try things.” You mostly followed instructions.&lt;/p&gt;

&lt;p&gt;If you messed up, there was usually a very immediate feedback loop.&lt;br&gt;
Let’s just call it… &lt;em&gt;real-time debugging&lt;/em&gt;. ("Kiboko") &lt;/p&gt;

&lt;p&gt;Now fast forward to adulthood (or campus life, which feels like a soft launch into adulthood).&lt;br&gt;
Suddenly:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;No one is asking where you are
&lt;/li&gt;
&lt;li&gt;You can sleep at 3AM and call it “freedom” &lt;/li&gt;
&lt;li&gt;Food is no longer provided;it’s a budgeting problem
&lt;/li&gt;
&lt;li&gt;And somehow, people are going out on weekdays like it’s normal("sherehe polite")&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It feels like moving from a tightly controlled environment into an open-world sandbox with no manual.&lt;/p&gt;

&lt;p&gt;And that’s exactly how learning JavaScript felt after coming from Go.&lt;/p&gt;


&lt;h2&gt;
  
  
  Go felt like home
&lt;/h2&gt;

&lt;p&gt;Go is structured, strict, and predictable.It feels like that kind of upbringing where:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;There is a correct way to do things
&lt;/li&gt;
&lt;li&gt;Mistakes are immediately pointed out
&lt;/li&gt;
&lt;li&gt;You don’t get “creative freedom” with rules
&lt;/li&gt;
&lt;li&gt;Everything has a clear, disciplined path
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you write something wrong, Go doesn’t argue with you.&lt;br&gt;
It simply refuses to proceed.&lt;br&gt;
Very “strict parent energy.”&lt;/p&gt;


&lt;h2&gt;
  
  
  JavaScript feels like campus life
&lt;/h2&gt;

&lt;p&gt;Suddenly, everything is allowed.&lt;br&gt;
Almost &lt;em&gt;too&lt;/em&gt; allowed.&lt;/p&gt;

&lt;p&gt;You can write things that technically work but feel emotionally wrong:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;5&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="c1"&gt;// "51"&lt;/span&gt;
&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;5&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="c1"&gt;// 4&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And the language just… accepts it.&lt;br&gt;
No questions. No intervention. No moral guidance.(This is where I would have been properly debugged)&lt;/p&gt;

&lt;p&gt;Coming from Go, it feels like moving from mama's hot home-cooked meals, to a hostel where someone is boiling noodles in a sufuria at 2AM, while watching YouTube at full volume.&lt;/p&gt;

&lt;p&gt;It works.But you’re not always sure it should.&lt;/p&gt;




&lt;h2&gt;
  
  
  The adjustment phase
&lt;/h2&gt;

&lt;p&gt;At first, JavaScript feels messy.&lt;br&gt;
Too flexible. Too forgiving. Too many ways to do the same thing.&lt;br&gt;
But slowly, something changes.&lt;br&gt;
You realize the language isn’t enforcing discipline on you, you’re expected to build it yourself.&lt;/p&gt;

&lt;p&gt;That’s the shift.Go gives you structure upfront.&lt;br&gt;
JavaScript forces you to learn structure through experience.&lt;/p&gt;

&lt;p&gt;One is guided discipline.The other is learned discipline&lt;/p&gt;




&lt;h2&gt;
  
  
  Final thoughts
&lt;/h2&gt;

&lt;p&gt;Growing up strict teaches you order.Campus life teaches you independence.&lt;br&gt;
Go gives you rules.&lt;br&gt;
JavaScript gives you freedom, and occasionally lets you suffer for bad decisions.&lt;/p&gt;

&lt;p&gt;And maybe that’s the real lesson:&lt;br&gt;
Structure is important, but so is learning how to create it for yourself when no one is watching.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>software</category>
      <category>go</category>
    </item>
    <item>
      <title>Why AI Is Unlikely To Be A Game-Changer In African Economies</title>
      <dc:creator>Amon Ochuka</dc:creator>
      <pubDate>Tue, 17 Feb 2026 07:34:27 +0000</pubDate>
      <link>https://dev.to/amonoff/why-ai-is-unlikely-to-be-a-game-changer-in-african-economies-4g38</link>
      <guid>https://dev.to/amonoff/why-ai-is-unlikely-to-be-a-game-changer-in-african-economies-4g38</guid>
      <description>&lt;p&gt;Everyone is talking about AI transforming Africa, but the reality on the ground is very different, especially in countries facing electricity shortages and monopolies in key sectors. While AI has enormous potential globally, in many African contexts it is unlikely to become the economic miracle some people hope for, at least in the near term.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Electricity Shortages Are a Major Bottleneck&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;AI systems, whether cloud-hosted or on-device, consume a significant amount of electricity. Training even a single large AI model can use as much power as a small town in a month. Many African countries struggle with unreliable grids and frequent load shedding. Even highly skilled developers cannot run AI consistently without stable electricity, and relying on generators or solar power adds both cost and operational complexity, making many AI projects financially unviable.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Infrastructure Needs Go Beyond Power&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;AI requires more than electricity. Fast internet, reliable data storage, cloud computing, and ongoing maintenance are essential. Many regions still lack basic connectivity, and data centers are often concentrated in a few major cities. This makes AI adoption uneven and prevents smaller startups from scaling their solutions effectively.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Monopolies Stifle Innovation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Key sectors like telecommunications, banking, and energy are dominated by a few large players. Small AI startups often struggle to access APIs or market opportunities, as monopolies prioritize existing profit models over risky new technologies.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Talent Gaps Limit Scale&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;AI requires skilled engineers and data scientists. While Africa has a growing developer community, high-level AI talent remains limited, and access to training and compute resources is uneven, slowing adoption.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Localized Opportunities Exist&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;AI can succeed where infrastructure is reliable, such as mobile money in Kenya or agri-tech in parts of Nigeria. These are notable exceptions, not the rule.&lt;/p&gt;

&lt;p&gt;Conclusion&lt;/p&gt;

&lt;p&gt;AI is a powerful tool, but tools don’t operate in a vacuum. Without reliable electricity, fair competition, and solid infrastructure, AI is unlikely to drive broad economic growth. Prioritizing fundamental challenges should come first, before expecting AI to revolutionize economies.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>discuss</category>
      <category>machinelearning</category>
      <category>news</category>
    </item>
  </channel>
</rss>
