Scroll To View More
Tomo Krajina

Tomo Krajina

Poreč, Croatia
Member since December 29, 2013
Tomo is a Java, Android, and Golang developer with 13+ years of experience. He has worked on Android, web, and back-end applications, telecommunications, and enterprise and banking systems. He is especially interested in all things GPS related.
Tomo is now available for hire
Portfolio
  • SCIO
    Golang, Java, Python, Google Cloud, Android, PHP, AWS Lambda, DynamoDB, Firebase
  • Globio
    Golang, Fintech APIs
  • Storie
    Golang, Java, Google Cloud Platform, iOS, Android
Experience
  • Java, 14 years
  • Google Maps, 7 years
  • SMPP, 5 years
  • Google Cloud, 5 years
  • Go, 4 years
  • Android, 2 years
Poreč, Croatia
Availability
Part-time
Preferred Environment
Vim, Git, IntelliJ, Android Studio, Bash, Linux
The most amazing...
...thing I've built is an open source library that is now used to track wild animals in Africa.
Employment
  • Owner
    2015 - PRESENT
    SCIO
    • Worked and maintained various open source projects.
    • Mantained several websites and their internal microservices.
    • Developed an Android application for language learning to help users learn new words by going through 10,000 sentences.
    • Created an Android application for numeric sequences and time tracking.
    • Developed a news aggregation Android application complete with back-end.
    • Integrated Android apps with Firebase and Google cloud back-ends.
    • Maintained Trackprofiler, the online GPS track editor.
    Technologies: Golang, Java, Python, Google Cloud, Android, PHP, AWS Lambda, DynamoDB, Firebase
  • Back-end Engineer
    2017 - 2017
    Globio
    • Developed the back-end in Golang.
    • Implemented various fintech APIs.
    Technologies: Golang, Fintech APIs
  • Back-end Engineer
    2015 - 2016
    Storie
    • Implemented a back-end REST API hosted on Google Cloud.
    • Implemented video processing workflow.
    • Implemented a variant HLS video streaming solution.
    • Helped the development of iOS and Android applications.
    • Integrated REST APIs with mobile apps.
    • Integrated push notifications with mobile apps.
    Technologies: Golang, Java, Google Cloud Platform, iOS, Android
  • Senior Java Developer
    2010 - 2015
    Infobip
    • Developed enterprise SMS messaging systems.
    • Implemented various applications using the SMPP protocol.
    • Implemented the GSMA OneApi REST API.
    • Developed open-source client libraries for the OneAPI REST API.
    • Introduced the Git versioning system and worked on a specific Git workflow to be adopted.
    • Introduced Groovy scripting for several applications.
    Technologies: Java, Spring, Python, Groovy, Tomcat, Web services, SMPP, PHP, Ruby
  • Senior Java Developer
    2004 - 2010
    Istarska kreditna banka (Istrian Credit Bank)
    • Implemented an internet banking back-end system.
    • Worked on several web applications for internal use.
    • Worked on an application for money laundering prevention.
    • Implemented a reporting system.
    Technologies: Java, Spring, Tomcat, Web Services, AS400
  • Lead Developer
    2005 - 2009
    Aqua d.o.o.
    • Implemented a bridge between an application for inventory management and the company's CMS (a WordPress plugin and a Java service).
    • Implemented a CMS and web shop.
    Technologies: PHP, Java
  • Math and Informatics Teacher
    2000 - 2004
    Elementary School Poreč
    • Taught kids programming (mostly Python) and mathematics.
    • Mentored regional and state level competitions.
    • Lobbied for the use of open-source technologies in the educational system.
    Technologies: Python
Experience
  • 10,000 Sentences (Development)
    https://play.google.com/store/apps/details?id=info.puzz.a10000sentences

    10,000 sentences an Android app for language learning. It helps 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.

  • Gpxpy (Development)
    https://github.com/tkrajina/gpxpy

    Gpxpy is a Python library for GPS/GPX tracks. It implements all the most common algorithms used to manipulate and analyze GPS track data.

  • GoLongFuncs (Development)
    https://github.com/tkrajina/golongfuncs

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

  • Typescriptify Golang Structs (Development)
    https://github.com/tkrajina/typescriptify-golang-structs

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

  • Trackprofiler (Development)
    http://www.trackprofiler.com/

    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.

  • Git Introduction: Uvod u git (Other amazing things)
    http://tkrajina.github.com/uvod-u-git/git.pdf

    An introductory book about Git in Croatian.

  • GraphAnything (Development)
    https://github.com/tkrajina/GraphAnything

    GraphAnything is an Android application to help users visualize various number sequences. For example: tracking weight, running distance and speed, or time spent on a project. It can also be used as a pomodoro timer.

  • Go-reflector (Development)
    https://github.com/tkrajina/go-reflector

    Golang reflection simplified.

  • Ftmpl (Development)
    https://github.com/tkrajina/ftmpl

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

  • Geo Elevations: SRTM.py (Development)
    https://github.com/tkrajina/srtm.py

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

  • Introduction to HTTP Live Streaming: HLS on Android and More (Publication)
    Despite its age, HTTP Live Streaming (HLS) remains a widely used standard in adaptive bitrate video and a de-facto Apple alternative to MPEG-DASH. In this tutorial, Toptal Java Developer Tomo Krajina explains what makes HLS tick and demonstrates how to create an HLS player in Android.
  • Adventures in GPS Programming and Development: a Geospacial Tutorial (Publication)
    This post explores some of the more common types of GPS tracking errors to expect with low-end GPS devices, providing an understanding of what causes them as well as some approaches for correcting them. The techniques outlined can provide users of low-end GPS devices with a reasonable level of automated improvement of the accuracy of their GPS tracks.
Skills
  • Languages
    Java, Python, Go, Ruby, PHP
  • Libraries/APIs
    Google Maps, jQuery, LeafletJS, jQuery UI, JasperReports
  • Tools
    Vim Text Editor, IntelliJ, Android Studio, Firebase Cloud Messaging (FCM), Shell, LaTeX, Gimp
  • Paradigms
    Test-driven Development (TDD), Agile Software Development
  • Platforms
    Google App Engine, Android, Linux, Firebase, Heroku
  • Storage
    Google Cloud, AWS S3, MySQL, Microsoft SQL Server, IBM - DB2, Memcached
  • Other
    SMS, SMPP
  • Frameworks
    Spring, webapp2, Apache Struts 2
Education
  • Bachelor's of Science degree in Math
    1993 - 1999
    PMF - Zagreb
I really like this profile
Share it with others