AI / PLANT CARE
to my petal
AI-assisted plant care and visual journaling.
Latest project
- Type
- FULL STACK · MACHINE LEARNING
- Stack
- React 19
- TypeScript
- Vite
- Tailwind CSS 4
- React Router
- TanStack Query
- Motion
- Python
- FastAPI
- SQLAlchemy
- Alembic
- SQLite
- PyTorch
- torchvision
- MobileNetV3-Large
- Vitest
- Playwright
- pytest
- PWA
- Source
- GitHub

Notes on giving a leaf photo an honest second look — and saying “I’m not sure” when that’s the truth.
p. 01 — the idea
Write your plants a love letter.
I built to my petal to help plant owners understand possible leaf issues and keep track of their plants over time. It combines image analysis, care reminders, and a photographic journal in a warm, botanical interface.
Photograph a leaf, get an honest second look, leave yourself notes, and watch each plant’s story grow.
p. 02 — the challenge
One leaf photo rarely tells the whole story.
Symptoms can look alike, growing conditions matter, and models trained on controlled photographs can struggle with real garden images.
The challenge: make image analysis useful while communicating its uncertainty clearly.
p. 03 — the solution
A journal that remembers how it looked.
A responsive, full-stack app where you manage your plants, upload leaf photos, add context about watering and light, and save findings to a personal journal.
Dated photo comparisons show change over time, while recurring reminders and source-backed care guides support ongoing care.
drag the line — or focus it and use the arrow keys

p. 04 — warm, botanical, adaptable
Ivory, forest green, editorial type.
Warm ivory, forest green, editorial typography and subtle motion make it feel like a journal rather than a diagnostic tool.
- Mobile navigation
- Keyboard-accessible photo comparisons
- Reduced-motion preferences
- Installable PWA
p. 05 — engineering & machine learning
A real backend, a fine-tuned model.
tested with Vitest, Playwright and pytest
p. 06 — the analysis flow
Allowed to say “inconclusive”.
The analysis keeps model predictions, user observations and curated guidance separate. Confidence calibration and input checks let the app return an inconclusive result when the evidence is insufficient.
p. 07 — results
Real garden photos made the difference.
Fine-tuning with real-world photographs, measured on a held-out set of 310 images:
before after fine-tuning
p. 08 — what I learned
Communicating uncertainty is part of building a useful AI product.
to my petal strengthened my experience across product design, full-stack development and machine learning evaluation.
— with love, E.H.
Use the arrows, swipe, or the tabs to turn pages. Grab the red pen to mark things up.
{
"Next.js 15",
"React 19",
"TypeScript",
"Tailwind CSS 4",
}Turning team conversations into accountable decisions.
