You are browsing as a guest. Sign up (or log in) to start making projects!

AquaRead

  • 1 Devlogs
  • 5 Total hours

I am building AquaRead. A small browser-based tool that takes field conditions and tells you whether your crop needs low, medium, or high irrigation.

Ship #1

# AquaRead — Irrigation Need Predictor

**Know before you water. Save what the soil already has.**

---

## What did I make?

I built AquaRead — a tiny, browser-based tool that helps farmers decide how much water their field actually needs.

It's not another dashboard with charts for the sake of charts. It's a practical decision helper. You enter a handful of things you already know about your field — soil type, current moisture, crop, growth stage, recent rainfall, temperature — and the tool gives you back a clear prediction (Low, Medium, or High), a confidence breakdown, a plain-language explanation, and one practical thing you can do right now.

No login. No installation. No data sent anywhere. Just open the page, adjust the sliders, click predict, and get an answer. It's built to feel like a conversation with an agronomist friend — not a machine.

---

## What was challenging?

The hardest part was resisting the urge to overcomplicate things.

I had a full dataset with 14 columns — Electrical Conductivity, Organic Carbon, Wind Speed, Field Area, Mulching Used, Water Source, Region, Irrigation Type — all begging to be used. But irrigation need doesn't come from 14 things. It comes from a handful of core drivers: soil moisture, rainfall, temperature, crop stage, and soil type.

So I chose essentials over impressiveness. That meant leaving out data that didn't move the needle, trusting that farmers know their fields better than any dashboard ever could.

Another challenge: the dataset is unbalanced. About 59% show Low irrigation need, 38% show Medium, and only 3% show High. High need is genuinely rare — it only happens when moisture is low AND rainfall is low AND temperatures are high simultaneously. Getting the model to recognize that rarity without over-predicting High was a delicate balance.

---

## What am I proud of?

The explanation layer.

It would have been easy to just show "Low" and move on. But that's not useful. What's useful is telling someone WHY the model said Low — so they can trust it, disagree with it, or learn something about their field.

The explanation reads like: *"Based on adequate soil moisture, good recent rainfall, and moderate temperatures, the model suggests Low irrigation need."*

That's just connecting the dots in a way that makes sense to a human who's been watching the sky and feeling the soil.

I'm also proud of the confidence bars. They're simple — three horizontal bars — but they tell a story. When you see "Low: 72%, Medium: 22%, High: 6%" you know the model isn't guessing. It's weighing evidence. And when you see a tight spread — say, 45% / 40% / 15% — you know the conditions are borderline, and maybe you should trust your own judgment more.

---

## What should people know to test my project?

Here's how to kick the tires:

1. Open the page in any modern browser (Chrome, Firefox, Safari, Edge — they all work).
2. Play with the sliders and dropdowns. Try extreme conditions:
- Dry scenario: Moisture = 10%, Rainfall = 0mm, Temperature = 40°C → should return High.
- Wet scenario: Moisture = 55%, Rainfall = 1200mm, Temperature = 18°C → should return Low.
- Borderline: Moisture = 30%, Rainfall = 200mm, Temperature = 28°C, Crop = Rice, Stage = Flowering → often returns Medium with narrow confidence.
3. Read the explanation. Does it match what you'd expect? Does it feel like a real agronomist talking?
4. Look at the confidence bars. Are they wide or narrow? That tells you how clear-cut the conditions are.

The tool is trained on 10,000 records across four soil types, six crops, and three seasons. The model logic is rule-based — not a neural network, but a carefully weighted decision system that mimics how an agronomist thinks. It's transparent, predictable, and easy to tweak.

---

**Know before you water. Save what the soil already has.**

— AquaRead

  • 1 devlog
  • 5h
Try project → See source code →
Open comments for this post

5h 19m 19s logged

🌱 AquaRead — Devlog

aka “I built a plant hydration therapist”


The Origin Story

My mom kept drowning her garden. Every. Single. Day. Even after rain. I was like “Mom, you’re watering the tomatoes to death” and she hit me with “Well how am I supposed to know??”

So I built this instead of doing my math homework. Priorities, right?


What It Does

You punch in some numbers about your field — soil type, moisture, what you’re growing, weather stuff — and it spits out:

  • Low/Medium/High irrigation need
  • How confident it is (with a fancy bar chart)
  • Why it thinks that
  • One actually useful thing to do right now

No PhD required. No manual. Just sliders and dropdowns.


The Data

10,000 real farm records. Messy. Unbalanced. Perfect.

  • 59% Low irrigation
  • 38% Medium
  • 3% High (because emergencies are rare IRL)

The model had to learn that “High” actually matters, not just predict “Low” every time and call it a day.


What I Kept (and What I Threw Out)

Used:

  • Soil_Type, Soil_Moisture, Temperature, Humidity, Rainfall
  • Crop_Type, Growth_Stage, Season

Trashed:

  • Electrical_Conductivity, Organic_Carbon, Wind_Speed
  • Field_Area, Mulching, Water_Source, Region, Irrigation_Type

Why? Because irrigation need comes down to like 5 things. The rest is noise. Fight me.


The Design (aka “I care about colors”)

  • Forest green (#2d5a3d) — the serious backbone
  • Straw gold (#c9a84c) — warmth so it’s not a hospital
  • Sage for chill, terracotta for “OMG WATER YOUR CROPS”

Fonts: Literata for headings (book vibes), Plus Jakarta Sans for UI (clean but friendly), DM Mono for numbers (because monospaced numbers make my brain happy).

No charts-for-the-sake-of-charts. Just the confidence bar because “Low: 72%” is way more useful than just “Low.”


The Proud Moment

Mom tested it. Punched in her garden. Model said:

“Medium irrigation need. Soil moisture is adequate but temperature is rising. Consider watering in the evening to reduce evaporation.”

She looked at me like I hacked the Matrix. I was just like “yeah, JavaScript, whatever” but inside I was doing backflips.


What’s Next (v2.0)

  1. GPS weather lookup — auto-fill temperature and rainfall from a weather API
  2. History log — track predictions over time, see patterns

The Honest Part (AI helped)

Yeah I used AI. For the boilerplate. For the JavaScript I always forget. For debugging that one stupid bug where the bars wouldn’t render.

Not for the creative decisions. Not for the colors or the flow or the “vibe.” That’s all me.

Think of it as a coding intern who knows everything but has zero taste. I tell it what to build, it spits out code, I fix it, break it, fix it again, and make it actually good.


🌱 AquaRead — Devlog

aka “I built a plant hydration therapist”


The Origin Story

My mom kept drowning her garden. Every. Single. Day. Even after rain. I was like “Mom, you’re watering the tomatoes to death” and she hit me with “Well how am I supposed to know??”

So I built this instead of doing my math homework. Priorities, right?


What It Does

You punch in some numbers about your field — soil type, moisture, what you’re growing, weather stuff — and it spits out:

  • Low/Medium/High irrigation need
  • How confident it is (with a fancy bar chart)
  • Why it thinks that
  • One actually useful thing to do right now

No PhD required. No manual. Just sliders and dropdowns.


The Data

10,000 real farm records. Messy. Unbalanced. Perfect.

  • 59% Low irrigation
  • 38% Medium
  • 3% High (because emergencies are rare IRL)

The model had to learn that “High” actually matters, not just predict “Low” every time and call it a day.


What I Kept (and What I Threw Out)

Used:

  • Soil_Type, Soil_Moisture, Temperature, Humidity, Rainfall
  • Crop_Type, Growth_Stage, Season

Trashed:

  • Electrical_Conductivity, Organic_Carbon, Wind_Speed
  • Field_Area, Mulching, Water_Source, Region, Irrigation_Type

Why? Because irrigation need comes down to like 5 things. The rest is noise. Fight me.


The Design (aka “I care about colors”)

  • Forest green (#2d5a3d) — the serious backbone
  • Straw gold (#c9a84c) — warmth so it’s not a hospital
  • Sage for chill, terracotta for “OMG WATER YOUR CROPS”

Fonts: Literata for headings (book vibes), Plus Jakarta Sans for UI (clean but friendly), DM Mono for numbers (because monospaced numbers make my brain happy).

No charts-for-the-sake-of-charts. Just the confidence bar because “Low: 72%” is way more useful than just “Low.”


The Proud Moment

Mom tested it. Punched in her garden. Model said:

“Medium irrigation need. Soil moisture is adequate but temperature is rising. Consider watering in the evening to reduce evaporation.”

She looked at me like I hacked the Matrix. I was just like “yeah, JavaScript, whatever” but inside I was doing backflips.


What’s Next (v2.0)

  1. GPS weather lookup — auto-fill temperature and rainfall from a weather API
  2. History log — track predictions over time, see patterns

The Honest Part (AI helped)

Yeah I used AI. For the boilerplate. For the JavaScript I always forget. For debugging that one stupid bug where the bars wouldn’t render.

Not for the creative decisions. Not for the colors or the flow or the “vibe.” That’s all me.

Think of it as a coding intern who knows everything but has zero taste. I tell it what to build, it spits out code, I fix it, break it, fix it again, and make it actually good.


Replying to @Mohamed_Ayadi

0
0

Followers

Loading…