About me

I am a software developer since 2010, specializing in Kotlin and Typescript. Expert in backend development, data streaming, and full-stack applications.

TwitterGithubLinkedInEmail

Here is my resume. Please don’t hesitate to contact for work opportunities!

Resume

Tonis Tiganik

Software engineer with 12+ years of Kotlin and Typescript experience. I can create Kotlin backend and data streaming apps, Typescript full stack apps and also Android apps.

Contact information

📧 tonisives@gmail.com | 🐱 Github | 🔗 LinkedIn | 🌏 tonisives.com

Experience

High-Mobility, Remote – August 2018 – Present

Backend engineer, Data streaming engineer.

We worked in small teams to transfer knowledge about system requirements/architecture. My job was to understand project requirements, implement and release services to production.

Ford car data streaming service

Implemented a service that streams data from thousands of Ford vehicles

  • Uses Ford SDK to stream data via gRPC and then forward it to Kafka.
  • Horizontal scaling with the Ford’s sharding feature and in-house kubernetes
  • Fault tolerance with checkpointing in DynamoDB
  • Grafana dashboard for monitoring and Sentry for error handling.
Kinesis data sink

Implemented a data sink solution for any number of Kinesis streams

  • Each pod publishes to multiple kinesis streams in parallel(configurable)
  • Horizontal scaling by partitioning data by vehicle id
  • AWS Lambda function to allow customer registration. Deployed with Terraform CDK
  • Robust load/fault-injection tests for smooth integration
PSA car data streaming service

Implemented a service that streams data from thousands of PSA(Peugeot, Opel, etc) vehicles

  • Data is read from AWS Kinesis and forwarded to internal Kafka
  • Horizontal scaling by checkpointing Kinesis in DynamoDB
  • Grafana dashboard for monitoring and Sentry error handling
Connected car backend system

Developed a backend system for vehicle data management using Kotlin, implementing MQTT communication and PostgreSQL database integration.

  • Built RESTful services for car owner access management
  • Implemented hierarchical data structure: User -> Connection -> Car -> Data
  • Integrated MQTT protocol for real-time vehicle data streaming
  • Developed secure authentication and authorization mechanisms (OAuth with OTP login)
  • Built an Android to proprietary data conversion service

We test all services for smooth integration

  • 95+% unit tests.
  • load/fault-injection test for all edge cases
  • We use CI to deploy to Kubernetes via Github actions.

High-Mobility, Remote – August 2014 – August 2018

Android Developer

Android Automotive Data Observing App

Built an app that reads car data from the real vehicle, and uploads it to the server via MQTT

  • Jetpack Compose UI with LiveData
  • Reads Android Automotive Data via the CarPropertyManager
  • Uploads data via MQTT/Bluetooth
  • Android Automotive research, including OEM signing, custom firmwares
Bluetooth Auto API Explorer
  • A sample app that shows a possible use case for HMKit Android.
  • We connect to a vehicle/emulator via BLE/Telematics and send some commands like lock doors and turn on lights.
  • Mainly showcases how you can integrate hmkit-android into a customer’s codebase
Open Source Contributions

Developed and supported Kotlin/Java libraries that were used by company clients.

  • hmkit-android Uses bluetooth/telematics to connect to vehicles. Clients can add this to their own apps
  • hmkit-fleet Used for clients to authenticate and connect to cars via High-Mobility platform remotely
  • bluetooth-auto-api explorer Customers can test out their vehicle connection

Cannedapps, Tallinn – 2011 – August 2014 (3 years)

iOS Software Engineer

  • Developing Jaguar Land Rover+Fiat iOS apps. These apps use telematics to send/receive data from cars
    • Used Swift to create complex views with navigation logic
    • Also Custom views for the Car brand
    • Polling of the Car command data
  • Concepts of Car dashboard apps in Android tablet.
  • Weather forecast app for Android

Yrgel Entertainment Internship, Tallinn – January 2011 – May 2011 (5 months)

Intern

  • Android/iOS native application development and Mobile game development with Unity3D.

Hobby projects

Audit-Hero – August 2022 – November 2024
  • A web app that aggregates Security Audit reports: live website

  • NodeJS Backend Development: Used serverless stack with AWS Lambda and DynamoDB. Lambdas are managed through a NGINX proxy.

  • Frontend ReactJS development: Developed responsive user interfaces with ReactJS. Used MaterialUI for modern UI elements, hooks/zustand for state store.

  • Micro frontends Used Module federation to separate deployment of different sub-pages

  • Terraform deployment All services are automatically deployed via Terraform’s CDKTF library.

  • Functional Programming: Implemented functional programming concepts using the fp-ts library to build clean, maintainable, and scalable code bases.

  • Main functionality

    • Content Aggregation: cron jobs parse APIs and websites, utilizing sophisticated regex pattern matching for effective text parsing.
    • Embeddings Matching: Uses Qdrant DB for embedding storage and LLM for rule creation and verification, effectively matching previous findings with current project code.
    • Code Static Analysis: Implemented static analysis with solidity-parser ANTLR, generating call trees and projecting them using mermaidJS for in-depth auditing insights.
    • SAAS product: Includes payments integration with Stripe/Crypto. Users can buy in-app tokens to spend it on LLM queries.

Knowledge Token NFT project August 2022

  • Frontend is written in ReactJS, contracts in Solidity.
  • The project allows writers to create NFT-s that readers can mint. Majority of mint fees go to the author, and some to the project.
  • Backend is in Solidity and AWS Lambda/DynamoDB

DEX Aggregator on Terra Luna. August 2021

  • The node.js AWS lambda function loads price info from token pool contracts.
  • React front end shows the price graphs and there is a price alerts function.
  • Node.js lambda function checks the alerts info and sends email alerts.
  • Users can swap tokens in the liquidity pools directly on the website
Open Source contributions
  • Security Audit Contributions: Actively participated in Solidity security audits, finding high level vulnerabilities and gaining deep knowledge of EVM and frameworks like Foundry and Hardhat. Includes multiple projects about defi, NFT-s and L2-s.
  • Open source contributions I contributed with PR-s to the langchain(1, 2) and Chroma vector db (1, 2) projects.
ti-vim
  • MacOS system-wide Vim mode. Uses Swift in the app, and a Lambda function that validates the app purchase. link
Dig Three
  • Dig Three: Digging game for iOS, made with Unity.

Education

Bachelor’s Degree in IT Systems Development, 2007

Estonian IT College – Tallinn, Estonia

Other

  • Languages: English(fluent) | Estonian(native) | Thai(mid-level)