Portfolio mobile app built with React Native and Expo. The app tracks a user's movement on a map, saves local progress, and turns route coverage into a lightweight gamified experience.
This project shows mobile UI work, geolocation logic, persistent state, maps, i18n, and defensive handling of location sessions. It is a stronger portfolio project than a static landing page because it has real app state, permissions, background behavior, and user progress.
- Interactive map built with
react-native-maps - Location permissions and session tracking
- Distance, speed, and progress statistics
- Local persistence with AsyncStorage
- English and Russian translations
- Theme support and reusable UI components
- Route and city-coverage logic
- React Native
- Expo
- React Navigation
- Expo Location
- React Native Maps
- AsyncStorage
- i18next
- Turf.js
src/
components/ Reusable UI components
context/ App and theme state
locales/ Translation files
navigation/ App navigation
screens/ Main app screens
styles/ Map and UI styles
utils/ Location, storage, and level helpers
npm install
npm run startFor device testing, use the Expo development client and enable location permissions.
- Add TypeScript
- Add unit tests for distance and level helpers
- Add a privacy-focused onboarding screen
- Add screenshots and short demo video
- Move debug logging behind a development flag