Civic app for web, mobile, and Apple Watch
O! Dzik!
An anonymous Krakow app for reporting wild boar sightings, checking recent activity, and quickly finding practical safety guidance.
Project preview

Sightings map
Recent reports appear as zones without exposing the animal’s exact location.

Fast reporting
A short form captures group size and the most important traits of the sighting.

Nearby alerts
People choose whether they want notifications about recent reports nearby.

Sighting details
Key details and safety guidance are available as soon as an alert is opened.

Safety guidance
Four simple rules for staying safe during a wild boar encounter.

District ranking
A comparison of reports from today, the last seven days, or the last thirty days.

Playful badges
Funny names and illustrations add variety to the app, while badges reward awareness, safety knowledge, and credible community contributions.

Data control
An anonymous profile, Apple Watch settings, and an option to delete all app data.
Overview
O! Dzik! is a public product I designed and built from scratch for people living in Krakow. It combines a map of recent reports, a short submission flow, nearby alerts, and practical safety instructions. The experience stays anonymous, while the distinctive language and illustrations make a serious topic feel approachable without turning it into a game. The web version is already live, while the mobile apps are waiting for their store releases.
Problem
Wild boar sightings are usually shared through scattered posts and neighborhood groups. Reports become stale quickly, their credibility is hard to assess, and publishing exact locations can encourage people to approach the animals.
Product bet
If reporting takes seconds, locations are displayed as safe zones, and every alert includes clear guidance, residents can get a useful signal without creating another alarmist social feed.
What I built
- A recent-sightings map that uses approximate safety zones instead of exact animal locations.
- Anonymous reporting of group size and key traits without requiring a photo, name, or email account.
- Nearby alerts with a user-selected radius and a dedicated sighting-detail screen.
- Safety guidance, quick access to the municipal guard, and specific advice for dog owners.
- District rankings and 37 funny illustrated badges that add variety to the app and reward credible reports, safety knowledge, and community help.
- A native Apple Watch app with a map, reporting, profile, and account sync from the iPhone.
AI layer
AI is not a feature here just to earn a label. Reliable data, privacy, a short reporting flow, and clear risk communication mattered more. AI tools supported parts of my design and asset-production process, while the product core remained predictable and straightforward to verify.
Architecture
A TypeScript monorepo with a React Native and Expo app for web, iOS, and Android, a Supabase backend and database, and shared contracts. The Apple Watch target is built in SwiftUI and communicates with the iPhone app through WatchConnectivity. The project includes unit tests, Maestro flows, and a separate Release build path.
Key decisions
- Show approximate report zones instead of the animal’s exact location.
- Avoid collecting a name or email and let users delete their data.
- Place safety guidance directly next to the map and report details instead of hiding it in policy text.
- Use humor in the voice and mascot, while keeping risk and privacy messaging calm and direct.
- Bring the core flow to Apple Watch with the same account rather than creating a separate watch profile.
Outcome / evidence
The public web version is already live. The iPhone, Android, and Apple Watch apps have their own visual system, backend, notifications, tests, and prepared store assets. App Store and Google Play links will be added here after release.
What I would do next
Finish distribution-build verification, publish the mobile apps, and add the App Store and Google Play links.