Hi, my name is

Matthew Moonen

I'm a programmer and Linux Server enthusiast with a background in research biology.

//



















|

About Me

A photo of me

I have been passionate about technology for as long as I can remember and have been tinkering with Linux Server distributions for over a decade. As an avid photographer, I used my Linux Servers to host my growing library of images, which introduced me to various technologies, including Command Line Interfaces, Docker, SQL, and virtualization. Additionally, I was always mindful of best-practice security measures.

Starting in 2022, I fully immersed myself in various programming courses such as Harvard Online's CS50 series and FreeCodeCamp, where I gained poficiency in languages including C, Python, JavaScript, SQL, HTML and CSS, with a particular focus on Python. I am now enrolled to study a Master of Data Science part-time.

With new knowledge under my belt, I decided to rent a VPS and use my knowledge of Linux Server administration to create a website that showcases my programming skills.

My toolkit:

Python
Flask
SQLite
Git
JavaScript
Bootstrap
Nginx
HTML
CSS
VS Code
Gunicorn
jQuery
Linux
Terminal
Docker

Portfolio Projects



Major Project - Learn German

Introducing My Language Learning App

Screenshot of Language Learning Application

This personal project was a key motivation for me to learn programming. After studying German and working as an English teacher in Germany, I recognized that certain concepts, such as cases and declensions, were not effectively covered by existing gamified language-learning platforms, leading to difficulties for German learners. To address this gap, I aimed to create an app that could both fill these gaps and serve as a means for me to learn programming. Developing the app also requires knowledge of fundamental concepts such as frontend and backend development, security and authentication, data analysis, machine learning, algorithms, UI and UX design, scalability, and CI/CD.

Technology

The app queries a JSON API to retrieve lesson content. Lesson progress and score are handled via JavaScript in-browser. In future versions, the browser will return the user's results to the server.

Future

Currently, the app has one lesson. More lesson content will be developed, and future versions will deliver personalized JSON lesson content based on the user's previous progress and results. I plan to optimise learning retention by using spaced repetition algorithms like the Leitner System.



Python Scripts

Recent Blog Posts

Contact

Please complete the form below to contact me




const me = "Matthew Moonen";
let you = "visitor";

greetings();

async function greetings() {
••console.log(`Welcome ${you}!`);
••await new Promise((resolve) => {
••••window.addEventListener("scroll", () => {
••••••const {
••••••••scrollTop,
••••••••scrollHeight,
••••••••clientHeight
••••••} = document.documentElement;
••••••if (scrollTop + clientHeight => scrollHeight) {
••••••••resolve();
••••••}
••••});
••});
••console.log(Thanks for stopping by ${me}\'s website!);
}