Harvestly

34days leftsiku zilizobaki

That is the count for one example batch of maize on the day the forecast turned.

Join the Harvestly interest list (opens in a new tab)How long will your sacks last?Watch that week unfold

A prototype. Joining the list is not a sign-up for alerts.

Example, simulated weather. The engine’s own messages for one batch in woven sacks in Kitale. The warning is from its demo scenario, 15 October 2026, after the farmer’s earlier SALT YES reply (not shown). The weather credit in the welcome is the designed live version’s wording: this demo, and the Telegram test bot, use simulated weather. No real farmer has received them.Mfano, hali ya hewa ya kuigwa. Ujumbe wenyewe wa mfumo kwa kundi la mahindi kwenye magunia ya kusokotwa huko Kitale. Onyo linatoka kwenye mfano wake wa majaribio, 15 Oktoba 2026, baada ya jibu la awali la mkulima CHUMVI NDIYO (halionyeshwi). Neno la sifa ya data ya hali ya hewa kwenye ujumbe wa kukaribisha ni la toleo lililobuniwa: onyesho hili na bot ya majaribio ya Telegram vinatumia hali ya hewa ya kuigwa. Hakuna mkulima halisi aliyeyapokea.

HarvestlyHarvestly (example)Harvestly (mfano)
  1. JOIN KITALE SACK 12SAJILI KITALE MAGUNIA 12

  2. Harvestly: Welcome. These messages give storage advice for your maize by SMS. It is an estimate. Weather data by Open-Meteo.com (CC BY 4.0). Reply STOP at any time to stop all messages.Harvestly: Karibu. Ujumbe huu unatoa ushauri wa kuhifadhi mahindi yako kwa SMS. Ni makadirio. Data ya hali ya hewa: Open-Meteo.com (CC BY 4.0). Jibu SIMAMISHA wakati wowote kusimamisha ujumbe wote.

  3. Harvestly: Your maize is too wet to store (estimate from salt test). Storage time left: about 34 days (estimate). Dry it on a tarpaulin in full sun and reply DRYING, then test again. Simulated weather 15/10.Harvestly: Mahindi yako yana unyevu mwingi mno kuhifadhiwa (makadirio ya kipimo cha chumvi). Muda uliobaki: siku 34 hivi (makadirio). Yaanike juu ya turubai juani na ujibu ANIKA, kisha pima tena. Hali ya hewa ya kuigwa 15/10.

    SMS · 15 Oct, 17:00SMS · 15 Okt, 17:00
  4. DRYINGANIKA

    16 Oct16 Okt
  5. Harvestly: Thank you, noted.Harvestly: Asante, tumepokea.

02 The problem

The sack doesn’t tell you.

Day 0. The harvest comes in. It looks fine.

These two sacks hold maize from the same field. One is at 13% moisture. The other is at 18%. You cannot tell which is which by looking. Moisture is invisible, and the weather changes it every day.

Sack ALooks fine.13% Under the 13.5% limit.
Sack BLooks fine.18% About 45 storage days at 18 °C 7.

How long maize keeps, at 18 °C

  1. 15% moisture 213 storage days
  2. 19% moisture 30 storage days
  3. 23% moisture 11 storage days

One tick is one day: storage period to about 0.5% dry-matter loss, University of Arkansas Extension FSA1058, Table 1 7. The East African standard limit for maize is 13.5% moisture 3. These are US corn tables; see the limits.

03 Why now

Less grain, coming in wet.

2.2 Mt

The US Department of Agriculture cut its forecast for Kenya’s 2026/27 maize crop by half, to 2.2 million tonnes, after the drought hit the North Rift 89.

Above‑average rain

The Kenya Meteorological Department (KMD) expects it from October to December in Trans Nzoia and Uasin Gishu, continuing into January 12.

“drying capacity, safe/hermetic storage, aflatoxin surveillance”

What the KMD seasonal advisory calls for, 31 August 2026 12. Harvestly is designed to turn that advice into a prompt for each farmer’s own grain.

04 One week, replayed

What happens in a week.

The engine’s demo run on simulated weather, replayed one day at a time from its reference results. An illustration, not a result. Scroll, and the days pass.

What the replay assumes

The fall from 261 days to 34 depends on our assumption that a sack closes 5% of the gap to the air’s moisture each day. That rate has not been tested in the field. The count starts at the first test, not at harvest.

Countdown level is the engine’s own name (Low, Medium, High) for how soon the storage time runs out. It does not say the grain is dry: wet grain can have a long countdown, so moisture is shown on its own line.

Day 0 of 12

–days left
Countdown level
Low
Moisture estimate
–
Storage life used
–
Weather, with the forecast issued that evening happened forecast rain
Moisture estimate, % 13.5% limit

While grain is being dried the engine keeps its last tested moisture, so the line moves only when a new reading is recorded.

Kiswahili is a draft, not yet reviewed by a native speaker.
HarvestlyThe farmer's phone

    05 Your turn

    How long will your sacks last?

    Enter what you know. This runs the engine’s two tables and its drift rule in your browser. Nothing you type is sent anywhere.

    The calculator needs JavaScript. It runs the engine’s two tables and its drift rule in your browser. The tables and the rule are on How it works.

    How did you check the grain?
    The air where the sacks are kept
    Where is the grain?

    Enter moisture, temperature and humidity to see the result.

    –days left

    A full ring is 60 days or more.

    Heading for
    –
    Storage days at today’s moisture
    –
    Engine countdown
    –
    Moisture, day by day, if the air stays like this 13.5% limit

      06 Three rules

      Three rules that keep it honest.

      Messages below are the engine’s own draft wording.

      Kiswahili is a draft, not yet reviewed by a native speaker.
      1. Only a meter or hygrometer reading clears grain as dry.

        A salt test that flows says “about 15% or less”. That is not 13.5%. So the answer is “not yet proven”, with a place to get a reading. A meter reading of 13.0% is different.

        HarvestlyExample, engine draft wording
        1. SALT NOCHUMVI HAPANA

        2. Harvestly: Not yet proven dry enough to seal or sell (salt test: below about 15%); the limit is 13.5%. Dry more in full sun if needed, then confirm with a meter at your co-op or NCPB depot. Reply METER and the number.Harvestly: Bado haijathibitishwa kuwa mahindi yamekauka vya kutosha kufungwa au kuuzwa (kipimo cha chumvi: chini ya 15% hivi); kiwango ni 13.5%. Anika zaidi juani ikihitajika, kisha thibitisha kwa mita katika chama chako au bohari ya NCPB. Jibu MITA na namba.

        3. METER 13.0MITA 13.0

        4. Harvestly: Dry enough to store (meter 13.0%). Seal it in hermetic bags (an agro-dealer near you) or deposit it at a certified warehouse for a warehouse receipt. Reply SEALED, SOLD or DEPOSITED when done.Harvestly: Mahindi yamekauka vya kutosha (mita 13.0%). Yafunge kwenye mifuko isiyopitisha hewa (duka la pembejeo karibu nawe) au yaweke kwenye ghala lililoidhinishwa upate stakabadhi ya ghala. Ukimaliza jibu NIMEFUNGA, NIMEUZA au GHALANI.

      2. An estimate only triggers a re-test.

        If damp air moves the engine’s estimate a full point past the salt-test line, the farmer is asked to test again. The engine never orders drying on an estimate alone.

        HarvestlyExample, engine draft wording
        1. Harvestly: Damp air has probably re-wetted your stored maize (estimate 16.0%). Storage time left: about 34 days (estimate). Do the salt test today and reply SALT YES or SALT NO. Simulated weather 22/10.Harvestly: Hewa yenye unyevu huenda imeongeza unyevu wa mahindi yako ghalani (makadirio 16.0%). Muda uliobaki: siku 34 hivi (makadirio). Fanya kipimo cha chumvi leo kisha jibu CHUMVI NDIYO au CHUMVI HAPANA. Hali ya hewa ya kuigwa 22/10.

          Day 10 of a damp spell
      3. Every repeat is spaced and capped.

        Seventy days of damp air at 19 °C and 92% humidity (the table ends at 90%, so the engine treats it as 90%), on grain that started at a measured 13.0%: 7 messages in all. An unanswered urgent warning goes out weekly, at most four times, and the fourth says it is the last reminder. The other limits are on How it works.

        Day 01014303739465369

        Each tick is a day from day 0. Tall amber ticks are days a message was sent; the last is shown below.

        HarvestlyExample, engine draft wording
        1. Harvestly: This batch has used most of its estimated storage time. Check it today: remove mouldy or discoloured grain (do not eat it or feed it to animals), then sell or use this batch first.Harvestly: Mahindi haya yametumia sehemu kubwa ya muda wa uhifadhi uliokadiriwa. Yakague leo: ondoa punje zenye kuvu au zilizobadilika rangi (usizile wala usiwalishe mifugo), kisha yauze au uyatumie kwanza.

          Day 39

      07 What we know

      What we know, and what we do not.

      Every number in the engine carries a label. They are listed on How it works, with their sources on Sources. The limits, once:

      • The pilot has not run. Nothing on this site is a result. No farmer has been enrolled; the test bot answers whoever messages it, on simulated weather.
      • 13.5% is the limit for sale, not a year’s guarantee. It is the East African standard limit 3. Arkansas guidance for keeping corn for a full year is 12% 6. A countdown of 365 days means 365 or more at the weather entered.
      • The storage clock starts at the first test, not at harvest. The source counts from harvest, so grain that sat wet before its first test has already used part of its life.
      • The tables are for US corn. Kenyan white maize has a different moisture curve 36, and we have not validated against it. The moisture table reads about 0.6–0.7 points wetter than measured maize points 19, which errs toward a false alarm. Below 15% moisture the storage-days figure is extended past its table and flagged.
      • The salt test is a coarse screen at about 15% 18. It asks for non-iodised salt, and Kenyan table salt is normally iodised. We do not know yet what that does.
      • Two simplifications. Daily air temperature stands in for grain temperature. Insects are not modelled: the engine sends one reminder at week 7 and points to hermetic bags.
      • Status, 12 October 2026. The engine exists as a tested Python reference. A Telegram test bot (@HarvestlyBot) answers with simulated weather; it replies only after you message it and sends no unprompted alerts. The Oracle version, SMS, USSD and the dashboard are planned, not built.

      08 Where it goes next

      The warehouse gate.

      13.5% is also the intake line used by the National Cereals and Produce Board (NCPB) and the warehouse receipt system 317. Depots with driers may accept wetter grain and dry it, so the line matters most for grain that goes to a depot without one. Grain that leaves the farm already measured and dry meets it before it gets there.

      A pilot is proposed for Trans Nzoia, October 2026 to January 2027. It is a plan, not a pledge, and it has not started. Read the pilot plan

      09 For partners

      For co-operatives, extension officers, counties and warehouses.

      Harvestly is designed to run inside the services you already use, as a post-harvest module: a ward, a batch and a reading go in; a message code and the text, in English or Kiswahili, come out. What each of you would get is on the Partners page.

      Partner with Harvestly (opens in a new tab)What a partnership could look like