<?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>Forem: Adisa Mubarak</title>
    <description>The latest articles on Forem by Adisa Mubarak (@admub).</description>
    <link>https://forem.com/admub</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%2F2491611%2F764f9cf4-cc76-4652-b81a-6172635f3744.png</url>
      <title>Forem: Adisa Mubarak</title>
      <link>https://forem.com/admub</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/admub"/>
    <language>en</language>
    <item>
      <title>Hydro-Flow CLI: Solving Inverse Hydraulic Problems with AI &amp; Scipy</title>
      <dc:creator>Adisa Mubarak</dc:creator>
      <pubDate>Thu, 12 Feb 2026 10:03:31 +0000</pubDate>
      <link>https://forem.com/admub/hydro-flow-cli-solving-inverse-hydraulic-problems-with-ai-scipy-h8j</link>
      <guid>https://forem.com/admub/hydro-flow-cli-solving-inverse-hydraulic-problems-with-ai-scipy-h8j</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/github-2026-01-21"&gt;GitHub Copilot CLI Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Hydro-Flow CLI&lt;/strong&gt; is an AI-augmented command-line tool designed to bring &lt;strong&gt;HEC-RAS caliber hydrology&lt;/strong&gt; directly to the terminal.&lt;/p&gt;

&lt;p&gt;Typically, civil engineers rely on expensive, heavy GUI software to model river floods. This creates a barrier between engineering physics and modern software practices like CI/CD and Containerization.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hydro-Flow breaks this barrier.&lt;/strong&gt; It is a "Headless" engineering engine that allows you to:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;Auto-Design Channels:&lt;/strong&gt; Solve the "Inverse Hydraulic Problem" using &lt;strong&gt;Scipy Optimization&lt;/strong&gt; (Newton-Raphson) to find the exact channel width that minimizes excavation costs.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Stress-Test Infrastructure:&lt;/strong&gt; Run &lt;strong&gt;1,000 Monte Carlo simulations&lt;/strong&gt; in seconds to predict flood failure probabilities under climate change scenarios.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Generate Digital Twins:&lt;/strong&gt; Instantly plot hydraulic cross-sections using procedural &lt;strong&gt;Matplotlib&lt;/strong&gt; generation.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Ship Anywhere:&lt;/strong&gt; Run complex physics models on any machine using &lt;strong&gt;Docker&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Battle-tested on data from the &lt;strong&gt;Ona River Basin&lt;/strong&gt; (Nigeria), this project merges rigorous Civil Engineering physics with modern DevOps.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;Here is Hydro-Flow in action, demonstrating the &lt;strong&gt;Auto-Designer&lt;/strong&gt;, &lt;strong&gt;Risk Analysis&lt;/strong&gt;, and &lt;strong&gt;Docker Containerization&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;

  &lt;iframe src="https://www.youtube.com/embed/uLUQii4jSI0"&gt;
  &lt;/iframe&gt;


&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;⏩ VIDEO NAVIGATION (Skip to the features):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;0:45&lt;/strong&gt; - &lt;strong&gt;THE AI AGENT:&lt;/strong&gt; How Copilot CLI wrote the Scipy Optimization logic.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;1:30&lt;/strong&gt; - &lt;strong&gt;DEMO 1:&lt;/strong&gt; Auto-Designing Channels (The Inverse Solver).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;2:15&lt;/strong&gt; - &lt;strong&gt;DEMO 2:&lt;/strong&gt; Monte Carlo Risk Analysis (1,000 Simulations).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;3:45&lt;/strong&gt; - &lt;strong&gt;DEMO 3:&lt;/strong&gt; Visualization (Generating the Digital Twin).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;4:30&lt;/strong&gt; - &lt;strong&gt;THE DOCKER RUN:&lt;/strong&gt; Proof of Production-Readiness.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;🔗 Project Links:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;GitHub Repository:&lt;/strong&gt; &lt;a href="https://github.com/AdMub/hydro-flow-cli" rel="noopener noreferrer"&gt;https://github.com/AdMub/hydro-flow-cli&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  My Experience with GitHub Copilot CLI
&lt;/h2&gt;

&lt;p&gt;Building a physics engine in the terminal is difficult because it requires deep knowledge of two very different fields: &lt;strong&gt;Fluid Dynamics&lt;/strong&gt; and &lt;strong&gt;Systems Programming&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;I used the &lt;strong&gt;GitHub Copilot CLI&lt;/strong&gt; not just as a code completer, but as a &lt;strong&gt;Domain Expert&lt;/strong&gt; and &lt;strong&gt;DevOps Engineer&lt;/strong&gt;. It transformed my workflow from "searching StackOverflow" to "conversational coding."&lt;/p&gt;

&lt;h3&gt;
  
  
  1. The "Math Expert": Solving Inverse Problems
&lt;/h3&gt;

&lt;p&gt;I needed to implement a cost-minimization function for the river channel width, which involves finding the root of the Manning Equation derivative.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The Prompt:&lt;/strong&gt; I asked Copilot CLI how to map engineering constraints (Max Depth &amp;lt; 5.0m) into a &lt;code&gt;scipy.optimize.minimize_scalar&lt;/code&gt; function.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Result:&lt;/strong&gt; It generated the exact Python bounds logic and objective function needed to solve the optimization problem mathematically, saving me hours of deriving formulas.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. The "DevOps Expert": Debugging Docker
&lt;/h3&gt;

&lt;p&gt;Towards the end of the project, I hit a critical wall. When I tried to run the tool inside Docker, I kept getting &lt;code&gt;ModuleNotFoundError: No module named 'hydro'&lt;/code&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The Interaction:&lt;/strong&gt; I used Copilot CLI to analyze my file structure. It correctly identified that my &lt;code&gt;PYTHONPATH&lt;/code&gt; was not set in the container and that I was missing specific &lt;code&gt;__init__.py&lt;/code&gt; files.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Fix:&lt;/strong&gt; It generated a production-ready &lt;code&gt;Dockerfile&lt;/code&gt; that explicitly set &lt;code&gt;ENV PYTHONPATH=/app&lt;/code&gt; and handled the package resolution, allowing the tool to run anywhere.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. The "Visual Expert": Procedural Geometry
&lt;/h3&gt;

&lt;p&gt;Plotting a trapezoidal river channel with varying water levels requires complex coordinate geometry (calculating the intersection points of the water surface with the sloped banks). Copilot CLI generated the &lt;code&gt;Matplotlib&lt;/code&gt; fill logic ("PolyCollection") to render the "Digital Twin" images dynamically based on the user's JSON profile.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Built with Python, Typer, Rich, Scipy, Matplotlib, and GitHub Copilot.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>githubchallenge</category>
      <category>cli</category>
      <category>githubcopilot</category>
    </item>
    <item>
      <title>SiteMate Pro: The AI OS for African Construction</title>
      <dc:creator>Adisa Mubarak</dc:creator>
      <pubDate>Sun, 08 Feb 2026 23:22:23 +0000</pubDate>
      <link>https://forem.com/admub/sitemate-pro-the-ai-os-for-african-construction-18p8</link>
      <guid>https://forem.com/admub/sitemate-pro-the-ai-os-for-african-construction-18p8</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/algolia"&gt;Algolia Agent Studio Challenge&lt;/a&gt;: Consumer-Facing Conversational Experiences&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;SiteMate Pro&lt;/strong&gt; is an "AI Operating System" for the African construction industry. It solves a critical problem: &lt;strong&gt;Opacity&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;In Nigeria, building material prices change daily, data is fragmented across WhatsApp chats, and fraud is rampant. Engineers often waste days calculating costs manually, and projects fail because of inaccurate estimates.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;SiteMate Pro&lt;/strong&gt; is a conversational agent that acts as a &lt;strong&gt;Super-Intelligent Quantity Surveyor&lt;/strong&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Conversational Planning:&lt;/strong&gt; You can tell it, &lt;em&gt;"Build a 4-bedroom duplex on swampy soil in Lekki."&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Instant Estimation:&lt;/strong&gt; It doesn't just "guess" prices like standard LLMs. It retrieves real-time market data to generate a precise, location-specific Bill of Quantities (BOQ).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fraud Detection:&lt;/strong&gt; It filters supplier bids in a marketplace, flagging prices that are suspiciously high or low compared to the indexed market rate.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;try the Live App:&lt;/strong&gt; &lt;a href="https://sitemate-construction-agent-r9kobvwbkzdomykfe9cmgy.streamlit.app" rel="noopener noreferrer"&gt;Launch SiteMate Pro&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🎥 Video Walkthrough (7 Mins):&lt;/strong&gt;&lt;br&gt;


  &lt;iframe src="https://www.youtube.com/embed/rAIdP9A5qAY"&gt;
  &lt;/iframe&gt;


&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Source Code:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://github.com/AdMub/Sitemate-Construction-Agent" rel="noopener noreferrer"&gt;https://github.com/AdMub/Sitemate-Construction-Agent&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How I Used Algolia Agent Studio
&lt;/h2&gt;

&lt;p&gt;I leveraged &lt;strong&gt;Algolia Agent Studio&lt;/strong&gt; to solve the biggest problem with Generative AI in engineering: &lt;strong&gt;Hallucination.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A standard LLM does not know the price of a bag of cement in Lagos &lt;em&gt;today&lt;/em&gt;. If asked, it will hallucinate a number, which is dangerous for a construction budget.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;My Architecture (RAG Pipeline):&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;Index:&lt;/strong&gt; I modeled construction material data (Cement, Granite, Iron Rods) and supplier profiles as records in Algolia.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Retrieval:&lt;/strong&gt; When a user prompts the agent (e.g., &lt;em&gt;"Estimate a foundation for swampy soil"&lt;/em&gt;), the system first queries Algolia to fetch the &lt;em&gt;current&lt;/em&gt; unit prices for that specific location (e.g., Lekki vs. Ibadan).&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Targeted Prompting:&lt;/strong&gt; I inject this retrieved data into the Gemini prompt context. The system instruction is strictly engineered: &lt;em&gt;"You are a Senior Engineer. Use ONLY the retrieved Algolia prices to calculate the total. Do not use outside training data for costs."&lt;/em&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This turns the AI from a creative writer into a &lt;strong&gt;grounded calculator&lt;/strong&gt;, ensuring every Naira quoted is backed by real data.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Fast Retrieval Matters
&lt;/h2&gt;

&lt;p&gt;In construction, speed is trust.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Contextual Accuracy:&lt;/strong&gt; By retrieving data based on specific facets (Location: "Lekki", Soil: "Swampy"), the agent avoids giving generic advice that causes building collapse.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fraud Prevention:&lt;/strong&gt; Fast retrieval allows us to cross-check incoming supplier bids against thousands of historical data points in milliseconds. If a supplier quotes 30% above the indexed average, the user is warned instantly.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;User Experience:&lt;/strong&gt; The conversation feels natural because the latency is near-zero. The user asks a complex question, and the Bill of Quantities appears instantly, creating a "magical" experience that replaces days of spreadsheet work.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>devchallenge</category>
      <category>algoliachallenge</category>
      <category>ai</category>
      <category>agents</category>
    </item>
  </channel>
</rss>
