Scroll To View More
Tomo Krajina, SMPP Developer in Poreč, Croatia
Tomo Krajina

SMPP Developer in 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
  • React Native, 1 year
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

    Go, Python, Java, PHP, Ruby
  • Libraries/APIs

    Google Maps, LeafletJS, jQuery, JasperReports, jQuery UI
  • Tools

    Firebase Cloud Messaging (FCM), Android Studio, IntelliJ, Vim Text Editor, Gimp, LaTeX, Shell
  • Paradigms

    Agile Software Development, Test-driven Development (TDD)
  • Platforms

    Android, Google App Engine, Firebase, Linux, Heroku
  • Storage

    Google Cloud, MySQL, AWS S3, Memcached, IBM DB2, Microsoft SQL Server
  • Other

    SMS, SMPP
  • Frameworks

    Spring, Apache Struts 2, webapp2, React Native

Education

  • Bachelor's of Science degree in Math
    1993 - 1999
    PMF - Zagreb
I really like this profile
Share it with others