Recently I launched Ghost Flora, an augmented reality scavenger hunt about endangered native plants. It premiered at the 2026 Portland Winter Lights Festival, where players searched for posters around the city, unlocked plants in AR, and learned about the fragile ecosystems these tiny species support.
This year’s festival theme was “All the Little Things,” which got me thinking about the delicate balance of ecosystems. Even the tiniest elements play an outsized role.
The idea behind the project was simple:
Small life forms → big impact.
The build process, however, was… less simple. Haha!
There were a series of hurdles, spills, and thrills. Each one taught me something useful. Hopefully a few of these lessons help you out if you ever find yourself building something similar.
Ultimately the project launched successfully (eventually reaching several hundred eyeballs)… and I did not die in the process! Always a win. :)
The user flow was pretty straightforward:
• Scan a QR code to launch the experience
• Pick a plant and receive a hint
• Find the plant poster and unlock the AR experience
• Learn about the plant, its habitat, and its ecological relationships
• Collect all the plants to unlock the hidden, magical garden and enter to win framed prints
Simple idea. Lots of moving parts.
At first my plan was to build on either: Adobe Aero or 8th Wall. I even built prototype versions in both.
Then Adobe announced Aero was shutting down at the end of 2025.
Ok fine, I thought. I’ll use 8th Wall. That will be better because I can use the VPS technology to make it location based.
A few weeks later it was announced that 8th Wall was also shutting down in 2026.
Cool cool cool.
So I pivoted again and built the project in Lens Studio using WebAR, which ended up being a good solution because it runs in the browser and is more accessible for a public project.
LESSON: If you work with emerging tech, adaptability is not optional.
Platforms change. Tools disappear.
Learning to pivot is part of the job.I keep telling myself this is excellent life practice. Haha!
With the platform roulette challenge resolved, it was time to move forward. ONWARD!
At this point I was having a lot of fun creating the 3D plants (sculpting in VR with Gravity Sketch, then refining and animating them in Blender).
Then the next challenge appeared.
Originally the plants were unlocked using image anchors. Players would scan the posters and the plant would appear. Then I realized something obvious. The festival happens at night. Image anchors + darkness = not great.
So I switched to text codes on the posters. Except… I discovered that using the SnapChat native keyboard in a WebAR experience simply didn’t work. I had limited options.
Rebuild the entire experience in CameraKit
Or build a keyboard from scratch
My response? HARD NO, on both counts. The project was alllllmost complete.
LESSON: Test fundamental functionality in the exact deployment environment as early and as often as possible. That is literally what prototypes are for. I know better. Haha!
So, I pivoted again and decided to use pictogram codes, rather than text.
Each poster shows a sequence of symbols. Enter the same sequence in the app and the plant unlocks.
I designed, built, and deployed that system in less than a day just in time for opening night!
And honestly? It was better than the original idea. It was more fun, more game-like, and I even liked the visual design more too.
LESSON: Sometimes a challenge leads you to a better idea than the one you started with.
If you are building a real world scavenger hunt using posters, here are some tips:
Consider the weather. I’m in Portland, Oregon so I laminated mine.
Consider location. Work with property owners if you can. I tried public spaces and most of my posters were ripped down within a day or two.
Consider redundancy. I posted three copies of each plant poster so people had a better chance of finding them.
Consider use case. Since this festival happens mostly at night, I added glow-in-the-dark tape to make the posters extra eye catching.
When you have a long runway of time, it’s tempting to push project start dates back. I made this mistake and wish I hadn’t. I’d genuinely recommend starting as early as possible even if you think you “have time.”
Also, it’s really important to build in a lot of buffer into your time estimates. Specifically, include extra time for approvals, if you are using a platform that requires them (e.g. Lens Studio.) At certain points, approvals were taking a few days to pass, which (obviously) create a severe stutter in the build workflow.
LESSON: Submitting a new lens often gets approved faster than submitting a revision. So, consider that, if you’re in a last-minute scramble like I was.
Like most creative projects, Ghost Flora involved a healthy mix of planning, improvisation, and mild panic. Along the way I picked up a few lessons about platforms, prototyping, and posters in the wild. If sharing them saves someone else a little time, stress, or QR code frustration, then this post has done its job.
Since this project launched, 8th Wall came out of the corporate closet and is now OPEN SOURCE! Extremely cool news for everyone in the community. Thanks, 8th wall!
If you have any specific questions about the project or the build, I’d love to hear them. Drop ‘em down below.
Happy making 🌿
Heather
The physical hunt is over, but the experience is still available online.
You can try it here: https://www.ghostflora.com
Use the pictogram codes below to unlock the plants and explore the hidden garden from wherever you are.
No posts

Comments
Nothing yet. Say the first thing.
Sign in to join the conversation.