<?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: David Uwagbale </title>
    <description>The latest articles on DEV Community by David Uwagbale  (@dev_id).</description>
    <link>https://dev.to/dev_id</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1677674%2Faed71a58-b5b3-4923-b7c7-b9ed4fb70770.ico</url>
      <title>DEV Community: David Uwagbale </title>
      <link>https://dev.to/dev_id</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/dev_id"/>
    <language>en</language>
    <item>
      <title>We Knew How AI Worked Yet We Fumbled the Architecture</title>
      <dc:creator>David Uwagbale </dc:creator>
      <pubDate>Mon, 27 Jul 2026 07:00:00 +0000</pubDate>
      <link>https://dev.to/dev_id/we-knew-how-ai-worked-yet-we-fumbled-the-architecture-4jki</link>
      <guid>https://dev.to/dev_id/we-knew-how-ai-worked-yet-we-fumbled-the-architecture-4jki</guid>
      <description>&lt;p&gt;I know a lot of people that have taken courses in AI or Machine Learning, and yet when they want to build something other than training a model, it's like all that knowledge gets locked away or just goes down the drain.&lt;/p&gt;

&lt;p&gt;In this era of AI, 2026, it is essential to have a basic knowledge of how AI works, and even more so if you hope to create solutions using AI itself. Yet the same mistakes are still being made, and honestly, I can't really fault them. It only really becomes noticeable when System Design is explored.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Trap Big Models Lure Us Into
&lt;/h3&gt;

&lt;p&gt;When faced with a complex feature, our modern impulse as builders is almost too simple: &lt;strong&gt;just throw the strongest LLM at it.&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;We’ve been conditioned by these powerful APIs to treat top-tier enterprise models like universal computing engines. If a task involves data interpretation, we dump the raw context into the prompt window and let the model figure it out. It’s quick to prototype, that's what is shown in tutorials and feels like magic... right until you try to run it in production at scale.&lt;/p&gt;

&lt;h3&gt;
  
  
  Building an AI Tool for a Payment App
&lt;/h3&gt;

&lt;p&gt;Let's cite a really easy example.&lt;/p&gt;

&lt;p&gt;Sometime in 2025, I had the opportunity of participating in a hackathon, and what we built was a user experience revision of what making payments should feel like, especially when trying to make sure that the user gets more utility from the payment app than just making payments.&lt;/p&gt;

&lt;p&gt;This seemed straightforward enough at first until we thought: what else would someone want to do aside make payments 😂.&lt;br&gt;
Regardless, we set out to build this.&lt;/p&gt;

&lt;p&gt;We made a redesign of what the User Flow and Experience might feel like to accomodate what we figured would help, among these was a pill section for easy and quick labelling of transactions (like Food, Transport, Subscription, etc).&lt;/p&gt;

&lt;p&gt;The AI feature we added was that, having labelled the transactions, we would be able to show the user really great insights into their spending habits and give suggestions too, while allowing them to visually confirm their excesses rather than just seeing the regular: total inflow, total outflow, and list of transactions.&lt;/p&gt;

&lt;p&gt;The issue? We planned to just take the selected range of the user's transaction data within that period and feed it to an enterprise LLM.&lt;/p&gt;

&lt;p&gt;Wait...&lt;br&gt;
Pause...&lt;/p&gt;

&lt;p&gt;If that sounded normal or typical to you, then you really need this next part.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fakwtpz9uy2850zcx77wp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fakwtpz9uy2850zcx77wp.png" alt="Diagram showing a naive AI architecture dumping an entire transaction history straight into a large cloud AI model to generate insights" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  The true cost of our "lazy" architecture
&lt;/h3&gt;

&lt;p&gt;Even if we decide to completely turn a blind eye to the legal and privacy issues with this approach 😖, we also have a huge issue with the design of this system because what this implies is that for every single user, we will be sending all of that data to the model.&lt;/p&gt;

&lt;p&gt;The token costs alone will be outrageouly expensive. Then if we later decide to introduce daily insights too, it becomes a lot worse because we'll need to compute all of this every single day. And if we eventually want insights after every transaction... we're swimming in debt hell.&lt;/p&gt;

&lt;p&gt;Not too long ago, I came across something while reading online about using Fable 5 that made me come back to this experience:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Don't make your superpower do all the work.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Your strongest model shouldn't be doing everything. Let your application handle all the smaller, deterministic work so that the really good model only performs the part that actually needs that intelligence. You're saving tokens, saving time, saving resources, and honestly building a much better system in the process.&lt;/p&gt;

&lt;h3&gt;
  
  
  Rethinking the Pipeline
&lt;/h3&gt;

&lt;p&gt;Alright back to the project: remember, we already have knowledge of how AI works. If you really look at our problem, it is simply a classification issue. Well, that is the first step:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Local Vectorization &amp;amp; Classification&lt;/strong&gt;: Instead of sending raw text logs to a remote model, we can compute embeddings locally or run light statistical classification to group spending.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Deterministic Aggregation&lt;/strong&gt;: The backend then sums up totals, compute percentages, and even detect anomalies (still using regular code).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Targeted Inference&lt;/strong&gt;: Pass only the condensed, anonymized summary metrics into a lightweight local model to generate a short, human-readable insight.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fqn9b0htgn5bipejda0ni.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fqn9b0htgn5bipejda0ni.png" alt="Architectural comparison diagram showing raw transactions processed through local classification and aggregation before triggering a small local LLM" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;See, there was really no need to send every single raw transaction to an enterprise LLM, and the data never even had to leave our system.&lt;/p&gt;

&lt;h3&gt;
  
  
  Zooming out a bit
&lt;/h3&gt;

&lt;p&gt;This principle doesn't stop at fintech apps either. You see it everywhere in AI engineering: like people feeding a massive 50-page PDF straight into an LLM just to extract a date, instead of letting a simple parser pull the text first. Or letting a chatbot search an entire raw database on every prompt instead of querying a structured vector index first.&lt;/p&gt;

&lt;p&gt;So maybe the next thing your AI product needs isn't another memory cache or more queues for speed. It may just be taking a step back to ask if you're forcing your biggest model to do basic math that a few lines of standard code could handle.&lt;/p&gt;

&lt;p&gt;Because when those other optimizations are eventually added on top of a sane architecture, the speed boost almost feels exponential.&lt;/p&gt;

</description>
      <category>systemdesign</category>
      <category>ai</category>
      <category>webdev</category>
      <category>architecture</category>
    </item>
    <item>
      <title>The 'Learn to Scale' Fallacy: Why You Can't Out-Infra a Bottleneck</title>
      <dc:creator>David Uwagbale </dc:creator>
      <pubDate>Mon, 27 Jul 2026 07:00:00 +0000</pubDate>
      <link>https://dev.to/dev_id/the-learn-to-scale-fallacy-why-you-cant-out-infra-a-bottleneck-2k9k</link>
      <guid>https://dev.to/dev_id/the-learn-to-scale-fallacy-why-you-cant-out-infra-a-bottleneck-2k9k</guid>
      <description>&lt;p&gt;Here is a brief version on &lt;a href="https://www.linkedin.com/posts/daviduwagbale_%F0%9D%97%9C-%F0%9D%98%80%F0%9D%97%BD%F0%9D%97%B2%F0%9D%97%BB%F0%9D%98%81-%F0%9D%97%BA%F0%9D%97%BC%F0%9D%97%BB%F0%9D%98%81%F0%9D%97%B5%F0%9D%98%80-%F0%9D%98%81%F0%9D%97%BF%F0%9D%98%86%F0%9D%97%B6%F0%9D%97%BB%F0%9D%97%B4-%F0%9D%98%81%F0%9D%97%BC-share-7485219111556521984-ZTrk" rel="noopener noreferrer"&gt;Linkedin&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Scale this codebase to handle 50,000 concurrent users. MAKE NO MISTAKES!"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Now, you might want to judge a prompt like that as pure vibecoding, but I honestly think most of us haven't been in a much different situation. We use the phrase &lt;em&gt;"build scalable products"&lt;/em&gt;  like it's a default setting in your IDE, but if someone asks you &lt;em&gt;how&lt;/em&gt; to actually do it, where do you start?&lt;/p&gt;

&lt;p&gt;Two months ago, I set out on a dedicated journey to "learn how to scale" software applications. My mindset going in was pretty straightforward: figure out the magical setup and master the tools that high-throughput platforms use.&lt;/p&gt;

&lt;p&gt;It didn't take long for me to realize that my core objective itself was fundamentally wrong. Or to put it better, ignorant.&lt;/p&gt;

&lt;p&gt;I thought I was trying to "learn how to scale". What I was actually missing was learning how to &lt;strong&gt;identify the bottleneck&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Trap of Shiny Infrastructure
&lt;/h3&gt;

&lt;p&gt;When you first decide to tackle system scalability, there is a strong temptation to act like an infrastructure architect who just discovered a shiny new toolbox. You start thinking about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Throwing &lt;strong&gt;Redis&lt;/strong&gt; everywhere because fast in-memory lookups make everything speed up... right?&lt;/li&gt;
&lt;li&gt;Spinning up &lt;strong&gt;Docker containers&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Setting up complex event queues and asynchronous worker pipelines.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These are actually great but you see, scaling a product is not just about adding these fancy services. Those aren't strategies; they're just tools. And if you add a fancy caching layer on top of a broken database query pattern, you haven't really scaled your application, you’ve just further covered up the issue.&lt;/p&gt;

&lt;p&gt;Those tools only become effective when you look into and design the proper ways they can support the specific stress points of your setup.&lt;/p&gt;

&lt;h3&gt;
  
  
  How to search for this bottleneck?
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Faoziq7k4pvj79yrgv45e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Faoziq7k4pvj79yrgv45e.png" alt="Diagram showing the data flow from the user's request through the system and the identified bottleneck" width="800" height="432"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To properly scale a system, you have to realize that the system doesn't fail everywhere at once. It fails at boundaries where the pressure builds first.&lt;/p&gt;

&lt;p&gt;Is it database connection limits? CPU saturation? Disk I/O? Network bandwidth? Now we are asking right questions.&lt;br&gt;
Exploring where these failures will emerge as load and complexity grows is fundamentally a &lt;strong&gt;System Design&lt;/strong&gt; problem.&lt;/p&gt;

&lt;h3&gt;
  
  
  Shifting from Buzzwords to System First-Principles
&lt;/h3&gt;

&lt;p&gt;There is &lt;strong&gt;no single template&lt;/strong&gt; to scale a system. It depends entirely on the unique components, data flow and layers that exist in that specific one.&lt;/p&gt;

&lt;p&gt;Once you shift your perspective from &lt;em&gt;"How do I make this app scalable?"&lt;/em&gt; to &lt;em&gt;"Where is this system going to break first?"&lt;/em&gt;, your relationship with technology changes completely.&lt;/p&gt;

&lt;p&gt;Suddenly, you stop seeing technologies as items on a high-scalability checklist. They become targeted solutions to solve very specific constraints within a system you've mapped out.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3r96issiic10lha13j7u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3r96issiic10lha13j7u.png" alt="Diagram illustrating a shifted mindset from checklist-based scaling to identifying system bottlenecks" width="800" height="432"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  My Ongoing Learning
&lt;/h3&gt;

&lt;p&gt;I used to think scaling was about memorizing a collection of clever practices. Now I see it as learning how to reason about systems under load.&lt;/p&gt;

&lt;p&gt;I’m still deep in this journey and I’ll be documenting more of these architectural lessons on &lt;a href="https://davidtimi.tech/blog" rel="noopener noreferrer"&gt;&lt;em&gt;The Engineering Log&lt;/em&gt;&lt;/a&gt; as I learn more.&lt;/p&gt;

&lt;p&gt;For any engineer or system builder that could be reading this, I would really love to know that one practical lesson or sudden realization that completely changed the way you think about scaling systems&lt;/p&gt;

</description>
      <category>systemdesign</category>
      <category>architecture</category>
      <category>software</category>
      <category>learning</category>
    </item>
    <item>
      <title>Why I Want to Be a Front-End Developer and How HNG Will Help Me Achieve My Goals</title>
      <dc:creator>David Uwagbale </dc:creator>
      <pubDate>Sun, 02 Feb 2025 17:49:25 +0000</pubDate>
      <link>https://dev.to/dev_id/why-i-want-to-be-a-front-end-developer-and-how-hng-will-help-me-achieve-my-goals-4bkn</link>
      <guid>https://dev.to/dev_id/why-i-want-to-be-a-front-end-developer-and-how-hng-will-help-me-achieve-my-goals-4bkn</guid>
      <description>&lt;p&gt;Starting in 2022, I have been writing programs that power web applications&lt;/p&gt;

&lt;p&gt;As a skilled fullstack web developer, I have always been drawn to the dynamic world of frontend development. It is, in my opinion, the most &lt;strong&gt;impressionable&lt;/strong&gt; part of a website or an application.&lt;br&gt;
The ability to create seamless, visually appealing and functional user interfaces is truly important. Although I have already mastered various tools, libraries and frameworks to achieve this, I wasn't always good at it.&lt;/p&gt;

&lt;h2&gt;
  
  
  My Motivation for Becoming a Frontend Developer
&lt;/h2&gt;

&lt;p&gt;My journey into web development began with a deep curiosity about how computers work and how users interact with them. I started with writing JavaScript codes and after a while I developed a deep passion for writing code that runs on the browser.&lt;br&gt;
Soon enough I was manipulating the DOM and then realised I would have to learn HTML and CSS 🥲.&lt;br&gt;
Yeahh, they weren't as difficult as I thought them to be, in fact, I later realised that I got comfortable with the hard part first. 😅&lt;/p&gt;

&lt;p&gt;From exploring modern libraries, frameworks and docs to building projects with great interfaces. It became what I loved to do most, making me constantly learn more on how I could perfect this skill I had developed.&lt;/p&gt;

&lt;h2&gt;
  
  
  How HNG Will Help Me Grow in the Field
&lt;/h2&gt;

&lt;p&gt;Regardless of my current level of expertise, I see the HNG Internship as an invaluable experience.&lt;br&gt;
The HNG Internship is known for its intensive, hands-on learning experience. It provides opportunities such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Real-World Projects &amp;amp; Collaboration&lt;/strong&gt; &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Mastering Advanced Front-End Technologies&lt;/strong&gt;  &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Exposure to Industry Standards&lt;/strong&gt;  &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Levelling up my Portfolio with Industry-Ready Projects&lt;/strong&gt;  &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Networking and Career Growth&lt;/strong&gt; &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I particularly look forward to engaging with experts, receiving feedback, and positioning myself for recruiters that wish to &lt;a href="https://hng.tech/hire/web-developers" rel="noopener noreferrer"&gt;Hire Web Developers&lt;/a&gt; or &lt;a href="https://hng.tech/hire/reactjs-developers" rel="noopener noreferrer"&gt;Hire React Developers&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;My journey in web development has been exciting, and front-end engineering remains a critical focus for me. While I have built a strong foundation in JavaScript, React, and modern front-end tools, I believe the HNG Internship will provide the structured learning, mentorship, and real-world exposure needed to take my skills to the next level. Through this program, I aim to refine my expertise, build industry-standard applications, and become a top-tier front-end developer ready to tackle complex challenges in the tech space.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>frontend</category>
      <category>javascript</category>
      <category>buildinpublic</category>
    </item>
  </channel>
</rss>
