Foodar reads a real multispectral sensor prototype through ThingSpeak, stores every reading with its original timestamp and entry id, and shows it to you with honest freshness, provenance, and uncertainty. No seeded demo data. No fabricated “safe / unsafe” verdicts.
When no real reading has arrived, the workspace says so — it never invents one.
Server-side ingestion pulls only genuine ThingSpeak entries, keyed by channel + entry id so nothing is duplicated or synthesized.
Every stored reading keeps its upstream created-at and entry id. Freshness is computed against a documented window and shown plainly.
Missing fields stay missing — never zero-filled. Unverified field mappings are labeled. Errors are shown, not hidden behind fake data.
The browser never talks to ThingSpeak directly. A protected server task ingests, normalizes, and stores readings; the app renders only what has actually been stored.
AS7341 channels captured by the ESP32 under controlled illumination.
The device publishes to a private channel. Read keys stay server-side.
A secret-protected task pulls new entries idempotently and preserves timestamps.
You see stored real data with freshness, provenance, and honest states.
Foodar ships a genuinely-trained dry-matter regressor built from a laboratory spectral dataset with group-aware validation. Its held-out performance is poor — so we say so. The workspace shows the model’s name, version, task, metrics, and limitations, and refuses to apply it where the feature space doesn’t match the live sensor.
Reported metrics (held-out family)
A negative R² means the model performs worse than predicting the dataset mean. It is retained to demonstrate an honest end-to-end lifecycle, not to make claims.