Case study · Android app + Google Sheets back end Proje · Android uygulama + Google Sheets arka uç

The field app that ran a bike-sharing fleet's maintenance

Bir paylaşımlı bisiklet filosunun bakımını yürüten saha uygulaması

As Samsun Provincial Manager at Tazı, a bike and e-scooter sharing company, I designed and built an Android app that replaced paper forms and WhatsApp messages for maintenance, repairs, shifts and vehicle tracking. It became the regional repair centre's system for eight provinces.

Paylaşımlı bisiklet ve e-scooter şirketi Tazı'da Samsun İl Yöneticisi olarak bakım, onarım, vardiya ve araç takibini kâğıttan ve WhatsApp'tan alan bir Android uygulaması tasarlayıp geliştirdim. Uygulama sekiz ile hizmet veren bölge onarım merkezinin sistemi oldu.

The demo runs in your browser with the app's real operating data, anonymised. Read-only.
Demo tarayıcıda, uygulamanın gerçek ve anonimleştirilmiş verisiyle açılır. Salt okunur.

The problem

Sorun

A shared fleet lives or dies by how fast broken vehicles get back on the street. When I started in May 2025, that work ran on paper and chat groups.

Paylaşımlı bir filoda her şey arızalı aracın ne kadar hızlı sahaya döndüğüne bağlı. Mayıs 2025'te başladığımda bu iş kâğıt ve mesaj gruplarıyla yürüyordu.

No maintenance history

Bakım geçmişi yok

Which bike had which service, at what mileage, with which part, was not recorded anywhere searchable.

Hangi bisiklete hangi kilometrede, hangi parçayla bakım yapıldığı aranabilir bir yerde tutulmuyordu.

Repairs lost in transit

Yolda kaybolan onarımlar

Scooters and control cards shipped between provinces had no status: received, in repair, sent back?

İller arasında gidip gelen scooter ve kontrol kartlarının durumu belli değildi: teslim alındı mı, onarımda mı, geri gönderildi mi?

Shifts on trust

Güvene dayalı vardiya

A 24/7 field team with no record of late starts, vehicle condition at handover, or which stations were actually visited.

7/24 çalışan saha ekibinde geç başlama, devirde aracın durumu ya da hangi istasyonlara gerçekten gidildiği kayıtlı değildi.

The solution

Çözüm

A native Android app for the field team, with Google Sheets and Apps Script as a zero-cost back end that management could read directly. 26 sheet modules sit behind it; I built it with AI-assisted development and shipped updates continuously while the team used it.

Saha ekibi için yerel bir Android uygulaması; arka uçta yönetimin doğrudan okuyabildiği, maliyetsiz Google Sheets ve Apps Script. Arkasında 26 tablo modülü var; yapay zekâ destekli geliştirmeyle yazdım ve ekip kullanırken sürekli güncelledim.

Maintenance and depot

Bakım ve depo

  • Depot intake/exit, faults, part changes, missing parts
  • Tiered periodic maintenance with overdue list
  • QR scanning, inventory counts, stock per province
  • Depo giriş-çıkış, arıza, parça değişimi, eksik parça
  • Kademeli periyodik bakım ve bakımı gelenler listesi
  • QR okuma, envanter sayımı, il bazında stok

Regional repair centre

Bölge onarım merkezi

  • Service intake and return per province
  • Control-card repair with stages and repeat detection
  • Repair reports for each sending province
  • İl bazında servis girişi ve iadesi
  • Aşamalı kontrol kartı onarımı, tekrarlayan arıza tespiti
  • Gönderen her il için onarım raporu

Shifts and vehicle

Vardiya ve araç

  • Shift roster, start alarms, delay report
  • Vehicle handover with five photos
  • GPS tracking, driving behaviour, station geofences, automatic alerts
  • Vardiya çizelgesi, başlangıç alarmı, gecikme raporu
  • Beş fotoğraflı araç teslimi
  • GPS takip, sürüş davranışı, istasyon geofence'leri, otomatik uyarılar

My role

Benim rolüm

I ran the Samsun operation and its five-person 24/7 field team, and I was also the app's product owner, designer and developer: I found the problems on the street, specified the screens, built them, trained the team, and read the data every day to decide what to fix next.

Samsun operasyonunu ve beş kişilik 7/24 saha ekibini yönettim; aynı zamanda uygulamanın ürün sahibi, tasarımcısı ve geliştiricisiydim: sorunları sahada buldum, ekranları tanımladım, geliştirdim, ekibi eğittim, neyi düzelteceğime her gün veriye bakarak karar verdim.

The app went beyond Samsun: other provinces used it to send scooters and control cards to the regional repair centre and to track their own records. In the demo I appear as Personel 1.

Uygulama Samsun'la sınırlı kalmadı: diğer iller scooter ve kontrol kartlarını bölge onarım merkezine göndermek ve kendi kayıtlarını izlemek için kullandı. Demoda ben Personel 1 olarak görünüyorum.

Measured results

Ölçülmüş sonuçlar

Every number below is recomputed from the app's own records by the build script in this repository.

Aşağıdaki her sayı, bu depodaki betikle uygulamanın kendi kayıtlarından yeniden hesaplandı.

Fleet
Filo
299
bikes in the Samsun fleet
bisiklet, Samsun filosu
%98%
of the fleet in the field
filo sahada
294 of 299, dashboard snapshot
299 araçtan 294, pano anlık görüntüsü
55
geofenced zones
geofence bölgesi
stations, office and restricted areas
istasyon, ofis ve yasak alanlar
Maintenance
Bakım
298/299
bikes went through periodic maintenance
bisiklet periyodik bakımdan geçti
tiered periodic maintenance
kademeli periyodik bakım
984
maintenance records
bakım kaydı
344
batteries checked
batarya kontrolü
Regional repair centre, one technician
Bölge onarım merkezi, tek teknisyen
1,378
control-card repairs
kontrol kartı onarımı
for 8 provinces
8 il için
525
scooters serviced
scooter servise alındı
%99%
returned repaired
onarılarak döndü
13 → 3
median repair time, days
medyan onarım süresi, gün
first month vs. best month; see chart below
ilk ay ve en iyi ay; aşağıdaki grafiğe bakın
Scale
Ölçek
7
provinces used the app
ilde kullanıldı
9,290
logged operations
kayıtlı işlem
4,234 km
of driving data
sürüş verisi
2,894
station visits detected
istasyon ziyareti
4,224
automatic alerts
otomatik uyarı
5
person team, 24/7
kişilik ekip, 7/24

Median repair time by intake month

Giriş ayına göre medyan onarım süresi

Days from intake to return, regional repair centre
Girişten iadeye gün, bölge onarım merkezi

Logged operations per month

Aylık kayıtlı işlem

Adds, edits and deletes written by the app
Uygulamanın yazdığı ekleme, düzenleme ve silmeler

Walk through the app

Uygulamayı gezin

Dashboard, depot records, repair centre, shift roster, handovers, tasks, station map, GPS routes, stock and alerts, with real data. Nothing is saved.

Pano, depo kayıtları, onarım merkezi, vardiya çizelgesi, araç teslimleri, görevler, istasyon haritası, GPS rotaları, stok ve bildirimler, gerçek veriyle. Hiçbir şey kaydedilmez.

Open the demoDemoyu aç

Timeline

Zaman çizelgesi

  • 2025-05
    Start as Samsun Provincial Manager, first maintenance records
    Samsun İl Yöneticisi olarak başlangıç, ilk bakım kayıtları
  • 2025-10 – 2026-01
    Full fleet periodic maintenance, inventory counts, notifications
    Tüm filoda periyodik bakım, envanter sayımları, bildirimler
  • 2026-02
    Regional repair centre: service intake and control-card repair for other provinces
    Bölge onarım merkezi: diğer iller için servis girişi ve kontrol kartı onarımı
  • 2026-06
    Station geofences and automatic visit detection
    İstasyon geofence'leri ve otomatik ziyaret tespiti
  • 2026-09
    Task assignment, shift start tracking and delay report
    Görev atama, vardiya başlangıç takibi ve gecikme raporu
  • 2026-10
    Vehicle handover with photos, GPS driving sessions and driver performance
    Fotoğraflı araç teslimi, GPS sürüş oturumları ve sürücü performansı
  • 2026-11
    Handover to the company's own platform
    Şirketin kendi platformuna geçiş

When Tazı moved operations to its own company-wide platform, the app had done its job: it carried the province and the repair centre until then, and I managed the migration of the processes and the data myself.

Tazı operasyonu şirket genelindeki kendi platformuna taşıdığında uygulama görevini tamamlamıştı: ili ve onarım merkezini o güne kadar taşıdı; süreçlerin ve verinin geçişini ben yönettim.

Technology

Teknoloji

KotlinAndroid (Material, WorkManager, foreground services)Fused location + accelerometerQR / barcode scanningGoogle SheetsApps Script (REST endpoints)Google Drive (photos)Offline cache and syncAI-assisted developmentYapay zekâ destekli geliştirme
Sheet modules behind the app (selection)
Uygulamanın arkasındaki tablo modülleri (seçme)
  • Dashboard
  • Depo
  • Personeller
  • Görev Atamaları
  • Sayımlar
  • Vardiyalar
  • VardiyaGerceklesme
  • GecikmeRaporu
  • AracTeslim
  • AracRotaGecmis
  • AracDinamik
  • AracKonum
  • Scooter Stok Envanter
  • Bisiklet Stok Envanter
  • Servis Kayıtları
  • Parça Onarımı
  • İstasyonlar
  • İstasyon Ziyaretleri
  • Notifications
  • ActivityLogs
  • ChangeLog
  • SystemLogs

About the data

Veri hakkında

The demo uses the real records, anonymised before publishing: people are replaced by consistent numbers (Personel 1, 2, ...), and passwords, phone numbers, vehicle plates, device ids, photo links, URLs and zones around staff homes are removed. GPS routes are limited to three sample shifts, thinned, with the first and last 300 m of each session cut. An automated audit checks every published file against the original values.

Demo gerçek kayıtları kullanır; yayından önce anonimleştirildi: kişiler tutarlı numaralarla (Personel 1, 2, ...) değiştirildi; şifre, telefon, araç plakası, cihaz kimliği, fotoğraf bağlantısı, URL ve personel evlerinin çevresindeki bölgeler çıkarıldı. GPS rotaları üç örnek vardiyayla sınırlı, seyreltilmiş ve her oturumun ilk ve son 300 m'si kesilmiştir. Otomatik bir denetim yayımlanan her dosyayı özgün değerlere karşı tarar.