Me in a suit

Gergely Dániel

Down arrow for navigation

Career

  1. 2016

    Fűzővel Kifelé!

    Web Developer
    • PHP
      PHP
    • JavaScript
      JavaScript
    • CSS
      CSS
    My first contract was by an American football blog to create a game for predicting the results of matches.
    • PHP
      PHP
    • JavaScript
      JavaScript
    • CSS
      CSS
  2. 2016-2021

    Kármán Tódor Dormitory

    Leader (Web & DevOps)
    • Laravel
      Laravel
    • Linux
      Linux
    • Docker
      Docker
    • Kubernetes
      Kubernetes
    At the university, I was the leader of a student group that maintains the network and web servers in a 1000-seat dormitory.
    • Laravel
      Laravel
    • Linux
      Linux
    • Docker
      Docker
    • Kubernetes
      Kubernetes
  3. 2018-2023

    DONE. Digital

    Full stack Engineer
    • WordPress
      WordPress
    • Express
      Express
    • React
      React
    I started web development as a job at the DONE. agency, building WordPress and full stack JavaScript websites.
    • WordPress
      WordPress
    • Express
      Express
    • React
      React
  4. 2022-2023

    Tenable.ASM

    DevOps Engineer
    • AWS
      AWS
    • Kubernetes
      Kubernetes
    • ArgoCD
      ArgoCD
    • Terraform
      Terraform
    DONE. worked as a contractor for Tenable.ASM (previously Bit Discovery), and I maintained the DevOps side of our cybersecurity scanning infrastructure.
    • AWS
      AWS
    • Kubernetes
      Kubernetes
    • ArgoCD
      ArgoCD
    • Terraform
      Terraform
Up arrow for navigation Down arrow for navigation

Skills

  • JavaScript

    JavaScript

    expert

    Level

    I've started writing JavaScript even before ES6 and React become popular, writing a whole client-side application entirely with jQuery and XHR. This taught me a lot about technologies that build up the web, but it wasn't very clean, with many intermingling parts.

    After joining DONE., I began working on interactive frontends in React, which taught me a lot about organization of code and state-driven applications. Even after having a little experience with Vue.js, I am still most comfortable while writing JSX. I try to keep up with the ever-changing landscape of JavaScript, as well as coding up my own libraries.

    • jQuery
      jQuery
    • Vue.js
      Vue.js
    • React
      React
  • Node.js

    Node.js

    expert

    Level

    After working with PHP for a long time, writing my first Node.js backend really blew my mind. The speed and the simplicity of writing simple callback functions as routes made Express instantly my favourite backend library.

    Even after multiple years passed, Express is still my go-to tool for the backend. I learnt how to organize my code to work on any scale, adding TypeScript for typing, OpenAPI for documentation and Jest for testing. These tools made me as productive as ever to quickly and reliably build APIs.

    • Node.js
      Node.js
    • Express
      Express
    • TypeScript
      TypeScript
    • Jest
      Jest
  • Sitebuilding

    Sitebuilding

    expert

    Level

    I worked with HTML and CSS for more than I could remember. I started in middle-school, creating my best 90's website impression. Soon I became familiar with CSS and have been fascinated by the shadows, gradients, and animations. I started building websites out of my own basic designs in university.

    When I started working at DONE., the company's main profile was custom-designed WordPress, and it really kicked my sitebuilding experience into overdrive. I learnt to build massive websites from Figma very quickly, keeping it compatible with Wordpress's modifiable building blocks. Speeding through websites made me learn a lot about both building and design.

    I even had a chance to go back to my 90's website roots building marketing emails (EDMs) trying to achieve compatibility with Outlook email clients.

    • HTML5
      HTML5
    • CSS3
      CSS3
    • Stylus
      Stylus
    • Figma
      Figma
  • PHP

    PHP

    advanced

    Level

    Like many people in backend development, I started my path with putting some PHP files on a shared hosting server via FTP. Unaware of frameworks and packages, I hacked together a whole application with my own authentication and session management.

    Since then, I learnt how to write PHP the easy way, developing custom Wordpress themes and WooCommerce webshops at DONE., as well as trying my hand at Laravel at my dormitory's websites. While I recognize the great ecosystem of PHP, it probably still wouldn't be my most comfortable choice for a new project.

    • WordPress
      WordPress
    • WooCommerce
      WooCommerce
    • Laravel
      Laravel
  • Databases

    Databases

    advanced

    Level

    In most of my jobs, I worked with relational databases, mostly MySQL/MariaDB (the most convenient coming from a PHP background) and PostgreSQL (great extensibility, e.g. PostGIS). I also have experience with NoSQL databases, mainly with Redis and ElasticSearch. For development I started with writing raw queries, but I worked with query builders (Knex) and ORMs as well (Hibernate, Eloquent, Sequelize, TypeORM).

    I also have experience with operating MariaDB databases: not only bare-metal, but also on Docker and Kubernetes. In our dormitory I rewrote our bare-metal MariaDB into a replicated Docker container, complete with a highly available MaxScale load balancer and Prometheus monitoring.

    • MySQL
      MySQL
    • MariaDB
      MariaDB
    • PostgreSQL
      PostgreSQL
    • Redis
      Redis
  • CLI

    CLI

    advanced

    Level

    For a systems programming language, I studied C for multiple years in the university. However I only started to really appreciate it when I took up a course on Linux programming. I enjoy the simple but powerful abstractions the language provides, which is great for small and fast CLI programs.

    Since then, I discovered Rust and its functional-inspired type system clicked for me instantly. As a good Rustacean, I've been pushing to rewrite all my side-project in Rust. I've been trying to build everything: open-source libraries, web servers and most of all, CLIs. With the help of the powerful Rust ecosystem, I am able to create safe and expressive command-line interfaces.

    • C
      C
    • Rust
      Rust
  • Cloud

    Cloud

    capable

    Level

    I always preferred self-hosting to the cloud. However when I was first exposed to the global cybersecurity scanning in Tenable.ASM at DONE., I realized that some things are not possible without the power of the cloud. I was tasked with the cleaning up and management of a service building up from more than 50 microservices, including EKS, Elastic Beanstalk and terabytes of ElasticSearch data.

    My job was figuring out ways to make our deployments more reproducible. I migrated our scanning infrastructure into EKS, deploying it automatically with ArgoCD. I Terraformed many parts of our cloud operations, including EKS clusters, ElasticSearch domains, IAM permissions and VPCs. The work of our team improved ease-of-use, monitoring and compliance of the whole operation.

    • AWS
      AWS
    • ArgoCD
      ArgoCD
    • Terraform
      Terraform
  • DevOps

    DevOps

    expert

    Level

    I started my DevOps career at the dormitory by managing web servers scattered around shared hosting and VMs. This was a cumbersome and insecure way, so naturally we searched for solutions and found containerization.

    I turned dozens of services into minimal Alpine-based Docker images: WordPress, Laravel, OpenLDAP, Bind DNS, and replicated MariaDB. In a few years we turned our infrastructure from undocumented VMs to mostly containerized single-node workloads.

    As the number of services increased, they started to outgrow the specialized Docker VMs, and we put together a self-hosted Kubernetes cluster. We manage the networking (MetalLB, Traefik), storage (Ceph) and monitoring (Prometheus), while everything is deployed with Helm charts, and automatically rolled out by ArgoCD.

    • Docker
      Docker
    • Kubernetes
      Kubernetes
    • Helm
      Helm
    • ArgoCD
      ArgoCD
  • Linux

    Linux

    expert

    Level

    When I first got into Linux, I wanted to handle our LAMP stack more efficiently. At first I just used scp to copy files, then I started using vim over ssh, and got more and more used to the terminal. Now Linux is the operating system on all my computers, and I fell in love with open source.

    The thing I really liked about the Linux shell, is the simplicity and the power it enables. I enjoy writing my quick-and-dirty one-liners and shell scripts, and I learnt to automate every part of my workflow. Now I use Ansible to install and set up my desktop and servers, and use GitHub Actions or GitLab CICD to automate my deployments.

    I am very thankful for Linux because it started me on the way of open source and taught me to always look behind the curtain, and understand things as deeply as I can.

    • Red Hat
      Red Hat
    • Vim
      Vim
    • Ansible
      Ansible
    • Gitlab
      Gitlab
Up arrow for navigation Down arrow for navigation

Projects

  • Tenable.ASM

    Tenable.ASM

    for Tenable
    • Cybersecurity scanning on a scale
    • More than 50 microservice in AWS
    • Kubernetes (EKS) and EB management
    • Built with ArgoCD, Helm and Terraform
    • AWS
      AWS
    • Kubernetes
      Kubernetes
    • ArgoCD
      ArgoCD
    • Terraform
      Terraform
  • Dorm room reservation

    Dorm room reservation

    for Kármán Tódor Dormitory
    • Laravel-based room reservation page
    • Optimized for speed: can handle hundreds of concurrent users
    • Realtime updates with Websocket
    • Laravel
      Laravel
    • Redis
      Redis
    • Websocket
      Websocket
  • Activiter

    Activiter

    for DONE.
    • Hawaii golf reservation website
    • Built with Express and React
    • Intricate payment schemes with Stripe: delayed completion, group payments
    • Express
      Express
    • React
      React
    • Stripe
      Stripe
  • gr

    gr

    for Open Source
    • Rust-based command-line interface to interact with git servers (compatible with GitHub, GitLab, Bitbucket and Gitea)
    • Install with Cargo or NPM
    • Rust
      Rust
    • NPM
      NPM
    • GitHub
      GitHub
    • GitLab
      GitLab
  • KTK infrastructure

    KTK infrastructure

    for Kármán Tódor Dormitory
    • Move 19 webservers to Docker and later to Kubernetes with ArgoCD
    • Dockerize multiple services, including replicated MariaDB and LDAP
    • Linux
      Linux
    • Docker
      Docker
    • Kubernetes
      Kubernetes
    • ArgoCD
      ArgoCD
  • Netprinter editor

    Netprinter editor

    for DONE.
    • Image editor built entirely in React
    • Can resize, rotate and recolor images
    • Calcute total from sizes, quality and addons, send to the backend
    • React
      React
    • Redux
      Redux
    • CSS
      CSS
  • FK! guessing game

    FK! guessing game

    for Fűzővel kifelé!
    • 1000+ registered users
    • Without any PHP or JS frameworks
    • Email and Facebook SDK authentication
    • Custom design with 3D transitions
    • PHP
      PHP
    • JavaScript
      JavaScript
    • CSS
      CSS
    • MySQL
      MySQL
  • This CV

    This CV

    for me
    • Built without any frameworks, only using Handlebars and webpack
    • Dynamically generated from a JSON file
    • Webpack
      Webpack
    • JavaScript
      JavaScript
    • SCSS
      SCSS
    • Handlebars
      Handlebars

Click on the image for more details

Swipe left or right for more, click for details

Left arrow to switch projects Right arrow to switch projects Up arrow for navigation Down arrow for navigation