Martin Lensment


View My GitHub Profile

Martin Lensment Portfolio

Personal information

Name: Martin Lensment, MSc
Position: Lead Software Engineer
Date of birth: 29.08.1990
Linkedin: [link]

Events I've been to

2014, 2015 - LRUG Meetups in London
2013, 2012 - Coach at RailsGirls (International event for girls who want to know something about Ruby)
2012 - Frozen Rails conference in Helsinki
2011 - HTML5 camp
Many Garage48 HUB events


2012 - 2015 Tallinn University of Technology - Electronics and Bionics (Masters)
2009 - 2012 The Estonian Information Technology College - Software Engineering

Professional projects

Domain registry for The Estonian Internet Foundation (2014 - present)

The system will replace the current national (.ee) domain registry for Estonia. Software can be used to run any top level domain registry. The system features EPP and REPP interfaces. This is an open source project:
Technologies: Ruby On Rails 4, PostgreSQL, RSpec, Apache (with mod_epp)

Debt management system for PlusPlus Collection Agency (2014)

A Rails 2 project which I took over. Application for managing debtors, customers and their payments. The most significant improvement I did into this system was integration with RIHA, more specifically with KIS. For this, I had to develop handlers to connect with Estonian X-Tee and then satisfy the SOAP format requirements set by KIS. I also had to install security server which is required by RIA and is responsible for encrypting the communication between servers. This is almost fully tested project.
Technologies: Ruby On Rails 2.x.x, PostgreSQL, RSpec

Report application for Friendly Finance Ltd (2013)

Rails 4 application for generating reports from multiple databases. The interface includes dynamic SQL window so every query can be customized. Every report can be exported to CSV format. Friendly Finance Ltd offers financial services in Europe.
Technologies: Ruby On Rails 4.x.x, PostgreSQL

Kaubamaja Group gift cards (2013)

Released for Kaubamaja Group internal use. I wrote SQL procedures and Java classes (and UI) capable of generating hundreds of thousands of unique gift cards into the Oracle database, exporting them into txt files and encrypting them with SK authentication certificates so that the generated cdoc file could be decrypted by only the people whose identity codes were provided in the gift card application form. This can be done by using the private key on the recipients ID card. The whole process takes under a minute.
Technologies: Play Framework 1.2.7, HTML5, CSS, Javascript, PL/SQL (Oracle)

Autobahn (2013)

Interface for car services for managing customer data, automatically scheduling jobs, timetable and time tracking for mechanics.
Technologies: Ruby On Rails 3.x.x, PostgreSQL, RSpec

New DigiTV software for Elion Motorola digiboxes (2012 - 2013)

Half a year of hard work with Javascript, SVG and EKIOH. It never went live, but at least I know how to work on a really really limited hardware (450mHz processor + 256mb ram (from which usable memory was far smaller)), know how Motorola digibox works in general and know how to manipulate with KreaTV Application Platform.
Technologies: Javascript, SVG, PHP (2012) [link]

Digital signing service for companies and individuals.
Technologies: Ruby On Rails, HTML5, CSS, Javascript, MongoDB, PostgreSQL

New version of (not yet released) consists of backend API (rails-api) and standalone front-end (backbone.js). Test driven project.
Technologies: rails-api (Rails 4, Ruby 2), HTML5, CSS, Javascript, PostgreSQL, backbone.js, RSpec

BOSU - Bonus Money Calculation System (2012)

Back-end system for calculating bonus points on Kaubamaja Group Partnercard. Java classes and XML schemas for loading data files (from cash registers) into the Oracle database, SQL procedures for calculating bonus points each night.
Administrative front-end interface for Kaubamaja Group internal use also written in Java.
Technologies: Spring Batch (JavaEE), Play Framework 1.2.4, HTML5, CSS, Javascript, PL/SQL (Oracle)

CCS - Credit Card System (2011)

Back-end application for Säästukaart+ to manage credit card applications, contracts, cards, reports, account receivables, etc. 2013 summer we added loan and hire purchase features into the system with a sophisticated payment schedule. The system was designed for ETK Finance internal use.
Technologies: Ruby On Rails 3.x.x, HTML5, CSS, Javascript, PostgreSQL

COFI (2011) [link]

Back-end Consumer Financing Service. Applications, offers, contracts, payments, reports, customer management.
Technologies: Ruby On Rails 2.3, Javascript, PostgreSQL

Some of my side projects

Eye controllable feeding robot for disabled people (2015)

The object of the project was to create an eye controllable feeding robot for the disabled. Code name of the project is R(eye)bot which is Rebot, in short. Processing platform was chosen along with the infra red camera. After installing the operating system and necessary drivers, complex software was developed to control the robotic arm via the headset. The code was written in Python and Bash and was released under MIT licence in Github: Video from the prototype was published in Youtube: For further development, the code provides a good platform to easily add more servos and extend the user interface on the headset.
Technologies: Python, OpenCV, Bash

Barkstopper (2014)

This script will play music, when your dogs starts barking loudly. For further comfort, you can easily stop or start music with your mobile device. This is extra handy at night when the computer is too far and your phone is close.
What's interesting about this project is the fact, that it consists of only one file. This file includes amplitude sampling from microphone, audio playback and running a web server (for the GUI). The script is developed using asynchronous methods (mainly sub shells) and is non blocking.
Technologies: Bash

PostgreSQL Amazon S3 Backupper (2013)

Postgre database backup tool. Places backups on the local disk and also to Amazon S3 cloud.
Technologies: Bash

LED-Reflector (2013)

A project to make an ordinary reflector more fun. It consists of ATiny85 chip, temperature sensor, battery, LEDs, button and some other tiny components like capacitors, diodes, resistors. Reflector has 9 different programs. The most fancy one reads temperature and lights LEDs accordingly. When it's colder it glows blue and when its warmer it glows red. Other programs flash LEDs in different manners.
Technologies: C


Guide The Line (2013) [link]

A game. The object is to guide a line through a maze. Each level gets faster and trickier. Click on the link above to try it out!
Technologies: Javascript

Guide-The-Ball (2012)

A game prototype for mobile browsers. The object of the game is to move the ball by tilting the mobile and avoiding randomly generated walls. It can be slow on older devices and velocity vector calculation still need some improvements.
Game proto may be found here. This may only work on mobile devices or this may not work at all. Tested with Android 2.3.3 Firefox browser and Android 4.1.2, also on Firefox. X and Y axis were inverted on Android 4 for some reason. Another presentation of the ball movement is here.
Technologies: Javascript

Multiplayer Snake (2012)

A multiplayer game. Consists of server and client. Multiple clients can connect to the server and multiple games can run simultaneously. Server is written in NodeJS, client in Javascript.
Technologies: NodeJS, Javascript

Singleplayer Snake (2012) [link]

My first game in javascript. Basic snake game which everyone has played on their Nokia 3310. Click on the link above to give it a try!
Technologies: Javascript

Sõiduplaan (2011)

Public transport app for WP7 platform. Done as a group of 3 people. Unfortunately it never went live because our time and resources were limited.
Technologies: C#, Silverlight


HAL (2010)

A football robot for Robotex 2010. Built on top of Botmaster platform (provided by the IT College). It consists of Qt and OpenCV libraries.
Some footage from the competition: [www] We came fourth.
Wiki page
Technologies: C++


Hype (2010)

A simple game. The object of the game is to guide the hedgehog and reach as high as possible.
Wiki page
Technologies: C#, XNA