TRANSMISSION 015 · 19 JUL 2026 ARCHIVE: ZONE 2 — MOBILE / ANDROID · CASE STUDY

BioRadar: a flora and fauna scanner built on the iNaturalist API (Expo + Capacitor)

The Weaver — build log
BioRadar main screen: BIO RADAR header with IT/EN language switch, selected point Rome, Italy with coordinates, a circular cyan radar with a central marker and sweeping beam, a 20/60/100 km radius selector and a START SCAN button
Fig. 1 — BioRadar: the radar is the interface, and the scan is a real query to the iNaturalist API.

You don't read the land from a map: you read it from its traces. A footprint, a leathery leaf, a call you don't recognize. This tool invents nothing — it queries a living archive, kept by people who have been watching the land for years, and hands it back as a target on a screen. The radar doesn't see ghosts: it sees what someone else has already spotted, close to you.

What BioRadar is

BioRadar is an Android app for identifying plants and animals, with a cyberpunk radar-scanner interface: concentric circles, a central marker, a beam that “sweeps” the area. But under the aesthetic the data is real: BioRadar queries iNaturalist[1], the citizen science platform with hundreds of millions of nature observations, and shows the species actually sighted within 20, 60 or 100 km of your position (or of a point you pick by hand on a map).

Next to the scanner there's a second, offline mode: a hand-curated archive of eight biomes — Mediterranean, temperate forest, alpine, wetlands, tropical, steppe/semi-arid, boreal, savanna — with bilingual cards on typical flora and fauna, useful when the connection is gone or you just want to explore without scanning. It's a Zone 2 project: mobile, from concept to build, shown for how it's made inside.

How it's built

BioRadar started out as an Expo Router[2] app (React Native, TypeScript) and is shipped as an Android APK through Capacitor[3]: Expo's web export becomes the WebView that runs inside the native wrapper. It's the same base as EcoSurvivor with one extra piece, because here the app also has to talk to a real external service.

Zone note Zone 2, but with one foot outside the usual perimeter: here the app depends on a third-party service (the public iNaturalist API) for its main function. Without a network, the scanner goes silent — but the biome archive stays entirely offline, precisely so the app isn't left mute when the signal drops.

The scanner: from radius to list

The Radar screen flow is short: pick a radius (20, 60 or 100 km), hit START SCAN, and the app queries iNaturalist on the active coordinates — either the GPS ones or a point you picked by hand on the map. The response becomes a list you can filter by all / flora / fauna / birds (and other taxonomic groups), each entry with a photo, common name, scientific name in italics, a color-coded IUCN conservation status[4] code (green for “least concern”, up to red for endangered species) and the number of observations recorded in the area.

Scan results in BioRadar: radius set to 20 km, NEW SCAN button, header 60 SPECIES DETECTED, All/Flora/Fauna/Birds filters, and a list of species with photo, common name, scientific name in italics and LC conservation code — including Yellow-legged Gull and Hooded Crow
Fig. 2 — a real scan: the species come from the iNaturalist API, not from a hand-written list.

Tapping a species opens the detail screen: larger photos, the Wikipedia summary linked to the taxon (when available), and a share button. The screen can also fetch an extra photo by searching on the scientific name, for the cases where the first photo returned by the API is poor.

Explore: the offline biome archive

The second tab flips the approach: instead of querying the network, it shows a curated, hand-written dataset, bilingual Italian/English, organized by biome. Each biome has a handful of representative flora and fauna species, with a description, habitat and distinguishing traits — meant to be read, not just scanned. The app also works out the most likely biome from your current coordinates, and flags it at the top of the list as the “current biome”.

BioRadar Explore screen: EXPLORE Biomes of the Planet header, current biome indicator Temperate Forest, and a list of all biomes with flora and fauna counts — Mediterranean, Temperate Forest, Alpine, Wetlands, Tropical
Fig. 3 — eight biomes, a hand-written archive that doesn't depend on the connection.

This half of the app answers a practical limit of the scanner: iNaturalist is extremely rich where there are active observers, and sparser elsewhere. The biome archive fills the gap with stable content, always available, built more for learning than for discovery in the field.

Saved and the points on the map

The third tab keeps track of your saved points: coordinates you want to find again quickly, so you can go back and scan a specific place without relying only on the GPS of the moment. From here you can also reach the app's general disclaimer, which you can recall at any time after the first acceptance.

root@survival:~$ arch --project bioradar
> ui: expo router (react native) · wrapper capacitor · typescript
> live data: iNaturalist API · species_counts by lat/lng/radius · in-memory cache
> offline data: hand-written biome dataset · it/en · no network required
> position: expo-location (native) / @capacitor/geolocation (webview)
> graphics: react-native-svg · inter font · feather + material community icons

Frequently asked questions

What is BioRadar built with?

It's an Expo Router app (React Native, TypeScript), exported as web and packaged with Capacitor to produce the Android APK. Positioning uses expo-location or @capacitor/geolocation depending on the platform.

Where do the species shown in the scanner come from?

From the public iNaturalist API, queried in real time with the coordinates and radius you choose. They're real observations uploaded by the iNaturalist community, not a static catalog written for the app.

Does it work without a connection?

The scanner doesn't, because it depends on the API. The Explore tab, with the archive of the eight biomes, is entirely offline: no network calls, data already included in the app.

Does the app track my position anywhere?

Your position is only used to query iNaturalist and for the points you choose to save locally on your phone. There's no BioRadar server collecting or storing your coordinates.

Is BioRadar part of a bigger catalog?

Yes: it's the first of the three pillars of the Survival Apps catalog, the one dedicated to knowing and respecting the nature around you.

A radar creates nothing: it amplifies what's already there, and makes it readable at a glance. Whether the next target on your screen is a heron on a canal bank or an oak that was here before you — the signal was always there. It just needed someone to stop and listen.

Notes

  1. iNaturalist — a citizen science platform that started as a university project and is now run together with the California Academy of Sciences and the National Geographic Society: anyone can upload photos of plants and animals they've observed, which are identified by the community and become open data available through an API. ↑ back to text
  2. Expo Router — Expo's file-based navigation system: the folder structure under app/ defines the screens and their routes, the way the pages of a website work. ↑ back to text
  3. Capacitor — a native wrapper that packages a web app (here: Expo's web export) inside an Android/iOS WebView, giving it access to native features such as geolocation, filesystem and notifications through plugins. ↑ back to text
  4. IUCN conservation status — the International Union for Conservation of Nature scale that classifies a species' risk of extinction, from LC (“least concern”) to EX (“extinct”), passing through NT, VU, EN and CR. ↑ back to text

// FROM THE SAME ZONE

TRANSMISSION 034 29 SEP 2026
ZONE 2 — MOBILE / ANDROID · DECISION GUIDE

Your phone already knows how to call for help: turn these features on

Emergency SOS and emergency contacts are already built into Android and iPhone. Here's how to switch them on.

TRANSMISSION 023 05 AUG 2026
ZONE 2 — MOBILE / ANDROID · MANIFESTO

Three apps, three pillars of survival

BioRadar, EcoSurvivor and HotSummer share a common thread I only found afterwards: know nature, don't waste resources, face the extremes.

TRANSMISSION 022 01 AUG 2026
ZONE 2 — MOBILE / ANDROID · REFLECTION

Ownership vs. Subscription

Why "publisher, not seller" doesn't mean "I don't sell": a reflection on one-time purchases, subscriptions, and what's still yours after you buy an app.