Hello, my name is David Frank.
I'm a student at ETH Zürich.

Things I love: Java, Scala, Kotlin, data, algorithms, solving problems,
music, ping pong & photography



Contact / Social media

Reference letters


Work experience

Language skills


  • Helvetic Coding Contest (2016)
    Rank 9 among all contestants, rank 5 among students
    Teams of 3 from all around Switzerland
  • Hungarian National Secondary School Academic
    Competition in Mathematics (2011)
    Rank 23


Programming / computer skills (in decreasing order)


Java Scala CSS HTML SQL Javascript Kotlin php python C# C C++ Ruby


JPA Spring MVC 4 jQuery AngularJS 1 GWT Apache Spark numpy JavaFX Play 2 Polymer Symfony 2 Twitter Bootstrap JSP JSF meteor.js


IntelliJ IDEA git gradle sbt Eclipse maven Netbeans Visual Studio IBM Rational Team Concert


code quality object oriented design algorithms Amazon AWS UML Adobe Photoshop UX design LaTeX

Main projects
University project
Freelance project
Hobby project


Information retrieval from medical literature based on patient data
It is often required for physicians to find information in the literature given a patient’s symptoms, personal attributes (age, gender etc.) and past treatments. In this project, we endeavor to come up with a system that retrieves documents from the literature based on data available about a patient, such as physician notes.
python Kotlin Tensorflow Lucene Deep Learning Information Retrieval
Runner system for Web Data Extractors
The aim of the project is to create a system that encloses some of the most relevant data extraction systems, so that these can be run over user-defined datasets of web pages and produce results for further analysis. Written in a team of 4.
Java Spring Javascript AngularJS HTML CSS git
Regex Crossword Solver
A small application that solves Regex Crosswords by constructing and traversing finite state machines.


Document Retrieval System
Search engine that, from a large collection of documents returns a list of the most relevant documents for a number of queries.
Web Crawler
Given a seed webpage, autonomously traverses the Internet. When the crawler encounters an unseen page, that page is crawled and analyzed. Calculates the number of distinct urls, exact duplicate and near duplicate pages and pages written in English. Written in a team of 3.
PixWords Solver
Web application which solves puzzles from the famous Pixwords mobile app. Provides two ways to enter a puzzle: manual text input and automatic screenshot recognition.
Kotlin Spring gradle AngularJS HTML CSS


Comparison and improvement of sport ranking algorithms
My BSc thesis in which my goal is to provide better alternatives to the currently used ranking methods. I compare the current methods and implement new methods.
Scala JavaFX sbt
A simple screenshot web application for testing various AWS services (EC2, S3, RDS, SQS, ElastiCache).
Scala Play 2 MySQL sbt AWS HTML CSS
Last.fm data analysis
Big Data Analysis Techniques project, analyzed last.fm user and artist data.
Scala Spark Hadoop MapReduce
Wizbee web based educational typing software
Virtual keyboard with typing exercises, registration, various learning statistics premium subscription for removing ads, payment integration.
meteor.js AngularJS Coffeescript mongodb
Social website for exchange students with registration, facebook-like wall, comments, notifications, adding friends, buying services.
Scala Java Play 2 JPA Coffeescript AngularJS AWS
Hotel management web application
Java Java EE JPA Coffeescript AngularJS
Candy Crush bot
A bot which plays CandyCrush without user interaction. The project involved simple image recognition, reimplementing the game engine from scratch and custom AI.


Data Collection of Fishing Lakes
Application for helping analyse data of fishing lakes developed at my university to facilitate research on lacustrine ecosystems.
Java Spring JPA Javascript jQuery HTML CSS
Ant Game
A simple game where players control echidnas to destroy ants (the game is actually very boring). We worked in a team of 4, had to use the RUP methodology which resulted in 100+ pages of documentation.
Java UML
2D Ball Game
A ball game where the task of the user is to control the game field so that the ball reaches the goal. Includes user and high score management (high scores are stored globally on a server).
Java Swing Java Graphics Box2D PHP


Hungarian B2B website with registration, profiles, messaging system, product/service ads, virtual credits/payments, image gallery, admin user interface.
PHP Symfony2 Javascript jQuery HTML CSS
Cooking website
Cooking website of one of the most popular recipe writers in Hungary. Content management of recipes, categories, ingredients, search, CMS pages, registration, favorite recipes, comment system, admin user interface.
PHP Symfony2 Javascript jQuery HTML CSS


Coupon websites
Registration, coupon browsing and ordering, admin interface for managing offers, users, purchases and content pages.
PHP Symfony2 Javascript jQuery HTML CSS

Completed university courses

ETH Zürich MSc

1st semester
  • Machine Learning
  • Information Retrieval
  • Data Mining: Learning from Large Data Sets
  • Probabilistic Artificial Intelligence
  • Algorithmic Game Theory
  • Algorithms Lab
2nd semester
  • Principles of Distributed Computing
  • Information Systems Lab
  • Natural Language Processing
  • Computational Intelligence Lab
  • Human-Computer Interaction
  • Advanced Topics in Information Retrieval and Natural Language Processing (seminar)
3rd semester (current)
  • Deep Learning
  • Big Data
  • Master Thesis

Budapest University of Technology BSc

1st semester
  • Calculus 1 for Informaticians
  • Introduction to the Theory of Computing 1
  • Basics of Programming 1
  • Software Laboratory 1
  • Digital Design 1
  • Introductory Physics
  • Micro- and Macroeconomics
2nd semester
  • Calculus 2 for Informaticians
  • Introduction to the Theory of Computing 2
  • Basics of Programming 2
  • Software Laboratory 2
  • Digital Design 2
  • Physics 1
  • Management and Business Economics
3rd semester
  • Probability Theory
  • Computer Architectures
  • Measurement Laboratory 1
  • Software Laboratory 3
  • Ergonomics
  • Software Engineering
  • Coding Technology
  • Conflict Prevention-Management-
  • Physics 2
  • Business Law
4th semester
  • Signals and Systems
  • Computer Networks
  • Measurement Laboratory 2
  • Software Laboratory 4
  • Software Techniques
  • Algorithm Theory
  • Starting and Managing Innovative Businesses
  • Operating Systems
  • Economic Policy
  • Data Protection and Freedom of Information
5th semester
  • Databases
  • Java Technology
  • Measurement Laboratory 3
  • Artificial Intelligence
  • Telecommunication Networks and Services
  • Computer Graphics and Image Processing
  • Control Engineering
  • Electronics
6th semester
  • Management of Information Systems
  • Developing Data-driven Applications
  • Measurement Laboratory 4
  • IT Engineering Laboratory 1
  • Software Laboratory 5
  • Intelligent Systems Surveillance
  • Project Laboratory
  • Object-Oriented Software Design
  • Engineering Problem Solving
  • Software Design for J2EE Platform
7th semester
  • IT Engineering Laboratory 2
  • BSc Thesis Project
  • Declarative Programming
  • Big Data Analytics Tools with Open-Source Platforms
  • Cloud-based Software Development
  • Big Data Analysis Techniques
  • Languages and Automata