A selected list of projects that I did or am involved in. Click an image to get a description of the project and the used technologies and skills. At the bottom, you can find a non-exhaustive unified list of skills and technologies that I use(d) for your convenience.
Dashboard for the epidemiological situation of the SARS-CoV-2 (coronavirus) pandemic in Montreal and Quebec.
Details to follow.
To run a user study which allows to gather feedback in an interactive way, I built a web application using Angular on the client-side and Node.js on the server-side. The feedback is for the result of an algorithm I designed, which extracts a concern (feature model and the corresponding API for each feature) of a software framework. The framework I mainly used is the Android SDK (specifically the notifications part).
I am part of a team (as the Lead Software Developer/Software Architect) working on TouchCORE, which is a multitouch-enabled tool for agile concern-oriented software design modeling aimed at developing scalable and reusable software design models.
Besides the main focus being on reuse, the tool also focuses on allowing to quickly and seamlessly build software design models. It provides a touch-based interface allowing to use multitouch gestures besides using the traditional keyboard and mouse. For example, I designed the sequence diagram editor that allows to define the behaviour for the given class diagram in a fast and intuitive way. At the end, the user can generate code for the design.
The backend is built with the Eclipse Modeling Framework (EMF) and the frontend with MT4j to provide the touch-based interface.
Skills/Technologies: Java, OOP, Eclipse Modeling Framework (EMF), XML, Code generation, JUnit, GUI, Git, Bitbucket (Issue Tracker, Pull Requests, Code Reviews, Wiki)
A Tippspiel is a prediction game where the game results of (football) matches are predicted and varying points given based on the actual result. Starting in 2006, I have been running a Tippspiel every two years for each World Cup and European Championship where approximately 50 users participate for fun. Besides game results, there are also additional questions (for example, which will win the World Cup) allowing to earn bonus points.
The frontend is built with HTML5 and CSS3 and is responsive and supports Retina screens. In the screenshots, you can see how the layout and texts are adjusted for smaller screens and mobile devices while showing the same information.
The backend is built with PHP and MySQL running on an Apache server. The game data is retrieved from a web service (OpenLigaDB) using a REST API and (their older SOAP API) returning JSON. A script is executed periodically by a cron job to retrieve new match results and new fixtures (for the knockout phase).
Skills/Technologies: PHP, MySQL, SOAP/REST API (XML/JSON), HTML5, CSS3, Apache
University project using the Kinect to build a Fitts’ Law 3D application in a team of three (2011). Fitts’ Law shows how users perform the act of pointing (virtually) to an object on a screen using a pointing device (such as the mouse). The goal was to build an application that allowed to gather measurements on how humans perform pointing in a three-dimensional space. The Kinect and application were installed/running on a screen showing a digital information board. A background application was managing the window management to switch from the information screen to the application using a dedicated gesture, and back to the screen after no input is detected by the Kinect for a certain time. The user can then play the game, as you can see below, and is then presented with their performance. The Kinect backend was written in C++ making use of an (unofficial) Kinect SDK. The frontend was done with Unity, and written in C#, including its backend to store the results of each player in a SQLite database. The Kinect backend and frontend were connected using a Socket in order to receive the detected hand gestures and movements.
Skills/Technologies: C#, Unity, SQLite, C++, SVN
Built website for client with WordPress (2014). Retina and responsive support. Booking calendar and custom forms for visitor interaction. CSS customizations for improved appearance.
Recently, with the General Data Protection Regulation (GDPR)/Datenschutz-Grundverordnung (DSGVO) coming into effect in May 2018, customized the website to comply with the regulations and eliminate including external resources.
Skills: WordPress, Plugins, CSS, Photoshop
Built new website for client based on a provided design (2009). Support for multiple languages with auto-detection of preferred language by visitor. Created an admin interface for content management.
Skills/Technologies: Apache, CSS, HTML, MySQL, PHP, Photoshop
Fan Site for Max Payne
In 2002 I took charge of Max Payne Zone (MPZone), which was one of the biggest Max Payne fan sites and the biggest one for German speakers. I updated and improved it maintaining its original design and re-launched it in 2003, in time for the launch of Max Payne 2.
With a staff of 6 news posters, it provided extensive news coverage of the game and custom modifications (mods), game-related information (such as tips and walkthroughs), and an active discussion forum.
The amazing folks of Remedy Entertainment valued the efforts of the fan community and (with their publisher Rockstar Games) collaborated with us and three other big fan sites. We received news updates in advance, exclusive content and gear to be used for competitions. As a result, several competitions were held where users could win prizes.
Skills/Technologies: Apache, CSS, HTML, MySQL, PHP (frontend and custom-built backend for content management)
Summary of Skills and Technologies
Object-Oriented Design, Debugging/Problem Solving, Git, Subversion (SVN), Collaborative Development/Project Management, Linux Server Administration (Debian), Model-Driven Development, User Interface Design
Eclipse Modeling Framework (EMF), JUnit, Eclipse Plugin Infrastructure, Acceleo (Code Generation), Multitouch for Java (MT4j), Angular, jQuery, Bootstrap, Node.js, Express.js, GoJS
Apache Server, REST, JSON, SOAP, Unity, MySQL, PostgreSQL, SQLite, WordPress (theme and plugin customization), LaTeX, Photoshop/Illustrator