Case Study — Community Platform
A hyperlocal weather platform, nine interactive calculators connected to live station data, a Flutter PWA on Google Play, and a Lions Club business directory. All running on a single WordPress instance from a hill in the D'Aguilar Range, Queensland.
Overview
Most people in Dayboro know the site for the weather. They check it in the morning to see if the creek is up, or if there is a frost warning overnight. That is the front door.
Behind it: nine interactive gardening calculators that pull live data from the weather station every five minutes. A Flutter app on Google Play. A community events calendar. A tiered business directory that the local Lions Club uses to replace the old printed phone book. A custom email plugin that sends weekly weather digests to subscribers. A Gann-based seasonal forecast that cross-references Inigo Jones lunar cycle predictions.
By any honest measure, it is overbuilt for a town of three thousand people. But it works, and the infrastructure costs roughly the same per month as a decent coffee habit.
"BOM's nearest gauged station is at Samford, 12 km southeast and 150 metres lower in elevation. On a typical summer afternoon, the two stations can record rainfall that differs by a factor of four. That is why the station exists."
Foundation
An Ecowitt station on Lyndhurst Hill, feeding a custom Python pipeline, generating twelve JSON files every five minutes.
Temperature to 0.1°C resolution, rainfall to 1 mm, wind speed and direction, UV index, solar radiation, soil temperature, lightning strike distance. All hardware at the station site, no third-party data dependency.
WeeWX handles raw sensor ingestion and archive storage. A custom Python pipeline runs every five minutes: calculates derived values, builds twelve JSON files, and uploads them to the server automatically. No manual steps in the data chain.
Twenty-two years of logged temperature and rainfall at Lyndhurst Hill with varying hardware over the years. The current Ecowitt installation has run continuously since 2023. Aggregates and accuracy comparisons against BOM Samford are published monthly.
The calculators, the Flutter app, and the WordPress widgets all read from the same live weather data feed. One source of truth, refreshed every five minutes. No external API costs, no rate limits.
Subscribers to the Dayboro Buddy app receive push notifications for severe weather events: flash flood watch, frost alerts overnight, and heatwave warnings. Delivered via Service Worker push on Android and iOS.
The same data feeds a Home Assistant instance with Sigenergy solar battery management and Amber Electric spot-price optimisation. Weather station data informs battery charge scheduling — more solar forecast means less grid charging overnight.
Gardening Tools
Each one pulls from our live station feed, updated every five minutes. Standard WordPress pages with Elementor HTML widgets. No external API keys, no third-party services. Free tier gets a subset of the tools; premium members get all nine plus extended history views.
The calculators are deliberately simple on the outside. Each one fits in a single Elementor HTML widget: scoped CSS, vanilla JS, no build tools, no npm. They have been running without maintenance since February 2026. If you need a calculator that breaks six months after launch because a dependency updated, these are not that.
Mobile App
A Flutter Progressive Web App. One codebase, deployed as static files, available on Android via Google Play and on iOS via Safari's Add to Home Screen.
The Android APK (package: au.dayboro.app) is on Google Play and installs like a native app. On iPhone, open app.dayboro.au in Safari, tap the share icon, tap Add to Home Screen — it installs in seconds. No App Store account, no review process, no waiting.
The service worker handles offline caching, background sync, and push notifications. Auto-update works silently: when a new version deploys, the service worker detects it on the next load and refreshes. Users are always on the current version without being asked to update anything.
3.9 MB. Loads in under 3 seconds on a standard 4G connection.
v2.0.7 — live and available at au.dayboro.app.
Core navigation and cached weather data available without a connection.
Frost alerts, flood watches, and severe weather warnings delivered to the home screen.
A standard WordPress PWA gives you a cached version of the site. Flutter gives you a proper application with its own navigation model, AR-capable WebView, and native-feeling UI. The weather calculators need to query JSON data, render charts, handle offline state, and update in the background. WordPress PWA plugins cannot do that reliably. Flutter can.
Community
Business directory, events calendar, weekly email digest, and a membership model. All built into the same WordPress instance, all interconnected.
118 local businesses listed across three tiers: full page, half page, and quarter page. Built on a custom WordPress plugin I wrote specifically for this. The Lions Club in Dayboro uses it as the digital replacement for the annual printed directory. Directory data feeds the Flutter app via a custom REST API.
Community events, markets, school dates, and local meetings. Pulled from a custom REST endpoint and displayed on the homepage. The Flutter app reads the same endpoint. One entry point for event data, multiple display surfaces.
A custom email reports plugin — not a third-party newsletter service — sends a weekly digest to subscribers. The past seven days of temperature and rainfall, a short summary, and links to the current forecast. Queue runs on WordPress cron. Open rates run consistently above industry average for small-community newsletters because every single number in the email is from this valley, not from a regional station 12 km away.
PMPro handles membership. The free tier gives access to the core weather data and four calculators. Premium unlocks all nine calculators, extended historical data, and the seasonal forecasting tools. No trial-by-credit-card — the free tier is genuinely useful on its own.
Web push notifications via the Dayboro Buddy service worker. Subscribers opt in to frost alerts, flash flood watches, and heatwave warnings. Notifications go through a custom WordPress plugin to a push API endpoint, not through a third-party notification service.
A custom rds-siteanalytics plugin tracks page views and reads Gitea issues as a website task list, displayed in the WordPress admin. No Google Analytics, no third-party tracking scripts. Visitor data stays on the server.
Forecasting
The seasonal forecasting side lives at crohamhurst.app, a separate subdomain. It is not a standard weather forecast.
It combines Inigo Jones lunar cycle predictions with a Gann astronomical analysis pipeline built in Python. The output is a qualitative seasonal outlook: whether the coming month is likely to run wetter or drier than average, based on long cycle positions going back to 1913.
This is a historical-cycle-based outlook, not a deterministic forecast. It does not know about La Niña, blocking highs, or the Indian Ocean Dipole. It knows about repeating patterns in the long-term record that correlate loosely with the positions of the Sun, Moon, and inner planets. Accuracy on wet-versus-dry calls over a six-week window runs around 62 to 65 percent. That is useful for farm planning — it is not useful for scheduling outdoor events.
The same Gann pipeline also feeds a CFD trading signal system that runs against IG Markets on a demo account. The methodology has been applied to commodity markets since W.D. Gann used it in the early 1900s. Whether it holds up in modern commodity trading is being tested systematically. Results so far are inconclusive — which is the honest answer.
How the pipeline works
Sun, Moon, and planet positions calculated from NASA ephemeris data. Declinations, aspects, and angular relationships computed daily.
Lunar cycle positions mapped against the Jones seasonal calendar for SE Queensland. Crohamhurst Observatory data integrated.
Multiple Gann factors combined into a single directional score. Only scores above 70 are treated as signal-grade — below that, the model abstains.
Monthly outlook published at crohamhurst.app with the cycle rationale and historical comparison years. Free to read, no account required.
Under the Hood
No managed cloud services, no vendor lock-in, no SaaS subscriptions in the data path. Every component runs on infrastructure I control.
Core CMS and membership engine. PMPro handles access control, payment processing, and subscription management. No WooCommerce for memberships — PMPro does it cleaner for this use case.
Dart compiled to JavaScript, deployed as static files at app.dayboro.au. Service worker for offline and push. No backend needed for the app itself — it reads the same public JSON files as the website.
WeeWX handles sensor ingestion. A custom Python module processes the data, runs accuracy calculations, and generates the twelve JSON export files every five minutes via root cron.
Three custom plugins built specifically for this site: dayboro-business-directory (Lions Club listing management + REST API), dayboro-email-reports (queue-based weekly digest), and rds-siteanalytics (custom analytics + Gitea task integration).
All sites hosted on a dedicated server in Brisbane. Help4bis.com, dayboro.au, gardenbuddy.au, rds.ink, m8chat.au, and eight other domains all run on the same physical machine. Australian data residency, not US cloud.
GW2000 gateway with multiple sensor arrays. Direct local API plus cloud sync. WeeWX reads locally — the data pipeline does not depend on Ecowitt's cloud servers staying up.
No Google Analytics — privacy matters in a small community where everyone knows each other. No third-party notification services — push goes through our own endpoint. No CDN — the server is in Brisbane and the audience is in SE Queensland; the latency is fine. No React, no Next.js, no build pipeline for the widgets — vanilla JS in Elementor HTML widgets is fast, maintainable, and does not break when npm packages update.
What we can build for you
Not the whole thing. Something appropriate to your scale and budget. The tools, the architecture, and over twenty years of experience building for small communities are here. What we need from you: a clear description of what problem you are trying to solve and who you are solving it for.