TrackCast is a specialized activity tracking application designed to overlay real-time performance metrics (speed, location, and path) onto a user-centric interface. Developed for high-movement activities like driving, skiing, and cycling.
The primary goal is to build a stable Minimum Viable Product (MVP) that records essential trip data with a clean, high-performance UI.
- Activity Recording — Precise tracking for high-velocity sports including driving, walking, and skiing.
- Dynamic Speedometer — Live speed visualization using
React Native Reanimatedfor 60fps smoothness. - Live Map Path — Real-time breadcrumb trail (polyline) mapping using
react-native-maps. - Telemetry Overlay — Professional channel branding and data overlays for content creators.
- Data Persistence — Local session storage including duration, distance, and peak/average speeds.
| Layer | Technology |
|---|---|
| Core | React Native (Expo) + TypeScript |
| Navigation | Expo Router / React Navigation |
| Location Engine | expo-location + expo-task-manager |
| Database | expo-sqlite |
| Animations | React Native Reanimated |
| Maps | react-native-maps |
/src
├── /components # UI elements: Speedometer, MapView, ChannelLogo
├── /features # Logic: useLocationTracker.ts, trackingStore.ts
├── /screens # Pages: Home, Recording, History
└── /utils # Auxiliary functions: Speed formatting, Geo-logic
- Initialize Expo with TypeScript template
- Implement GPS subscription and real-time speed polling
- Goal: Speed updates live and works while moving
- Integration of
react-native-mapswith Polyline path rendering - Big numeric speed display with unit toggle (km/h / mph)
- Needle animations and smooth gauge transitions
- SQLite integration for trip history (distance, duration, max speed)
- Overlay system — Channel logo + Speedometer
- Responsive Landscape mode support
- Background tracking and battery optimization via
expo-task-manager - Video capture synchronization with GPS data
- YouTube Data API integration for automated uploads
This project is a collaboration between Maciej Drahusz (Founder of "Code & Hustle" channel) and Azizbek Abdullayev.
| Role | Name | GitHub |
|---|---|---|
| Collaborator (Founder) | Maciej Drahusz | @mrMagic-web |
| Lead Developer | Azizbek Abdullayev | @Azizbek432 |
- Sustainability — Delaying livestreaming functionality, which is risky for junior developers, to focus on a stable MVP.
- Data Cleanliness — Implement GPS jitter (noise) filters.
- Battery Savings — Background tracking will only be added in Phase 7.
- Background Location — Android/iOS battery limitations (High complexity).
- Video Sync — Synchronizing video with GPS coordinates challenges.
- Map Performance — Optimization of multipoint polylines.
🇺🇿 O'zbekcha versiya
TrackCast — foydalanuvchi interfeysiga real vaqt rejimida ishlash ko'rsatkichlarini (tezlik, joylashuv va yo'nalish) ko'rsatish uchun mo'ljallangan maxsus faoliyat kuzatuv ilovasi. Haydash, chang'i uchish va velosiped haydash kabi yuqori harakatli faoliyatlar uchun ishlab chiqilgan.
Asosiy maqsad — toza va yuqori samarali UI bilan muhim sayohat ma'lumotlarini yozib oladigan barqaror Minimal Ishlaydigan Mahsulot (MVP) yaratish.
- Faoliyat Yozish — Haydash, piyoda yurish va chang'i uchish kabi yuqori tezlikdagi sportlar uchun aniq kuzatuv.
- Dinamik Tezlik O'lchagich —
React Native Reanimatedyordamida 60fps silliqligida jonli tezlik vizualizatsiyasi. - Jonli Xarita Yo'li —
react-native-mapsyordamida real vaqt rejimida non izlari (polyline) xaritalash. - Telemetriya Overlay — Kontent yaratuvchilar uchun professional kanal brendingi va ma'lumot overlaylari.
- Ma'lumotlarni Saqlash — Davomiylik, masofa va eng yuqori/o'rtacha tezliklarni o'z ichiga olgan mahalliy sessiya xotirasi.
| Qatlam | Texnologiya |
|---|---|
| Asos | React Native (Expo) + TypeScript |
| Navigatsiya | Expo Router / React Navigation |
| Joylashuv Mexanizmi | expo-location + expo-task-manager |
| Ma'lumotlar Bazasi | expo-sqlite |
| Animatsiyalar | React Native Reanimated |
| Xaritalar | react-native-maps |
/src
├── /components # UI elementlar: Speedometer, MapView, ChannelLogo
├── /features # Mantiq: useLocationTracker.ts, trackingStore.ts
├── /screens # Sahifalar: Home, Recording, History
└── /utils # Yordamchi funksiyalar: Speed formatting, Geo-logic
- Expo'ni TypeScript shabloni bilan ishga tushirish
- GPS obunasi va real vaqt tezlik so'rovini amalga oshirish
- Maqsad: Tezlik jonli yangilanadi va harakat paytida ishlaydi
-
react-native-mapsni Polyline yo'l ko'rsatish bilan integratsiyalash - Katta raqamli tezlik ko'rsatgichi va birlik almashtirish (km/soat / mil/soat)
- Igna animatsiyalari va silliq o'lchagich o'tishlari
- Sayohat tarixini saqlash uchun SQLite integratsiyasi (masofa, davomiylik, maks. tezlik)
- Overlay tizimi — Kanal logotipi + Tezlik o'lchagich
- Landscape rejimi uchun moslashuvchan tartib
-
expo-task-managerorqali fon kuzatuvi va batareya optimizatsiyasi - GPS ma'lumotlari bilan video yozishni sinxronlash
- Avtomatlashtirilgan yuklashlar uchun YouTube Data API integratsiyasi
Bu loyiha Maciej Drahusz ("Code & Hustle" kanali asoschisi) va Azizbek Abdullayev o'rtasidagi hamkorlikdir.
| Rol | Ism | GitHub |
|---|---|---|
| Hamkorchi (Asoschi) | Maciej Drahusz | @mrMagic-web |
| Bosh Dasturchi | Azizbek Abdullayev | @Azizbek432 |
- Barqarorlik — Junior dasturchilar uchun xavfli bo'lgan livestreaming funksiyasini kechiktirish, asosiy e'tiborni barqaror MVPga qaratish.
- Ma'lumotlar Tozaligi — GPS jitter (shovqin) filtrlarini qo'llash.
- Batareya Tejamkorligi — Background tracking faqat Phase 7da qo'shiladi.
- Background Location — Android/iOS batareya cheklovlari (Yuqori murakkablik).
- Video Sync — Videoni GPS koordinatalari bilan sinxronlash muammolari.
- Map Performance — Ko'p nuqtali polylinelarni optimizatsiya qilish.