# birds.place > Log a bird you saw. The sighting lives in your own AT Protocol repository, not ours. birds.place is a client-only web app. There is no backend and no database: it is static files on Cloudflare, and every read and write goes directly to the signed-in user's own Personal Data Server over atproto OAuth. ## the record Sightings are written to the collection `place.birds.sighting`. - `species` (required) — free text, exactly what the observer typed. - `speciesCode` — the observer's asserted identification as a stable eBird/Clements taxon code (e.g. `norcar`). Present only when they picked from the list. May be a `spuh` ("hawk sp.") or `slash` ("Greater/Lesser Scaup") code when the identification is honestly partial. - `count`, `notes` — optional. - `media` — up to 4 blobs (image, audio, or video) on the observer's own PDS. Bird calls are first-class. - `location` — optional latitude/longitude, stored as strings and deliberately rounded to 3 decimal places (~110m). These are public, permanent records; a sighting does not need a precise fix, and a precise one cannot be unpublished. - `observedAt`, `createdAt` — separate, so a sighting can be logged later. The NSID authority is `birds.place` itself. ## reading the data Sightings are public atproto records. Enumerate them the way you would any collection — no API key, no account here, and no permission needed from us. There is no server-side index; this app queries only the signed-in user's repo. ## honor system `species` is what someone believes they saw. It is not a verified determination and nothing here reviews or ranks observers. This is a place to notice birds, not a scoreboard. ## links - [birds.place](https://birds.place/): the app itself — sign in with any atproto account. - [source](https://tangled.org/zzstoatzz.io/birds.place): full source, including the lexicon at `lexicons/place/birds/sighting.json`. - [OAuth client metadata](https://birds.place/oauth-client-metadata.json): the client document, scoped to `place.birds.sighting` plus blobs. - [taxonomy.json](https://birds.place/taxonomy.json): the 12,924-taxon species bank the picker searches, from the eBird/Clements taxonomy, ranked by GBIF occurrence counts. - [AT Protocol](https://atproto.com): the protocol the records live on.