Botanical treasure hunt

Find the
Six Plants

Parque García Sanabria · Santa Cruz de Tenerife

Six species grow somewhere in this park. Photograph each one and an AI model — trained here, on these exact plants — tells you whether you found it. Collect all six to earn your card.

Play safely and kindly. Watch where you're walking rather than your screen, respect the park, its plants and the people in it, and don't do anything that could put your health or anyone else's at risk. This is a student project and the model is often wrong — don't lean on it for any decision that actually matters.

01

Learn the six below

02

Find and photograph one

03

Collect all six

Photograph a plant

Stand back far enough to get the whole plant in shot — trunk, branches and all. Whole plants read better than close-ups.

NO PHOTO YET
Your photo
Your checklist

The six to find

These are the only species that count. Each photo was taken in this park — find the same plant and it turns to colour.

0 / 6 Species
collected
Where to look

Roughly where they grow

Each pin marks where that plant was photographed. Phone GPS drifts under tree cover, so treat them as a hint of the area, not an exact spot — part of the hunt is the last few metres.

Glorieta RAMBLA CALLE DOCTOR JOSÉ NAVEIRAS CALLE MÉNDEZ NÚÑEZ CALLE NUMANCIA AVENIDA 25 DE JULIO N123456

The numbers match the list above. Positions come from where each photo was taken, and phone GPS drifts under trees — treat them as the area, not the exact spot.

Getting a good reading

How to shoot so it works

About the model

A student project — expect some mistakes

This is a learning project, not a professional plant identifier. All 206 training photos were taken by hand in this park, and the model learns from them through transfer learning on ResNet34. It scores around 88% on its validation set — promising, but measured on only ~41 photos, so treat the number loosely.

What matters more is how it does outside the notebook. It has been tested in the field on 220 photographs across two rounds, and those tests are what shaped the advice above: full shots land, lone trunks confuse it, and the fishtail palm is genuinely hard for it. Earlier versions also hallucinated species when shown ordinary objects — that got traced back to the sky filling the background of the drago photos, and largely fixed by reshooting them.

Some confusions are built in. Small green plants — mint, grass, anything with similar little leaves — usually come back as mejorana. Plants sharing the alcalifa's colouring get read as alcalifa. This isn't a framing mistake on your part: the model simply can't separate them from the six, so photographing something else in the park may well return one of those names.

So it will get things wrong sometimes. If it misreads your plant, that's the project showing its limits, not you playing badly — shoot again, or use the fishtail palm button if that's the one you're stuck on.

206training photos
220field-test photos
~88%validation accuracy

Your photos never leave your phone — the model runs entirely inside your browser, and nothing is sent anywhere or stored on a server.

Work in progress

Everything is written down

The model is still being improved, and every step of that is kept in the open — not tidied up afterwards, but written as the decisions are made. Two files carry it:

decision-journal.md The decision journal Every choice and the reasoning behind it, in prose: why ResNet34, how eleven candidate species became six, why an "other" category exists, and the detective work behind the strangest bug — a model that called shoes and keys drago until the sky was removed from its training photos. Written as each decision is taken, not reconstructed afterwards. Read the journal → training-log.md The training log One row per training run — architecture, epochs, augmentation, seed, losses — plus a reading of the confusion matrix each time, across three versions of the dataset. Including the run whose headline accuracy went down while a real problem got fixed, and what that says about trusting one number. Read the log →

Both files are in Italian, and both are honest about what didn't work — including the limits this hunt is running on right now.

Why the fishtail palm has a button

A version trained without palmera cola de pescado was tried. It actually solved a real problem — bare trunks stopped being misread as olivo or palmera canaria — but it broke something worse: palmera canaria itself went from reliable to recognised once in twenty-six attempts. So that version was dropped and this one kept, with a manual override for the plant the model can't hold onto. A bad reading shouldn't leave you stranded in front of the right tree.

Hunt complete

All six found.

Your card is ready, sized for an Instagram story. Tag @donatospagnuloo and @blue_paradise_coliving — and whoever you beat to it.

Your completed card

Did you make it round all six? I'd love to hear how it went — which plant took longest, and where the model got it wrong.

Message me on Instagram → or find me at @donatospagnuloo
Behind the hunt

Built by Donato Spagnulo

Every photo in the dataset was taken in Parque García Sanabria itself — walking the park, checking the species labels, choosing what to keep. Everything after that happened at Blue Paradise Coliving: training the model, reading the results, and building this site.

Loading the model…