A butterfly's journey
a study on monarch butterflies with citizen-driven collection data
March 5, 2026
by findingLuisa.com
๐Ÿฆ‹
Intro
They fit in the palm of your hand.
Every year, they fly from Mexico to Canada and back.
They are also listed as an endangered species in Canada.

You guess it right, it's the monarch butterflies.




An Endangered Species


Citizen-driven Efforts
The data was collected over the .... iNaturalist

Data Analysis
Data Cleaning
The raw dataset contained 703,394 records spanning from the 1800s to 2025. The first thing I noticed was that more than half the records (371,805) had no recoverable date, meaning neither the eventDate field nor the year, month, and day fields were populated.

As visible in the chart below, data before 1980 is extremely sparse, so I restricted the analysis to 1980 onwards. The spike around 1999-2001 also stood out. Digging into it, it turned out to be a bulk submission from Monarch Watch, a dedicated monarch monitoring program based out of the University of Kansas that has tracked the species since the early 1990s. These records were aggregated annually and lacked day and month information, making them unusable for phenological analysis. energy analysis
After removing records with unrecoverable dates, missing coordinates, duplicates, and pre-1980 observations, the dataset was reduced to 316,273 records. Given sparse coverage in the early years, the analysis was further restricted to 2010 onwards, yielding a final dataset of 312,235 records, roughly 44% of the original.

Data Visualization
The maps below show monarch butterfly sightings across North America colored by month. The full migration corridor is immediately visible, with purple and blue dots cluster in Mexico during winter, greens push north through spring, and reds and oranges spread across the US and Canada through summer and fall. Comparing across periods, the density of sightings increases noticeably over time, largely reflecting the growth of iNaturalist as a platform rather than the actual monarch population.
2010 - 2015
2010-2015
2016 - 2020
2016-2020
2021 - 2025
2021-2025
All years
all years
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec

Each dot represents a sighting, colored by month of observation. Colors follow the seasonal cycle, with cool purples and blues in winter, greens in spring, warm oranges and reds through summer and early fall.

The animation below shows the monthly migration pattern across the full dataset. Watch the monarchs move north through spring and return south in the fall.

Statistical Analysis
On the path


Conclusions


Next Steps
References
๐ŸŸฆ
Fig. 1 - Arduino Setup
  • The moisture sensor (MS) connects the plant to the Arduino (A) via a 3.3V voltage and outputs data on A0.
  • The phototransistor (P) connects to 5V on Arduino (A) through a 10Ω resistor. Data is read on the analog output A2.

The Arduino collects the sensors' data and sends it to the backend (a Python FastAPI application) via asynchronous serial communication. The data is then processed and displayed in React on the frontend. I used a combination of WebSockets and HTTP for communication across the stack. I am fairly new to WebSockets, so it was really cool implementing a two-way communication channel between backend and frontend.

I used GPT-4o by OpenAI to handle text-to-speech (TTS) communication and give Lady Monstera her voice.


From Sensors to Speech
Seeing the plantโ€™s internal state update in real time was absolutely thrilling! I tracked water and light changes over 5-second intervals, and let the plant comment on significant state changes. Here is how Lady Monstera recently handled an abrupt dimming of the lights:

And here is how she reacted to being watered!
Notice how she records and updates the last time she was watered - just another way to remind you how sassy she is, and how she wonโ€™t forgive you for forgetting to water her!


Reflections and Future Opportunities



Thank You, Fellow Hackers!
The Waterloo Voice AI Hackathon was my first real-world hackathon and I loved every minute of it. Coding next to other hackers, exchanging ideas and simply absorbing the energy and enthusiasm in the room has left an indelible mark on me. It has given me the confidence to keep building, no matter how silly or small the initial idea might seem.

A big thank you to the organizers and judges, in particular Ian Pilon, Mike Bird, Ti Guo and Prabal Gupta for your dedication and support.

Keep hacking and see you all at the next one!


NOTE
As a rule of green thumb (yes, I am proud of this one ๐Ÿ™ˆ), don't leaf your plants unattended for too long. Also, singing to them improves their greenery and promotes luscious, beat-loving leaves!
monstera leaf