Git Product home page Git Product logo

hi, it's mxkmn logo

/* pronounced [mʌksikɔma:n] */

Someday in 2020

Nowadays and next years I'm an Android developer, also like to play with microcontrollers and bring their benefits to business. Writes lots of useful Android stuff on StackOverflow.

I've worked as an individual and as a team developer in a startup and small outstaff studio.

As a student participated in 9 hackathons, taking 2nd place twice and 3rd place four times. One day I'll get the first, hopefully.

My latest&greatest projects
icon chronus News and downloads (RU) Preparing for publication on Google Play...
lv_0_20240409220113.mp4

Just the best university timetable app in the world. It automatically adds schedule to the Android pre-installed calendar, allowing it to be displayed in any widget or on a smartwatches.

Stack
  • UI: Compose; Compose Navigation; Material3; Splashscreen API; Dynamic theming on Android 8.1+; Self-written compose permissions handling; Notifications.
  • Architecture: Multimodule; Single Activity; MVI/UDF/Clean Architecture with Jetpack ViewModel and Kotlin Flows; Coroutines; Dagger Hilt.
  • Network and connections: WorkManager; Calendar Provider (ContentResolver); JSoup; Ktor Client; Kotlin Serialization.
  • Local memory: Room; DataStore.
  • Tools and testing: Tracer by OK.Tech; Detekt; KtLint; Gradle convention plugins.
Additional info

Hated WorkManager, check my story at StackOverflow (follow the link by clicking on WorkManager above).


icon Laundry accounting

Screenshots

An application for linen accounting in laundries. Receives employee data from an RFID scanner via BLE, which was developed in team with me. Offline-first approach. Developed completely by me by order of Irkutsk Oil Company.

Stack
  • UI: Compose; Compose Navigation; Material3; Splashscreen API; Self-written compose permissions handling.
  • Architecture: Multimodule approach in monorepository for all Irkutsk Oil projects; Single Activity; MVI/UDF/Clean Architecture with Jetpack ViewModel and Kotlin Flows; Coroutines; Dagger Hilt.
  • Network and connections: Ktor Client; Kotlin Serialization; Bluetooth LE with Kable library.
  • Local memory: Room; DataStore; Storage Access Framework; .xlsx creation.
  • Tools and testing: Detekt; KtLint; Gradle convention plugins.
Additional info

As this was the second project for Irkutsk Oil Company, a monorepository was established for all current and future projects, which increased development speed by times and greatly improved code quality and component reusability.


icon Offline tracker

Screenshots

An application for tracking people in an area without internet coverage. Receives data from trackers via BLE (they get location with GPS and communicates via LoRa in mesh network), which were developed in team with me. Offline-first approach. Developed completely by me by order of Irkutsk Oil Company.

Stack
  • UI: Compose; Material3; Splashscreen API; Self-written compose permissions handling; OpenStreetMap with Osmdroid library.
  • Architecture: Multimodule approach in monorepository for all Irkutsk Oil projects; Single Activity; MVI/UDF/Clean Architecture with Jetpack ViewModel and Kotlin Flows; Coroutines; Dagger Hilt.
  • Network and connections: Ktor Client; Kotlin Serialization; Bluetooth LE with Kable library; Protobufs (to use extended Meshtastic protocol).
  • Local memory: Room.
  • Tools and testing: Tracer by OK.Tech; Detekt; KtLint; Gradle convention plugins; MockK; Compose Tests.
Migrations since project start
  • Singlemodule -> Multimodule;
  • Default repository -> Monorepo for Irkutsk Oil;
  • Google Maps (Maps Compose library) -> Google Maps (Views) -> OpenStreetMap via Osmdroid library (Views);
  • BLE via pure Android SDK -> Kable lib;
  • Self-made firmware for microcontroller -> Meshtastic based modified firmware (so I had to understand the workings of Meshtastic's Protobuf-based communication protocol without documentation);
  • Network connections via pure OkHttp -> Ktor Client;
  • Accompanist permissions handling -> Self-written permissions handling for Compose;
  • Gradle with Groovy -> Gradle with Kotlin and Gradle convention plugins;
  • Firebase Crashlytics/Analytics -> Tracer (advanced crashlytic and monitoring service).
Additional info

Thanks to experience, I now know that GMaps for Compose is very unstable and it makes sense to use an implementation of all actions via View and an additional class to abstract the map capabilities. Migrated to OSM at the request of the customer.


In not presented projects also worked with
  • UI: XML with Fragments; Navigation Component; Material2; View Binding.
  • Architecture: Foreground Services; MVVM; LiveData; Dagger 2.
  • Network and connections: Retrofit; GSON serialization; WorkManager; GPS via Fused Location Provider.
  • Tools, testing and other: Mockito; Espresso; iBeacon.

Some fun stuff

At Summer Schools 2022 by Yandex Academy

My Yandex team Yandex certificate

At MDev Hackathon 2023 by Samsung IT Academy

My MDev team MDev certificate We've got max rating, but 2nd place :/

Built almost from scratch in 2021. It's cool, but I want to rebuild it again (to use new MCU and support RTOS features, make it smaller and also rewrite some crappy code).

Photo

With Vlad Savin at the punk garage "Glotka" (2023)

Photo


Some interests beyond development

Music&sound

Because everyone likes it and writes about on personal pages 🥱.

So, if you want to know about my taste in melodic screamo kircore rap: Deezer profile. Or just click on your ultra-random button: a b c d e f g h i j k l m n o p q r s t u v w x y z

It also requires quality audio equipment, figuring it out was fun and it led to a set of posts with my conclusions (RU). Comparison of 25+ pairs of TWS included. Right now, my choice is the magnificent Noble FoKus Pro.

Summer cycling activities

Photo 1

Photo 2

Statistics in 2023

Other details

Interested in style and care about appearance (currently writing an article about it).

Loving the photography. Check out some pics of nature and travelling on my Instagram.

I also have a bottle collection 🤠:

Bottle collection photo


Maybe more? Just check my Telegram blog (RU). It's also where you can read about my current life goals.

Some nerds statistic

Profile views

Last days from my Code::Stats:

History graph

Loving coding since 2015, professionally since 2021.

Maksim Yarkov's Projects

hackathonandroidblindy icon hackathonandroidblindy

🧭 A repository for collaborative work to develop an experimental ARCore app for indoor navigation (based on iBeacon)

magiskonwsa icon magiskonwsa

Integrate Magisk root and Google Apps (OpenGApps) into WSA (Windows Subsystem for Android)

openweather icon openweather

Arduino library to fetch weather forecasts from OpenWeatherMap

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.