An overview of my software projects
This is just a small list of projects that I have worked on. For more, head over to my GitHub profile.
My main website (this one), is a static website that is generated using Hugo and deployed on Cloudflare Pages. This is my third iteration, and I am probably going to keep this as the final version.
I have separated my blog to an independent WordPress instance. Using Markdown is good for things that I want to have full control over. However, in order to write consistently, I wanted something more accessible. WordPress was the final choice because I can write from my phone as well.
I have self-hosted two more things:
- A Gitea instance for managing my source code independently of GitHub and GitLab.
- A Woodpecker CI CI/CD server that integrates with my Gitea instance for really fast testing and iterations.
Several Projects for V Language
I joined the V Language Discord Server in 2020. I have been fairly active as a contributor and have been involved with the following projects:
- Reworking the
- Completely overhauling the
- Adding a pure V implementation of BigInteger in
- Contributed to the context-free grammar for V by modifying the tree-sitter-parser grammar.
I intend to continue contributing to V for the forseeable future. I will update my list of contributions accordingly.
Confluence = Contact + Influence
I divided this project into two parts: the front-end and the back-end.
The Contact Form Front-End
It is a static website hosted on Cloudflare pages at contact.hungrybluedev.in.
There are several features that I added to this page:
- Support for dark mode and light mode.
- Responsive design for mobile and desktop.
- Spam prevention using hCaptcha.
The NodeJS Back-End
I deployed my contact form backend on Render’s free tier. It makes use of the following technologies:
- TypeScript - I prefer having static typing in my projects. Helps to prevent a lot of errors from reaching production.
- Node.js - Render supports Node.js and I wanted to try it out.
- Express - I liked the simplicity of the framework and the ease-of-use when adding custom middleware.
- MongoDB - My application needs to keep track of who sent what message, and when it was sent. Additionally, people who are banned should not be able to send me messages.
- hCaptcha - Server-side validation of the client response.
- Additional honeypot field - Just for peace of mind.
- Sendinblue - For relaying the message to me (and the sender) via email.