logo
Daniels Šatcs

Hi

Welcome

I'm Daniels Šatcs

A Software Engineer

I enjoy building software that is robust, easy to maintain and useful for any number of people.

Job status

Searching, 100% Remote (CET)

Contact me
Please contact for up to date CV

Skills overview

Technical skills

  • Experience in data science: Python(pandas), Apache Spark, Neo4J.
  • Database architecture and query optimisations.
  • Experience building REST APIs (Kotlin(Ktor, Spring), Python (Django, Flask), Java.
  • Experience in native Android development with Kotlin and Java, Compose.
  • Experience with Kotlin Multiplatform.
  • Frontend development with Angular and React.
  • Understanding of principles of good software.
  • Google Cloud App Engine, Oracle Cloud.
  • Web scraping.
  • Experience setting up CI/CD pipelines with Gitlab and GitHub.
  • Linux administration, bash scripting, server setup.

Soft skills

  • Experience working in Agile teams from 3 to 10 people.
  • Experience taking responsibility for my code.
  • Experience mentoring a new/younger team member.
  • Experience working remotely with great results.

I am a Software Engineer coming from Latvia who started as a self-taught Android developer in my teens and proceeded with a degree in Technical Computer Science at University of Twente ↗️ (The Netherlands). There, I have received in depth theoretical and practical education across the field of Computer Science, including but not limited to programming paradigms, algorithms, data structures, compiler creation, machine learning, work organisation, networking. Familiar with ins and outs of Android SDK, Backend and other technologies, and being knowledgeable of good code principles, I am eager to be creative in my projects to create robust and stable solutions.

Having worked in challenging projects, I am not afraid to take responsibility and dive deep into seemingly non-trivial tasks. I build secure and maintainable backends and pipelines with Docker and Python. I have made code contributions to open source data processing pipelines in Spark and Scala. ↗️

As an Android developer, I have built many apps, from simple single screen apps to ones with complex workflows. I care about good UX/UI and enjoy making user interfaces which are modern, fresh, yet familiar and easy to use.

I am interested in open source movement and prefer to work in companies that are familiar with that. I have published some of my work on GitHub for others to use.

My priority in building software is making it robust, consistent, verifiable and simple. I enjoy working on projects with well-made testing workflows and modularity.

As a software engineer, I am learning on my own from official docs, blogs, conferences and StackOverflow. I enjoy unpacking complex problems into smaller bits and coming up with elegant solutions.

In my free time I like widening my horizon by experimenting with new techniques, architectures, e.t.c. As a result, over the years I have accumulated a lot of personal projects, many unpublished. Every single on of those taught me some lessons, and I am currently trying to revive some of them, at least for demos.

I use Git, Gitlab and GitHub, Jetbrains IDEs and Linux bash daily. I develop on a personal laptop running KDE Plasma.

I speak English(C1), Latvian and Russian (native). I have some basic understanding of Spanish and Polish.

When I am not coding I like to do campervan building, going for walks, travelling playing with my cat.

Projects

Google Assistant helper, guide

Lead software engineer (Android and other), project owner.

Android Java/Kotlin Firebase Compose Git Bitbucket, Gitlab Code review ~8 Million Installs 105K MAU

Using Google Assistant may sometimes become frustrating. While it aims to be close to human-like, in practice misunderstandings happen. This app attempts to educate users about what is possible with Google Assistant using a carefully collected and tested database of phrases and commands anybody can say.

For further simplicity, the smart assistant can be invoked directly from the app, and voice recognition settings can be accessed easily.

My responsibility was to design, prototype, implement, publish and oversee growth of the application, working in a team of three (me, a graphical designer, and a data collector). I was the lead Android developer, making most technical decisions.

Cointel B.V. - Cryptocurrency deanonymization

Mid level data pipeline engineer, backend and frontend developer. personal desktop

Python 3 Flask/Django PostgreSQL DB architecture Query optimization Spark Scala Pandas Hadoop Angular 7+ Participated in EU project with interpol

Cointel is analysis and forensics software that provides insight into Bitcoin transactions, flows and the identities behind wallets.

Cointel is being developed in collaboration with international Law Enforcement Authorities, supporting operational investigations into illegal activities involving Bitcoin.

The objective of this project, funded by EU funds, was to create a tool for law enforcement officers to facilitate investigations into cryptocurrency money flows and illegal activities.

I was the only engineer in data processing department.
Responsible for: setting goals and developing solutions from architecture to deployment; solving challenges related to efficient data scraping, storage, analysis and querying using available scientific recommendations, as well as experimentation.

Student association website Ockham

Backend developer personal desktop

Laravel PHP Gitlab CI/CD Git Bootstrap In production for >2 years

As an university project we had to build an operational, scalable and easily extenable website for one of the student associations in University of Twente.

Working in a team of 6 (2 human computer interaction specialists, 4 developers), we organized our work accoding to Agile methodology, using Scrum poker, daily stand ups and retrospectives.

Issue tracking was done in Gitlab. An extensive CI testing was implemented, with sufficiently high coverage.
Regular code review was being performed by me and my colleagues.

Main requirement for the website was to make it easily extendable and customizable for non technical users, so the architecture had to be highly modular and all visible strings had to come from the database.

Shortcutty

Lead software engineer (Android and Laravel), DevOps. personal desktop

Android Kotlin Multiplatform Jetpack Compose / Multiplatform Clean Architecture MVVM DI Laravel Unit testing Gitlab CI/CD Published

Knowledge base of PC keyboard shortcuts (a.k.a. hotkeys) for Android and Desktop.

Using latest design and architecture patterns, I have developed a robust platform-independent codebase that is used to create Android and desktop applications (website is planned too).

The project was designed to provide a great and personalized user experience. Apart from browsing shortcuts across many categories, users are able to add programs and shortcuts to favourites for near-intanteneous access across their devices when needed.

Harry Potter Spells & Quiz

Android developer, 2017 personal desktop

Android Java Published

One of the first projects at SDE Dev, SIA and my debut as Android developer.

Based on an idea from a colleague, we made a simple compilation of spells from the Harry Potter franchise. My colleagues were resposible for collecting the information and images, and suggesting ideas for visual presentation, while I was responsible for programming the app all the way from ground up.

To complement the information provided, we also implemented a small quiz inside the app to test the knowledge.

SMS, Email, Call Scheduler

Android Developer personal desktop

Android Databinding Services Unit testing Published, previous version ~1M installs

An Android app for automating SMS, Emails (Gmail), Reminders, VK and Twitter. Extensively tested in production, a lot of feature requests were received and implemented.

This project back from 2016 gained ample attention during the first phase, before Google Play introduced restrictive SMS permissin policy in 2019, and the app was removed. In 2021 I managed to republish the app, but I had to give up the SMS functionality unfortunately. Hoping to resolve in the future. Two versions can be found below: one current and one from before the SMS permission ban.