This is a personal project made by a university student, for fun and for learning. It is not an official guide, not a botanical authority, and not connected to any professional identification service.
It scores around 88% on a small test set of about 41 photos, and it has been tested in the park on 220 more. It still misidentifies plants regularly, and it can be confidently wrong.
Never use anything you see here to decide what is safe to eat, touch or handle. Do not pick, taste or eat any plant, in this park or anywhere else, on the basis of what this page tells you. Many plants are toxic and some look almost identical to edible ones. If it matters to your health, ask a qualified person — not a game.
Please respect the park and its plants: observe and photograph, don't pick or damage anything, and follow the park's own rules and any staff instructions.
The site is offered as it is, with no guarantee of accuracy, availability or fitness for any purpose. To the fullest extent permitted by law, the author accepts no liability for any harm, loss or damage arising from using this site or relying on its output. By continuing you confirm you have read this and accept those terms. If you are under 18, use it with an adult.
The hunt needs those terms accepted before it can run, so it'll stay closed for now — but nothing is lost. The six plants are out there either way, and the park is worth the walk on its own. If you'd like another look at the terms, just head back.
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.
Learn the six below
Find and photograph one
Collect all six
Stand back far enough to get the whole plant in shot — trunk, branches and all. Whole plants read better than close-ups.
This isn't about how old your phone is. iOS borrows free storage space to make room in memory, so when the disk is nearly full a large file like this one can't be loaded. Both phones this happened to had under 4 GB free.
These are the only species that count. Each photo was taken in this park — find the same plant and it turns to colour.
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.
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.
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.
Your photos never leave your phone — the model runs entirely inside your browser, and nothing is sent anywhere or stored on a server.
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:
Both files are in Italian, and both are honest about what didn't work — including the limits this hunt is running on right now.
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.
Your card is ready, sized for an Instagram story. Tag @donatospagnuloo and @blue_paradise_coliving — and whoever you beat to it.
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 @donatospagnulooEvery 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.