Dennis van den Berg
Full Stack Developer
whoami
{ "firstName": "Dennis", "lastName": "van den Berg", "dateOfBirth": "14-10-1989", "gender": "Male", "nationality": "Dutch", "email": "dennis@vdberg.dev", "married": true, "kids": 2, }
Hi!
I am Dennis van den Berg, a professional Frontend Developer, a husband, father of two sons and a Powerlifter. Originally started out as a Java Developer, but I quickly started to move more towards Frontend Development.
When I'm not working, I like to work out three times a week to push myself and improve upon the major lifts in Powerlifting. Or, I like to experiment with new technologies.
exp --work
Frontend Developer
@ Nedap Security Management
01-07-2022 - Present
_ description
With a small team I am responsible for the frontend application.
I am also responsible for the CI/CD of the frontend, use Docker images and Github Actions to build, test and deploy new functionality each increment.
Responsibilities
- Build the Angular application
- CI/CD
Technologies/tools
Angular, NgRx, RxJs, Jest, Cypress, Docker, Docker compose, Github Actions, GitLab, Kubernetes, Nomad, Atlassian Stack, Visual Studio Code
projects --feat
_ Tree-sitter-angular
I wrote a tree-sitter parser for Angular in order to get better syntax highlighting in Neovim. There already was an existing parser for Angular, but it was not maintained anymore and it did not have support for Angular v17+ syntax, like the Control Flow syntax.
This parser can be used in Neovim, using nvim-treesitter. The parser is included by default.
Technologies/Tools
JavaScript, Treesitter, Neovim
projects
_ LeaseCalc
During my time as an IT Consultant, I had the privilege of being able to drive a company car. I could choose my own car to lease, but had a certain budget for it. Because I did not want to do any manual calculations, using the Dutch tax rules, to get my resulting paycheck, I wrote a small application to do it for me.
It is written in Angular and uses the calculation guidelines for taxes, provided by the IRS. You can compare your current paycheck with the resulting paycheck for a certain lease cost. The current paycheck data was stored in the browser's localStorage.
Technologies/Tools
Angular, TypeScript, Bootstrap, Karma, Jasmine, HTML, CSS
_ NeoVim Theme
After using Gruvbox and Catppuccin for a while, I was no longer satisfied with the colorscheme in Neovim. So, I decided to try and create one for myself, based on the colors of this portfolio. I really like the colors used on this site. Most of the other colorschemes that I found are too blue for me.
It is called MountNugget, from the words "Mountain" and "Nugget". My last name is Van den Berg, which translates to "From the mountain". And "Nugget" comes from GoldNugget. The colorscheme contains some goldish highlight colors. The colorscheme does not fully support all integrations and you can only configure so much, because it is mostly intended for personal use.
Feel free to try it out!
_ Portpolio website
To get familiar with Svelte and SvelteKit, I created this portfolio website. I always wanted to create my personal portfolio, but never got around to making one.
When SvelteKit 1.0.0 was released, I felt that it was time to start experimenting and finally create my portfolio.
At first the data came from a headless CMS, Strapi, making it easy for me to add new content without redeploying the app. But, as that meant having to maintain two systems, and the pages are pre-rendered anyway, I decided to abandon the headless CMS and replace it with content driven by local markdown files. The UI is styled using SCSS.
In the near future, the site will be expanded with a blog section.
_ PWRLifts
With this Progressive Web Application, you can track your personal Powerlifting records. For the three main lifts, Squat, Deadlift and Bench Press, you can enter your 1-Rep-Max (1RM) and see the progress in a chart. You can also track your weight and bodyfat percentage in a similar way.
I developed this application on my own, as a way to get more familiar with Angular and other tools and libraries. I used NgRx for state management and Firebase as a simple backend to store the data. All components are unit tested with Karma/Jasmine.
Technologies/tools
Angular, RxJs, NgRx, TypeScript, HTML, CSS, Karma, Jasmine, Firebase, Bootstrap
skills
(Hover to see the color)
skills --learning
(Hover to see the color)
contact
I am not looking for any jobs at the moment, but if you wish to contact me with a question or to say hi, feel free to send me an email!