Jestem programistą Androida. Mam też doświadczenie z Frontendem, zaglądam czasami na Backend lub do niskopoziomowych logów terminali płatniczych :)

Jestem fanem “czystego kodu”, interesuje mnie architektura oprogramowania i wzorce projektowe. Jestem dość leniwy i uwielbiam automatyzować sobie pracę (:snake: :heart:).

W wolnym czasie staram się nie zapomnieć, jak się gra na gitarze :guitar:, czytam książki :books:, oglądam bardzo słabe filmy :movie_camera:, albo tracę czas na gry komputerowe :video_game:. Lubię też biwakować :tent: i chodzić po górach :sunrise_over_mountains:.

Contact me

Znajdź mnie na Linekdin / Github / [Facebook][fb] albo poprostu przywitaj się mailem.

Jeśli interesuje Cię moje CV

Technologie z którymi pracuję

Kilka moich projektów

Wedding App (tytuł roboczy)

Chciałem nauczyć się Fluttera przy okazji jakiegoś projektu, a kolega z pracy powiedział że robi aplikację na swój ślub... więc połączyłem obie rzeczy :) Projekt Android/iOS który wykorzystuje Firebase do przechowywania i dzielenia się zdjęciami, obsługi księgi gości i informacji o wydarzeniu. Jest też mapa Google z zaznaczonymi POI i szybkim przenoszeniem się do nawigacji. Architektura BLoC, CI/CD na Bitrise, customowe fonty i kolory na mapie.

GdzieTaBiedra

Aplikacja powstała na potrzeby rekrutacyjne :) Ale potem przepisałem ją żeby korzystała ze wzorca Uber RIBs, bazy Realm, Retrofita, RxJavy i Kotlina.

AirRide

Nigdy nieukończony projekt kontrolera pneumatycznego zawieszenia samochodu. Aplikacja Androidowa łączy sięz kontrolerem zaworów (Arduino) przez Bluetooth. Kontrola zawieszenia jest możliwa przez wciskanie przycisków, użycie akcelerometru w telefonie lub stworzenie sekwencji która jest zapisana w bazie Realm. Komunikacja przez Bluetooth jest zrealizowana przez wzorzec Command co pozwoliło na łatwe zmiany i rozszerzanie możliwości. Zostało to przetestowane na prawdziwym samochodzie :)

Fibaro

Aplikacje dostępne na smartfon i tablet do kontroli systemu inteligentnego domu. Długożyjąca i długorozwijana aplikacja, refaktoryzowana z czasem. Zaczęliśmy używać w niej MVP i unit testów w Spocku. Aplikacja dostarcza również widgetów ekranowych i ma wersję na Android Wear.

Frigo

Moja praca magisterska. Postanowiłem użyć Kotlina do aplikacji Androidowej kiedy jeszcze był przed wersją 1.0. Aplikacja korzysta z bazy Realm i Retrofit do komunikacji z aplikacją serwerową. GCM został użyty do natychmiastowej synchronizacji danych między użytkownikami. Po stronie serwera pracuje ExpressJS postawiony na Heroku z bazą MongoDB. W trakcie rozwoju aplikacji napisałem bibliotekę do notyfikacji - Notti.

Notti

Mała biblioteka usprawniająca korzystanie z notyfikacji na Androidzie. Powstała po paru godzinach szukania błędu, którym okazało się niepodanie tytułu notyfikacji w builderze, co nie było w żaden sposób zgłaszane jako wyjątek, ale notyfikacja się nie pojawiała :)

Dinegra

Asystent podróży samochodem w formie aplikacji na Androida. Pozwala rejestrować trasy, spalanie, wzywać pomoc, wyświetlać POI na mapie. Rejestracja trasy jest używana do wyzwać lub eventów, jak w Endomondo. OpenGL został użyty do stworzenia animowanego bota z którym można rozmawiać w trakcie jazdy. Aplikacją można sterować przy pomocy komend głosowych. Zapewnia także funkcjonalność cichego alarmu antywłamaniowego - kiedy jest uzbrojony, aplikacja będzie wysyłać emaile z położeniem samochodu jeśli tylko oddali się od miejsca zaparkowania bez rozbrajania. Zaimplementowaliśmy też a'la CB przez Websocket do rozmów z kierowcami w okolicy.

Counter

Aplikacja-piaskownica z widgetami ekranowymi o zmiennym rozmiarze, wykresami w MPAndroidChart, bazą danych Relam i Shared Element Transition.

FirebaseLogin

Mała biblioteka która owija metody autoryzacji Firebase w ładniejsze API z użyciem RxJava2.