– Appen lar deg tracke et hvilket som helst tall fra en hvilken som helst nettside. Det gjør AnyTracker til en perfekt prisvarsler, sier Shervin Koushan til kode24.
23 åringen fra Trondheim er utdannet i kybernetikk fra NTNU, og jobber som utvikler hos selskapet ScoutDI som lager avanserte droner for innendørs inspeksjon i industrien.
AnyTracker er imidlertid et privat hobbyprosjekt, et hobbyprosjekt Shervin riktignok har begynt å tjene noen kroner på.
– Da jeg hadde tjent 50-60.000 kroner på Android-appen, brukte jeg halvparten av det til å kjøpe en MacBook for å kunne lage iOS-appen.
Tracker hva som helst
Idéen bak appen er ganske enkel: Hvis du ser et tall eller en tekst på en nettside som du vil følge med på, så kan du markere tallet eller teksten – og AnyTracker vil følge med på endringer for deg.
Dette kan for eksempel brukes til å følge med på en pris på en produktside, en aksjekurs, eller kanskje en statustekst som viser om noe er på lager eller ikke.
Appen ligger i bakgrunnen på telefonen din, og sjekker med jevne mellomrom om det har skjedd endringer på en nettside. Det gjør den ved å blant annet følge med på HTML-elementer, CSS-klasser og annet på nettsiden. På den måten klarer appen å identifisere elementet den skal følge med på.
Det er altså ingen backendtjeneste som kjører på en server ett eller annet sted. Dermed unngår Shervin høye serverkostnader.
– All parsing foregår i bakgrunnen, og oppdateringsintervallet kan være alt fra én gang i uken og helt ned til hvert femte minutt. Når en tracker endres vil du få et push-varsel, og kan gå til nettsiden uten å åpne appen.
Bilselger ble utvikler: - Gi oss selvlærte en sjanse!
Legger ikke igjen spor
– Men kan du ikke bruke tjenester som Prisguiden eller Prisjakt til å gjøre det samme?
– Det er også fine tjenester, men litt forskjellig fra hva jeg har laget. AnyTracker fungerer nesten overalt, og baserer seg ikke på at vi samarbeider med noen nettsider, forklarer Shervin.
Han mener at når man bruker prissammenligningstjenester som er gratis, så er det gjerne du selv som er produktet – gjennom at du for eksempel får reklame.
– Jeg vet ikke hva folk tracker, med mindre de sender meg en mail. Og så vil appen fungere med alt, også utenlandske nettsider.
Måten Shervin tjener penger på appen, er at man må betale noen kroner i måneden for å kunne spore mer enn én ting av gangen.
Lærte Android-utvikling på egen hånd
Selv om det var noe programmering på universitetet, har Shervin lært seg app-utvikling stort sett på egen hånd. Han hadde imidlertid vært litt borti Java gjennom ulike opplæringsvideoer på nettet.
– I 2021 var det korona og jeg hadde mye tid på egen hånd foran PC-en. Så da bestemte jeg meg for å lære meg Android-programmering.
«Den beste måten å lære på er bare å begynne å lage noe.»
Etter å ha lært seg å kode i Kotlin, begynte Shervin å jobbe med AnyTracker – først veldig spesialisert, men etter hvert prøvde han å få appen til å kunne spore så mye som mulig og være mest mulig "generell".
– Jeg hadde ikke så mye erfaring med koding fra før, og satt ganske mye i januar 2021 for å lære meg det grunnleggende. Den beste måten å lære på er bare å begynne å lage noe.
Seks måneder senere var versjon 1.0 av AnyTracker for Android klar.
– Jeg fikk massiv respons på den, og det var i hvert fall tusen nedlastinger første uken. Jeg fikk også tilbakemeldinger på ting som ikke funket.
Kotlin vs. Java: - Mye unødvendig boilerplate
En fordel med native-apper
I løpet av to siste årene har Android-appen blitt videreutviklet, og totalt blitt lastet ned 60.000 ganger.
– Jeg begynte på iOS-versjonen i mars i år, og så var jeg ferdig 5-6 måneder etterpå.
Ifølge Shervin er det ikke veldig vanskelig å lære Swift når man kan Kotlin. Han mener det er fullt overkommelig å lære seg å kode native apper for både Android og iOS. Ettersom han hadde Android-versjonen å referere til, gikk også jobbingen med iOS-appen raskere.
– Og så kunne jeg bruke ChatGPT som "lærer".
«Hvis man har tid og mulighet, er det en fordel å jobbe native.»
Android-appen er laget på "gamlemåten" med XML views, men Shervin har litt lyst til å gå over til JetPack Compose etter hvert. Dette er Googles nye rammeverk for å lage brukergrensesnitt i Android-apper.
– Du vurderte ikke å bruke en kryssplattformløsning som for eksempel React Native eller Flutter?
– Hvis man har tid og mulighet, er det en fordel å jobbe native. Du har bedre kontroll, i hvert fall slik som i min app der du har ting som skal kjøre i bakgrunnen.
Vil lage flere apper
Planen videre nå er å oppdatere iOS-appen slik at den blir fullt på høyde med Android-versjonen.
Det ligger an til 100.000 nedlastinger av Android-appen i løpet av 2023, men det temmelig ambisiøse målet til Shervin er å få hele 1 million nedlastinger på hver plattform.
– Og så vil jeg lage flere iOS-apper. Jeg liker veldig godt rammeverket, og det at man kan prototype raskt og gjenbruke komponenter.