Summary

Curiosity and results-driven engineer with a strong focus on machine and deep learning. Analytical thinker and methodical, regarding good software, statistics and data engineering practices. Active Open source contributor.

Formal Education

  • Integrated Master of Computer Engineering and Informatics, University of Patras - Expected Graduation 2021 (5 year curriculum in total)

Skills

CategoryTechnologies
LanguagesPython - C# - JavaScript - Java (up to 8)
DatabasesMySQL - MongoDB - SQLite
Deep LearningTensorflow - Keras - Pandas - Scikit-Learn - Numpy - Jupyter Notebooks
ML EngineeringTensorflow Extended (TFX) - Tensorflow Serving - Apache Beam - Kubeflow Pipelines - ML Metadata - Tensorboard - End 2 End Tests
Software EngineeringREST APIs - Async Programming - Testing - Design Patterns - Benchmarking - Dependency Injection - ORM - CQRS - Reactive Extensions (Rx)
DevOps and OtherGit - Docker - Kubernetes - Github Actions (CI)
Web DevelopmentFastAPI - ASP.Net Core - Vue.js - Vuetify - Webpack
Github AccountMedium Blog

Machine Learning Projects (Q2 2019 - ongoing)

Cryptocurrency Trading Bot (Q4 2019 ~ Ongoing | Tensorflow Extended, Python)

(Private source code, sorry.)
  • Architected end to end, cloud-native machine learning model pipelines, powered by Tensorflow Extended
  • Built and deployed system components for data scraping, data querying, deep learning model development and deployment
  • Developed a kubernetes cluster with kubeflow pipelines
  • Provided strongly-typed client APIs for the invocation of the model prediction service
  • Construced vendor-agnostic feed models, order placement and tracking services
  • Created backtesting.py strategies that use the deep learning models to make decisions
  • Implemented live-streaming data prediction dashboards

Fluent TFX (Q2 2020 | Tensorflow Extended, Python)

This is a package that I published on PyPi
  • Fluent TFX provides a better API for TFX pipeline creation. If you are already using tensorflow or keras for your models, this is an easy to use api that will have your model up and running in an e2e scenario quickly, without the need to waste a significant amount of time of learning the internals of tfx to get something working.

Tensorflow Technical Indicators (Q2 2020 | Tensorflow, Python)

This is a package that I published on PyPi
  • Financial Market Technical Indicators, implemented as Tensorflow Graph Functions (for speed and compatibility)

Generative Text RNN Experiments trained on discord server chat logs (Q1 2020 | Keras, Python)


Shop & Item Sales Forecasting (Keras, Python)

  • Processed (shop, item, quantity, date) sale tuples and train a neural network to predict future monthly sales for each shop and item pair, in order to obtain next-day or next-moth item sales

Employment

Android Developer, Eventora (Summer 2016 - 2018 | Java)

  • Work on the Ticket Scanner & Ticket Wallet apps with over 1 million tickets validated
  • App redesign & architecture with addition of offline first features
  • Vertical maintenance & upkeep of the project

Game & Game Server Development (2011 - 2016 | Java, C++) - Freelancing

  • Published a game on Steam, made in Unreal Engine 4 with C++ (4000+ Sales)
  • Unreal Engine 4 contribution by implementing the Android local notification system
  • Created a series of game server modifications for a grid of Minecraft servers (400 concurrent players at peak, Java)

Open Source Contributions

A Complete Autonomous Drones Study Plan (2019 - 2020)

I originally created this as a short to-do list of study topics for becoming a software engineer, I am creating this list to share my 3 year list of topics that I studied on the side during the curriculum of a Computer Engineering and Informatics degree. This is a list of short and medium length study topics to obtain knowledge regarding autonomous rotorcraft. The items listed here will give you enough knowledge to be able to understand how they work, their limitations and effort required to make them fly.


UAVCAN / libuavcan - Yukon (2019 | Embedded C++, Python, JavaScript)

  • Optimised the transmission queue by simplifying frame transfer logic and most importanly, swap out a bottlenecking linked list queue with a custom AVL-Tree implementation, which supports equal keys, by using a custom block allocator to avoid fragmentation, in order to improve worse case performance by a large margin
  • Collaborated with the hardware and python api team to design the new web-based bus inspection tool
  • Architected a flask backend and a vue frontend solution, including the usage of server sent events

src-d/go-mysql-server (2019 | Go)

  • Implement some SQL functions to comply with the MySQL standard (unit tests included)
  • Make some parts of the query parser more robust

Other Projects

Geolocation based Social Network App Frontend for Android (Java, Kotlin rewrite)

  • Implemented an offline-first app by using Room & Retrofit
  • Used MVVM with a mix of Observables and LiveData
  • Performed cross fragment/activity communication by EventBus
  • Extensively used Dagger 2, Architecture Components & the Design support library
  • Consume a Rest API & handle authentication with Jason Web Tokens
  • Features Include: Login/Signup, Post viewing, Likes, Comments, Friends & Blocking, Post Uploading (with image)

Hobbies

  • Express love for Software Engineering by contributing to Open Source projects (Hacktoberfest!) and Publishing of Software Engineering Articles on medium.com (Averaging ~6K article views per month)
  • Voxxed Days Athens 2018 Volunteer (3 consecutive years)
  • Photography, Audiovisual Arts through applied computer engineering