Inspiration
Most people meet an insect in a moment of alarm: something lands on your arm, or crawls across the kitchen floor, and the only question in your head is "is it dangerous?" The easiest answer is usually a shoe. We wanted a calmer one. Buggle is a pocket field guide that replaces that reflex with facts, without ever telling you to kill anything.
What it does
Snap or pick a photo, and Buggle names the species in seconds. Then it answers the question you actually had: does it bite, sting, is it venomous, does it carry disease? It also gives size, range, active season and lifecycle.
- Safety facts are never paywalled. Everyone gets them, free, on every scan.
- Honest about AI. The facts are AI-generated and clearly labelled "AI-generated · may be inaccurate". When the model isn't confident about an attribute, Buggle shows nothing rather than guess.
- A field guide, not an exterminator. No pesticide, pest-control or medical advice anywhere in the app's own screens, and every result carries an "Identification only" disclaimer.
- A collection to grow. Every species you find joins your lifelist, with badges for milestones, months and seasons. Seasons are hemisphere-aware, without any GPS.
- Notifications that respect you. Buggle asks for notifications only after your first successful find, never at launch. OneSignal then brings you back with personalised nudges ("3 species in your collection. Last spotted: Honey Bee…") that open straight into your collection.
- A fair paywall. Three free identifications, and the upgrade appears only after you've seen your answer.
How we built it
- App: Flutter, part of a monorepo shared with our plant, bird and fish scanners, with Riverpod for state and Isar for local storage. The collection lives on the device, with no account.
- AI backend: Node/Express, calling a vision model that returns a structured JSON identification. For Buggle it also returns a typed
factsobject, where each hazard is true, false or null, and a validation step turns anything malformed into "unknown". - RevenueCat: Paywalls v2 subscriptions, so the paywall's design, copy and pricing can change without an app update.
- OneSignal: push notifications and in-app messages, driven by six tags the app keeps in sync (region, species count, last species, last scan time, Pro status, badges), plus deep links for campaigns.
Challenges we ran into
- Honesty about our own data. Our first version bundled a table of species facts labelled with health-authority sources. We realised the table itself had been AI-generated and never verified, so the attributions weren't real. We removed every source claim, moved the facts to the live model, and labelled them honestly. Testing proved the point: the same mosquito photo was identified as Aedes albopictus on one scan and Aedes aegypti on another.
- One codebase, four apps. Buggle shares its engine and backend with three other live apps. Every change had to be additive and opt-in, and we checked that the other apps' prompts and responses stayed byte-for-byte identical.
- Timing a notification deep link. A notification tapped while the app was cold-starting was being lost, because navigation wasn't ready yet. We now hold the link until startup finishes.
Accomplishments that we're proud of
- A safety feature that's free, calm and honest: no red alarms, no fear, no paywall.
- A notification ask that comes after the user has had real value, not before.
- A real OneSignal campaign, personalised from the user's own collection, that opens straight into the app.
- Shipping all of this without affecting our other three apps.
What we learned
"I'm not sure" is a feature. A clearly labelled first answer builds more trust than a confident-sounding one that might be wrong. And when you ask for a permission matters as much as whether you ask.
What's next for Buggle: AI Insect Identifier
- Having an entomologist review the species facts.
- Keeping the in-app AI chat to the same field-guide rules as the rest of the app.
- Regional emergence campaigns ("what's active near you this month") and seasonal challenges through OneSignal.
- A control group, so we can measure whether notifications genuinely bring people back.
Log in or sign up for Devpost to join the conversation.