Season progress GDD baseβ50 from Jan 1
🍀 Blooming now
⏰ Coming up next
Plant details
My food plots readiness by days since planting, not bloom date
🎯 Plan backward from a date
Fill the gaps plants to sow during dearth windows
π Fall observations matter even more than spring ones: goldenrod, aster, and other late bloomers respond more to shortening day length (photoperiod) than to accumulated heat, so the base-50 GDD model is a rougher fit for them. Logging real fall sightings β and frost dates below β is the best way to sharpen this end of the calendar.
For the most precise calibration, look up the real accumulated GDD on the
USA‑NPN AGDD map ↗
(set the date, base 50Β°F, click your spot) and paste it in the Precise GDD field. Leave it blank and the app estimates it automatically.
β Observations and notes you log are shared publicly with other users β don't include personal information in the notes.
βοΈ Operator key β click to set (site operator only)
What's new newest first
Sync, deletion and import fixes. Signing out, syncing and deleting an account now always report what happened. A bloom logged while a sync is running is no longer lost. Deleting an observation (or clearing them all) now removes it from your other signed-in devices and takes down the shared copy, retrying if you are offline. Each account on a shared phone sees only its own log, and anything logged without an account is only added to an account if you say yes. Imported files are checked before anything is saved. Problem reports saved offline are now sent when you are back online, and the app no longer waits indefinitely at startup (there is a Retry button).
You can now delete your sync account. Signed in, tap "Delete account" next to "Sign out" to permanently remove your account and everything synced to it (your log on this phone stays). The "Sign in with Apple" button now shows on iPhone and iPad only.
Sign in / sync status now shows at the top of every tab instead of only inside "Log My Blooms" β sign out (or sign in, if you started as a guest) is reachable no matter which tab you're on.
Sign in (or continue as guest) now happens up front. Instead of sign-in/out being buried inside the "Log My Blooms" tab, you'll see a proper welcome screen before anything else, with the choice to sign in or continue without an account β either way nothing else changes. Also removed the "Lavender Grower" option from the welcome screen; it didn't fit alongside the other personas. The Lavender tab itself is unaffected and still available under "Show everything."
Behind the scenes: the Colony tab's small "blooming now" widget in WaggleOps no longer depends on any live website when running on the web β it's fully bundled into the app now, matching the phone app. No effect on anything you see or log here.
New: sign in to sync your logged observations across devices. A new "Log My Blooms" panel lets you sign in with Google (or Apple, inside the app) so your own logged bloom and frost sightings follow you between your phone, tablet, and browser β nothing about the shared public data changes, and signing in is entirely optional. Everything keeps working exactly the same if you skip it.
New: see the actual weather station data behind your GDD numbers. The "Nearest station" button next to the GDD box now has a companion "π‘ Station data" button that shows the real high/low temps, rainfall, and daily heat units the app pulled for the last several days β plus a dropdown to pick a different nearby station if the auto-picked one seems off, instead of only ever seeing whichever one the app chose for you.
Behind the scenes: WaggleOps' Bloom and Colony tabs now carry their own bundled copy of this app instead of loading it from the web each time β opens faster, works if your connection is spotty, and has no effect on anything you see or log here.
Added a fall frost-risk indicator. Plants were already flagged when their bloom start sits close to the typical last spring frost; now they're also flagged (π) when their bloom end sits close to the typical first fall frost, since those plants may finish blooming early in a colder-than-usual year.
Extended the foraging dearth calculator to cover the full year β it previously stopped checking for gaps after day 320 (mid-November), which was fine everywhere first frost lands before then, but wasn't a safe assumption for every city in the list.
Fixed a display bug: the "Your obs" line on an expanded plant card was showing "undefined vs model" instead of your actual calibration offset in days, left over from a field rename in the v26.2 calibration rework.
Fixed: a single logged spring frost could wrongly end the whole year's blooming. Logging a real late-spring freeze (which does kill open blossoms) was being read as "the growing season is over" for every plant at that location β verified directly: one frost logged in April made Black-eyed Susan, Goldenrod, and Tomato all show as done blooming that same week, months before any of them normally finish. A frost is now only read as ending the season if it happened from July onward, same rule already used for the automatic station detection. A spring frost still gets recorded, it just doesn't end anyone's summer or fall predictions.
Also sharpened the day-based calibration from last update: shifting a bloom window now uses the exact calendar date the shift lands on, rather than an approximate rate β this specifically helps plants that bloom right at the very start or end of the season, which the approximation had still been shortchanging.
Calibration now measures in real days instead of heat units. Scoring a sighting in GDD sounds precise, but heat piles up fast in summer and barely at all by late fall β the same "a week early" used to move predictions a lot in June and almost not at all in October. A week-off sighting now counts as a week everywhere. Also fixed: a shared regional offset built mostly from summer sightings could swallow a short-blooming spring plant's entire window; each plant's shift is now capped at half its own real bloom length.
Weather stations now report frost on their own. Whenever the app looks up the nearest station to a location, that station joins a nightly watch list, and the first light frost and first hard freeze it measures each fall get recorded automatically β no longer only whatever somebody remembers to log. Measured dates say so in their note, and a frost you logged yourself is always kept in preference to a measured one.
Fall bloom dates were wrong, and are now fixed. The heat model stops accumulating in late October, so any plant whose bloom ran into fall had an end date that colder towns could never reach β and the app fell back to showing "12/31". Goldenrod in Maryville read "blooms 9/4 β 12/31". That affected about 1 in 6 plant/town combinations, tomatoes and borage included, not just the fall wildflowers. Bloom windows now end when the growing season does.
A killing frost you log now actually shortens bloom windows, instead of only drawing a line on the timeline β a hard freeze ends goldenrod and aster no matter what the heat total says. Windows cut short this way are marked β with an explanation.
New "Use station automatically" tickbox under the GDD box: the nearest weather station's reading is pulled whenever you open the app or change location, instead of you having to tap "Nearest station" every time.
In fall, the app now asks whether you've had your first hard freeze yet, and takes you straight to the frost form. The killing-frost date is the one number here that no model predicts β it only exists if somebody logs it β and it's what ends goldenrod, aster and the rest of the fall flow.
"Identify a plant" is now its own floating button in the corner of the screen instead of sitting in the row of controls at the top, where it was easy to miss.
My Food Plots now has a "Plan backward from a date" calculator β enter a target date (like opening day of deer season) and the plants you're considering, and it tells you the latest safe planting date for each.
Added a one-tap "Identify a plant" button to the top controls, visible from every tab β jumps straight to the photo picker and Pl@ntNet suggestions instead of requiring you to find "Not in list" in Log My Blooms first.
Added a color legend to the land cover map layer.
Added "Sunflower (Planted)" as a separate entry from wild Sunflower β a real planted field is a genuine nectar/pollen source, unlike scattered wild stands, but it's not counted as already there unless someone actually planted one.
The Timeline now shows Nectar dearth (red) and Pollen dearth (amber) as separate colors instead of one combined "dearth" band β pollen dearth is the worse case (nothing blooming at all) and now shades over the red where it applies.
Fixed plant/mushroom names scrolling off with the bars on the Timeline and Mushrooms tabs β names now stay frozen on the left while you scroll sideways through the months.
Gardener view now actually filters to garden/vegetable/fruit plants instead of showing everything. PlantNet photo ID can now hand an already-known plant straight to the log-a-bloom form with one click instead of making you find it yourself.
Mushrooms tab now shows a Timeline-style chart like Plants/Timeline β a bar per mushroom with a line for today's date. Also: split "dearth" into separate Nectar and Pollen alerts, and fixed several plants (Sunflower, Partridge Pea, Thistle, Cotton, Buckwheat, cover crops) that were papering over a real summer nectar dearth in the model.
Mushrooms tab: fixed rows showing huge gaps between each mushroom, and added a Sort by (Name / Season start) option.
Plant details now show "Last year: bloomed [date]" when you've logged that plant at this location before.
Added this "What's New" tab.
Added a filter to view one food plot at a time instead of everything stacked together.
Food plot readiness now shows "~12 days to ready" instead of just "Establishing."
Food plots can now hold a blend of several plants, not just one.
Moved the tab bar higher up the page and gave it its own background so it's easier to find and read.
Added Turnip and a "My Food Plots" tracker for the Hunter/Land Manager view β readiness by planting date instead of bloom date.
The Colony forage widget in WaggleOps now uses your device's real location.
Fixed the Bloom tab and Colony forage widget not sharing your location with each other.
Fixed the app sometimes showing outdated plant data right after an update.
Added the ability to report a flow-rating correction for a plant. Fixed Google sign-in.
Fixed plant names getting stuck on the timeline. States now sort alphabetically.
Added an in-app "Report a problem" button.
Clearer controls for the operator key.
Fixed a bug so newly-recorded sightings actually show up.
Added real growing-degree-day data pulled from the nearest personal weather station.
Fixed the version label so it actually matches what's live.
Released as a real app for iPhone/Android, not just a website β and renamed to Bloom Calendar.
Visual refresh β new teal + honey color scheme shared across the app family.
Added a soil/land-cover map layer and a "locate me" button.
Calibration offset now shows in weeks (not just days) once it's a week or more.
Calibration offset now also translates to "typical summer days" for easier reading.
Community-logged sightings now pool into the calibration model once admin-approved.
Added GPS-based microclimate adjustment to the main forecast.
Plant and city data now loads from the server, for faster and more reliable updates.
Version-tracking and behind-the-scenes cleanup.
Initial release.