░█▄█░█░█░█▀▀░█▀█░█░░░█▀█░█▀▄░
░█░█░░█░░█░░░█░█░█░░░█▀█░█▀▄░
░▀░▀░░▀░░▀▀▀░▀▀▀░▀▀▀░▀░▀░▀▀░░
Mushroom Cultivation TrackerEver since I got back into cultivation, I kept running into the same problem: scattered notes, vague descriptions, photos stored somewhere else — data that completely lost its coherence a few weeks later.
Anyone else relate?I usually prepare lots of PF-Tek cakes, work with several strains, and take prints from interesting specimens to track lineage. At some point my brain simply ran out of room. I couldn't find an app that kept me organized without friction, so I built one around my own workflow — especially with how easy "
vibe coding" makes things nowadays (otherwise, it would have meant a few weeks of barely sleeping).
I never planned to share it. But after a few weeks of use, and the relief of having everything neatly in one place, I figured some of you might find it useful too.
MycoLab —
offline-first mushroom cultivation tracker (single HTML file, no accounts, no server)
One HTML file, works on PC and mobile, no account needed, and nothing leaves your device.
HOW IT WORKSFour main tabs —
Summary,
Cultures,
Prints,
Strains — plus a "
+ New" button.
Start by adding a Strain with a short code and a full name (e.g. "MR" = "Matias Romero"). From then on, every new culture (PF-Tek, Bulk, BRF Puck or Agar) gets a unique ID automatically. Example:
MR013P3•
MR — strain code
•
013 — culture number
•
P — type (P = PF-Tek, B = Bulk, BP = BRF Puck, A = Agar)
•
3 — lineage generation

When creating a culture you can add its source (a print, or the ID of another culture/agar). Preparing six identical cakes? Create them in one go — up to 50 per batch, with consecutive codes.
Every culture gets its own page: full lineage path, basic info, day counter, current status, a ★ selection mark with your own criteria, notes, photos, flushes with fresh yield weight, and a status history showing the day each change happened and how long each stage lasted.
- PF-Tek / Bulk / BRF Puck statuses: Colonizing, Consolidation, Fruiting, Resting, Finished, Contaminated
- Agar statuses: Active, Contaminated, Discarded
CULTURES tab: all your cultures with quick info, search by code or strain name, and filters by strain, type (PF / B / BP / A) and status.
PRINTS tab: register each print with strain, generation, source cake, date, storage, status (fresh / viable / degraded / discarded), notes and photos — and see which cultures were derived from it.
SUMMARY tab: counts by status, this month's yield, total yield, and your latest harvests.
IMPORTANT — HOW YOUR DATA IS STORED- Your data lives in your browser's local storage and saves automatically. Nothing is uploaded anywhere: once the page has loaded, the app makes no network requests (fonts are embedded — open the file in a text editor and search for "http", you won't find any).
- That storage is per device, per browser and per address. The online version, a local copy of the file and your phone are separate databases. To back up or move your data, use
Export / Import: a single
JSON file with everything, photos included (
encoded as base64).
- Clearing site data — or a browser cleaning up sites you haven't opened in a while (Safari can do this) — can wipe it.
Export a JSON regularly!- Photos are downscaled to a maximum of 512 px on the longest side (JPEG) to keep things light. Lots of photos means a big JSON.
-
Known limits: no sync between devices, no encryption.
LINKS (GitHub)Online version:
https://belintaf.github.io/MYCOLAB_v6.5_EN.htmlSource code:
https://github.com/Belintaf/belintaf.github.io/blob/main/MYCOLAB_v6.5_EN.htmlFonts: VT323 and Press Start 2P (SIL OFL), embedded.
Feedback, bug reports and constructive criticism are very welcome — and feel free to modify it however you like. If people find it useful, I'll update this post with a proper manual.Hugs