Michał Karpiuk, Software Developer in Warszawa, Poland
Michał Karpiuk

Software Developer in Warszawa, Poland

Member since November 19, 2018
Michal is a software developer with several years of experience working in teams of all sizes for corporations such as Hewlett-Packard and Samsung. He's passionate about mobile applications and specializes in mobile and back-end development. Michal cares about clean, elegant code and a product's quality and performance.
Michał is now available for hire




Warszawa, Poland



Preferred Environment

Visual Studio Code, IntelliJ, Android Studio, Git, MacOS

The most amazing...

...thing I’ve coded is a blockchain-based system with a Node.js server placed inside multiple Docker containers cooperating together.


  • Android Developer

    2019 - 2019
    Steady (via Toptal)
    • Helped to develop and maintain Android application used by several hundred thousand customers.
    • Created several types of video players.
    • Developed a list with automatic loading of new pages after reaching the end.
    • Worked with many libraries, external APIs, services, and management tools.
    Technologies: Libraries, Model View Viewmodel (MVVM), Kotlin, Java, Android
  • Android Developer

    2015 - 2018
    • Led a team of ten in the development of an Android app which was consuming a REST API and made use of a camera and external libraries.
    • Acted as the lead developer in a team of three for an Android project (an app with a music player library accessed through an NDK, connected with multiple REST APIs).
    • Developed with a team of ten a large application for an international organization. The app was connected to multiple REST APIs, used maps, payments, camera, and also had tons of tests.
    • Built the back end in Node.js and Express.js.
    • Developed Ethereum blockchain contracts in Solidity.
    • Constructed a web front end in JavaScript.
    Technologies: C++, JavaScript, Kotlin, Java, Android
  • Java Developer

    2014 - 2015
    • Developed an Android application for Store Intelligence.
    • Implemented a few features in the Java back-end project with the Spring Framework.
    • Created the web front end in JavaScript using the SmartClient library.
    • Built the back end of a project using the Grails platform.
    • Implemented VBA macros for Excel reporting documents.
    Technologies: Visual Basic for Applications (VBA), JavaScript, Android, Java
  • Java Developer

    2012 - 2013
    Innotion Sp. z o.o.
    • Built the back end in Java.
    • Constructed a web front end in JavaScript.
    • Prepared a hybrid mobile application for Android and iOS and released it to various app stores.
    Technologies: iOS, Android, Git, JavaScript, Spring, Java
  • Software Engineer Intern

    2011 - 2011
    • Created a mobile application that calculates and displays the moon phases.
    • Developed a mobile application with a media player and GPS tracking.
    Technologies: Tizen, Bada, Git, C++


  • Swipe Master: Space

    For this project, I created this Android game mainly for the purpose of learning and gaining experience in preparing, deploying to a store, and maintaining an application. The application was installed on 30,000 devices and brought revenue from advertisements.

  • Custom Progress Bar View for Android

    This is an open-source library that I've created with a custom view for Android applications. It's a highly customizable view with animations that can indicate the percentage progress of some action.

  • Life Tracker

    I wrote this Android application for fun as a private project. It acts as a private digital diary. Every ten minutes, it also automatically checks the background phone's location and saves it to an internal database for processing and discovering interesting patterns in a user's behavior such as commonly visited places, traveling paths, and the latest visit to a particular place.

  • Shield for Clash of Clans

    I developed this utility/hack Android app for Clash of Clans, a very popular mobile game. So far my app has been installed on more than 350,000 devices in the world.

  • Location Point Clusterer

    I developed this data-mining project for my master's thesis. I used some clustering algorithms along with many data mining techniques to find places where a user of a phone spends most of the time based on hundreds of thousands of location logs collected by a smartphone.

  • Homepage Classifier

    This is a data-mining project for my bachelor's thesis aimed to classify home websites as a university or scholar's homepage.


  • Languages

    Java, JavaScript, Kotlin, C, Solidity, C++, Visual Basic for Applications (VBA)
  • Libraries/APIs

    RxJava 2, Web3.js, Node.js
  • Tools

    Git, IntelliJ, Android Studio, Geth, Jenkins
  • Paradigms

    Object-oriented Programming (OOP), REST, Unit Testing, Model View Viewmodel (MVVM)
  • Platforms

    Android, Docker, Visual Studio Code, MacOS, iOS, Tizen, Blockchain, Firebase
  • Storage

    SQLite, JSON, MongoDB
  • Other

    Freelancing, Data Structures, Algorithms, Bada, Libraries
  • Frameworks

    Dagger 2, Rx, JUnit, Mockito, Express.js, Spring


  • Master's Degree in Computer Science
    2013 - 2017
    Warsaw University of Technology - Warsaw, Poland
  • Engineer's Degree in Computer Science
    2009 - 2013
    Warsaw University of Technology - Warsaw, Poland


  • Oracle Certified Professional Java SE 7 Programmer (OCPJP)
    JUNE 2015 - PRESENT
  • C1 English Examination
    MAY 2013 - PRESENT
    Warsaw University of Technology

To view more profiles

Join Toptal
Share it with others