Tomo Krajina

I’m a Java, Golang and Python developer with 15 years of experience. I worked on web and back-end applications, telecommunications, enterprise banking systems, video processing backends and mobile apps. I am especially interested in education, GPS and open source.

My professional carreer is mostly about backend Java/Golang and (more recently) Android projects.

I’m also a regular open source contributor (, where I use Python, Golang, Java and Typescript.


Employment and freelance contracts:

Helping to build the IT infrastructure, Coachbit, 2019 - PRESENT

Technologies: Golang, react-native, typescript

Owner, SCIO, 2015 - PRESENT

Technologies: Golang, Java, Python, Google Cloud, Android

Back-end and Mobile Software Engineer, Teach me 2, 2018 - 2019

Technologies: Golang, react-native, typescript

Back-end Software Engineer, Globio, 2017

Technologies: Golang

Lead Developer, Trackprofiler, 2009 - PRESENT

Technologies: Golang, Python, PHP, JavaScript

Back-end Software Architect, Storie, 2015 - 2016

Technologies: Golang, Java, Google Cloud Platform, iOS, Android

Senior Java Developer, Infobip, 2010 - 2015

Technologies: Java, Spring, Python, Groovy, Tomcat, Web services, SMPP

Senior Java Developer, Istarska kreditna banka/Istrian Credit Bank, 2004 - 2010

Technologies: Java, Spring, Tomcat, WebSphere, Web Services, AS400

Lead Developer, Aqua d.o.o., 2005 - 2009

Technologies: PHP, Java

Math and Informatics Teacher, Elementary School Porec, 2000 - 2004

Technologies: Python, Chalk and board

Selected projects:

10,000 Sentences (Android app)


10,000 sentences an language learning Android app to help users learn new words in a foreign language. The idea is to go through 10,000 sentences in a target language. By exposing users to unknown words in a real context (a sentence) they learn new words.

Typescriptify Golang Structs (Open source tool and library)


A helper tool and library to seamlessly use Golang models in Typescript.

Gpxpy (Open source library)


Gpxpy is a Python library for GPS/GPX tracks. It implements all the most common algorithms used to manipulate and analyze GPS track data. Widely used in GIS-related research and GPS-related apps.

GoLongFuncs (Open source tool)


A statical analysis tool to discover long and complex functions in Golang. The user decides which measures of “complexity” to use, for example: “numer of variables in scope”, “number of assignments”, “nested blocks”, “cyclomatic complexity”, “complexity per line of code”, etc.

Go-reflector (Open source library)


Golang reflection simplified.

Ftmpl (Open source library)


Ftmpl is a fast, compiled, and typesafe templating language for Golang.

Trackprofiler (Web app, microservice)


Trackprofiler is an online GPS track editor intended for hikers, mountain bikers, and outdoor lovers. Users can upload their tracks, fix common GPS errors, split or join tracks, add elevation data, etc. Tracks can be uploaded via email or from Dropbox.

Geo Elevations: (Open source library)


A Python library for the Shuttle Radar Mission Data (SRTM) and the Earth Gravitational Model (EGM2008).

Leaflet Editable Polylines (Open source plugin for Leaflet)


A plugin for Leaflet (the interactive maps Javascript framework) used for editing large polylines.

Selected writings:

Introduction to HTTP Live Streaming: HLS on Android and More


In this article I’m explaining how Apple’s HLS (HTTP Live Streaming) works. Includes a sample Android application with code.

Adventures in GPS Programming and Development: a Geospacial Tutorial


An article explaining some common problems when analysing GPS data.

Git Introduction: Uvod u git (Open source book)


A book about Git in Croatian.