Java Developer in Poreč, Croatia
Owner2015 - PRESENTSCIO
Technologies: Golang, Java, Python, Google Cloud, Android, PHP, AWS Lambda, DynamoDB, Firebase
- 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.
Back-end Engineer2017 - 2017Globio
Technologies: Golang, Fintech APIs
- Developed the back-end in Golang.
- Implemented various fintech APIs.
Back-end Engineer2015 - 2016Storie
Technologies: Golang, Java, Google Cloud Platform, iOS, Android
- 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.
Senior Java Developer2010 - 2015Infobip
Technologies: Java, Spring, Python, Groovy, Tomcat, Web services, SMPP, PHP, Ruby
- 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.
Senior Java Developer2004 - 2010Istarska kreditna banka (Istrian Credit Bank)
Technologies: Java, Spring, Tomcat, Web Services, AS400
- 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.
Lead Developer2005 - 2009Aqua d.o.o.
Technologies: PHP, Java
- 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.
Math and Informatics Teacher2000 - 2004Elementary 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.
- 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.
LanguagesGo, Python, Java, PHP, Ruby
Libraries/APIsGoogle Maps, LeafletJS, jQuery, JasperReports, jQuery UI
ToolsFirebase Cloud Messaging (FCM), Android Studio, IntelliJ, Vim Text Editor, Gimp, LaTeX, Shell
ParadigmsAgile Software Development, Test-driven Development (TDD)
PlatformsAndroid, Google App Engine, Firebase, Linux, Heroku
StorageGoogle Cloud, MySQL, AWS S3, Memcached, IBM DB2, Microsoft SQL Server
FrameworksSpring, Apache Struts 2, webapp2, React Native
- Bachelor's of Science degree in Math1993 - 1999PMF - Zagreb