Inspiration
I think about this quote from "The Idiot" by Elif Batuman like literally every day:
“You seem pretty interested by that book,” he said. “What’s it about?”
I tipped it up to show the cover, which was purple and said LANGUAGE in big white letters.
“Man, do I hate language,” Ham said. “If I had it my way, we would all just grunt.”
“If we all did that, the grunting would become a language.”
“Not the way I would do it.”
“Really,” I said.
In reply he made some kind of noise.
Basically, I'm really not convinced that language is synonymous with intelligence, so, instead of asking ChatGPT for life advice, I decided to ask.... A slime mold.
Physarum polycephalum (The Blob) is a unicellular organism that is weirdly intelligent, considering that it doesn't have a brain or nervous system. Soooo what if we combined it with an LLM? 👀
What it does
I gave the Blob two choices to see which one it prefers. Then the Oracle analyzes its patterns and movements over time and gives a cryptic prophecy based on the Blob's choices. 🔮
How we built it
Hardware:
- RaspberryPi 5
- Rasberry Pi camera
- Screen and keyboard to write in the terminal
- Ring light
- Camera holder
Software:
The Oracle works in 5 steps:
- First it captures photos of the Blob to create a timelapse.
- Then it converts the photos to black and white for clear contours.
- Then it calculates new growth regions by subtracting the starting point.
- Then it analyzes growth and movement over time and condenses it into a json description.
- This description is then fed to gpt-oss-20b and a prophecy is generated.
Challenges we ran into
Oh god, this was definitely an adventure... Writing code was not easy, but it was probably the easiest part. Managing the Blob, however...
First, it wouldn't wake up. Then it woke up and started moving, but adjusting camera focus was a challenge to say the least. I originally wanted the Blob to go around an obstacle, but it outsmarted me and dug under it. Then the petri dish went moldy, so I had to start over. 😭😭
When everything was finally working, I had to figure out how to analyze the timelapse. I originally set the time interval to 2 seconds, so I had about 80'000 photos to go through. In the end, I decided to only keep 10 minute intervals, but even then it was super tricky to figure out what the best analysis method would be. I switched between different OpenCV modules and analysis thresholds to see if I should isolate things by colour or create a skeleton or generate intersection points... Not my area of expertise at all.
And lastly, there was the prompt. I wanted the final result to read like a fortune cookie or a horoscope. Something magical, but still understandable and applicable to day to day life. It was a bit tricky to find the balance between the prophecy not reflecting the Blob's movements and it being completely clinical and scientific about it with degrees and percentages and stuff. In the end, I decided to ask gpt-oss's cousin gpt-5 (because no one knows gpt like gpt, right?), and it came up with a clever way to add these like whimsical glossaries in the prompt. Super cool.
Accomplishments that we're proud of
Keeping the Blob alive for more than three days. I'm an infamous plant killer, so this was not obvious. Plus, since the Blob doesn't like light, I lived in complete darkness for three days. Coincidentally, my work's office building had a pipe burst the same week, so everyone had to work from home. Teams calls were definitely interesting...
What we learned
I learned a bunch of stuff about computer vision and biology. I already have so many ideas of what to do next...
I also learned about gpt-oss, since I had never used it before. It was perfect for the job because it's smart enough to analyze quite complex data (interpret the json correctly) and creative enough to generate eerie prophecies.
What's next for Blob Oracle
Boring things first, I definitely need to clean up my code. Since this is a hackathon, it's really far from perfect and there are redundancies in image generation and analysis (you will see).
Then, I would like to come up with a cooler design for the Oracle as a whole. I quite like how I added whimsical messages in the terminal, so it keeps the whole UX in character. However, it would be even better to maybe put the Pi and the petri dishes in some kind of box or something to make it look and feel like a real product, instead of separate components.
For the hackathon, I'm going for the weird hardware or wildcard prize, so I wanted to keep things weird and artsy on purpose. But I genuinely think there is scientific potential to this. The Blob has been studied a lot and has even been used in robotics. I think there is definitely something to explore here when it comes to AI. Maybe the future of AI is unicellular, huh?


Log in or sign up for Devpost to join the conversation.