Projects

Project picture 1

JobQuery

Python | Django | PostgreSQL | Machine Learning

  • Scrapes the career section of several tech companies
  • Uses a Logistic Regression Machine Learning algorithm to filter out interesting jobs
  • Interactive graphs to allow market research; which skills are the most sought after by company or city
Project picture 1

Notes

Python | JavaScript | SQL | Flask | WebAuthn

  • Website written in Flask to keep track of personal notes
  • Passwordless login by using the WebAuthn standard and hardware security keys like the Yubikey
  • Extensive use of JavaScript to improve the interactiveness of the site
  • Implements an efficient full text search by using SQLite´s FTS5 extension
  • Uses a logger with a rotating file handler
  • Uses CI/CD to automatically build a container when code is pushed to the main branch of my Gitea server
Project picture 1

Quizzes

Python | Django | DRF | SQL | React | NextJS

  • Backend written in Django REST framework while the Frontend is written in NextJS using server and client components
  • Implements a REST API with standard CRUD operations
  • The serializer for the quizzes returns additional read-only fields that transforms markdown into HTML
  • Has a client component which uses the HTML drag and drop API to categorize flashcards
Project picture 1

Ansible Deployment

Ansible | Python

  • Wrote Ansible playbooks to deploy and configure Nginx and Podman containers to my three private virtual servers
  • Deploys Nginx with different configurations based on services the hostname runs
  • Sets up mutual TLS based on the URL of the service
Project picture 1

IRC Bot

Python | Sockets

  • IRC Bot written in Python using sockets with polling
  • Can receive commands from the HOST through its socket
  • Modular design allows writing scripts in any language
Project picture 1

ZNC Addons

Python | C++ | ZNC

  • Modified the crypt.cpp addon to make it work properly in thelounge. Due to compliance with the IRCv3 standard there is a bug which prevents thelounge from receiving the unencrypted message. Therefore, I broke compliance for echo-message and patched crypt.cpp to send the unencrypted echo-message to thelounge
  • Inspired by the deprecated partyline.cpp module I wrote a module in Python that makes use of sockets to enable ZNC users to talk among themselves locally