I am Sebastian, an Android Engineer based in Berlin.
Intro
Hello! I'm Sebastian, a software engineer with experience in smaller and larger Android projects. Also experienced with creating games for other systems, applications for PCs and Web development. For more details, see Things I can do and Recent work.
Professional experience
What
Where
When
Android Engineer
Zalando SE
09/2021 - present
Android Engineer
Individual Entrepreneur
04/2017 - 10/2021
Android developer
Deutsche Bahn Systel GmbH
03/2021 - 08/2021
Android developer
CHECK24 Vergleichsportal Profis GmbH
09/2019 - 02/2021
Software developer
Novabit Informationssysteme GmbH
10/2018 - 08/2019
Web developer
Freelancer
03/2018 - 08/2018
Student Teaching Assistant
University of Ulm
04/2014 - 03/2015
Education
What
Where
When
Master of Sciencein Computer Science
Humboldt University of Berlin
04/2016 - 11/2019
Bachelor of Sciencein Media Computer Science
University of Ulm
10/2011 - 03/2016
Things I can do
Android platformAndroid APIs, Gradle etc.
LanguagesKotlin, Java, XML etc.
Architectural patternsMVI, MVVM, MVP
NetworkingREST, Retrofit, OkHttp
Dependency injectionDagger, Koin
Android JetpackCompose, Navigation, Room, LiveData etc.
Unity3DC#, Unity-Editor, VR-development
Development toolsGit, Jira, Jenkins
DatabasesSQLite, PostgreSQL, MySQL
WebHTML, CSS, JS, PHP, WordPress
Recent Work
Podify for Spotify (2020)
A companion app for your Spotify podcasts
Podify for Spotify provides you tools to organize your followed podcasts in a simple and clear way and helps you to find the next episode you want to listen to.
Usage of common Jetpack and Third-party libraries like Navigation, Material design components, Lifecycle, WorkManager, Retrofit, OkHttp, Koin, Room, Moshi, Glide etc.
Fancy animations and transitions with MotionLayout and Jetpack Compose
Modern Kotlin stack with Coroutines and Flows
Communication with Spotify's REST API with OAuth2 authentication
Master thesis: Hand/object interaction in VR (2019)
In the scope of a multisensory experiment
Development of a virtual experiment setup in Unity, which was used to explore the role of haptic stimulation in Virtual Reality. The implementation features self developed gesture algorithms surrounding the used datagloves to detect if the participant is grabbing, throwing, pushing or placing objects (single handed and two handed). Based on the interactions in the VR, various types of haptic feedback is provided through the datagloves.
Periphery was provided by the VR lab of Max Planck Institute for Human development in Berlin and Max Planck Institute for Human Cognitive and Brain Sciences in Leipzig
Add your tasks with all their characteristics like categories, dates and locations in only one line.
The simple input concept not only allows users to add their tasks much faster, but also from Android's notification center without even leaving their current app.
Technical details
This is my second app entirely written in Kotlin.
The app uses the Room Persistence Library to manage the user's tasks in the SQLite database.
Multiple different notification types, such as steady notifications or task reminders. Working together with AlarmManagers and various BroadcastReceivers.
Full Android P integration with Shortcuts, notification channels, use of the Direct reply action, Quicksetting tiles, widgets and Google Assistant support.
Material design 2 compliant with Bottom App Bar, Floating Snackbar and many more things.
Fill the 4x4 grid with the same kind of tiles to win the game.
Create combinations of tiles to score whilst trying to reach the goal. Combinations consist of 4 tiles with colors and suits each. The better the combination, the higher your score. But watch out, you have to reach the next stage before you run out of moves!
Technical details
The game includes the Google Play Services with scoreboards to compete against friends and the all-time scores. It also enables players to unlock various achievements.
The free version runs three different kind of ads, implemented with Google AdMob: A banner ad, an interstitial ad after the game and a video ad to gain coins.
If a player gets tired of these, I also included In-App-Purchases with the Google In-App-Billing API (not using any third-party-libraries). By that, a player is able to buy the game and to unlock all themes, if he's to lazy to play for them.
For crash-reporting, user evaluation and marketing I also implemented Google's Firebase services.
For more technical details, feel free to look through the App's source code.
A demo project for the Android platform. Created in Unity3D with Google Cardboard support.
I created this game and application as a part of my bachelor thesis. It is used to show different concepts of multiplayer interactions between a VR-device and a common smartphone- or tablet-device. It includes a small Zombie-shooter and a panorama-view.
There's a link to some more screenshots below, to which it is referred to in the Features:
Some features
The two devices connect via Bluetooth. One is used in a Google Cardboard, which is called VR-device (VRD) from here on. To the second normal Smartphone it is referred to as Second-Screen-device (SSD).
Clone: The SSD sees the same as the VRD, but without the stereoskopic view.
God mode: The SSD is able to spawn zombies around the VRD (2D I/O vs 3D I/O).
Coop: The SSD and VRD fight together against zombies (two different I/Os with the same goal).
Panorama: The SSD can show the VRD positions in a 360°-Panorama and/or watch it together.
and many more...
The (german) thesis for further infos and features is available below.
This is a small selection of UX i made at Timekeeper. It should be noted that these (fully functioning) Activities have been created, when Material design was just approaching and there was no full support by Google at that time.
DayZ database manager (2013)
I hosted a server for the DayZ-game back in 2013. Because there were no tools to manage the database of the game-server, I started to develop my own in Java. In the end I've got a lightweight database-manager with a clean User-Interface.
DayZdbManager is a simple Java-Application, developed with a Swing-GUI. It connects to a standard MySQL-server, which holds player data as JSON-objects.
Sony didn't allow any Third-Party-Applications on their mobile gaming platform. However, some people developed own open operating systems for which the applications where called Homebrews. One created a Lua-Player-Homebrew, which allowed me to build a puzzle game, written in Lua script.
This was my very first bigger project in which I was challenged with the system's limitations: A 222MHz Processor and 32MB RAM. In the end, I got a popular puzzle game with online-highscores and even different supported game-themes. Watch a video of the game below - produced by the dashhacks-website.