Kishan's P
A list of my skills and a showcase of the most ambitious projects I worked on
About me
Hey there, I'm Kishan!
I love to create games, develop websites and make bad jokes.

When I'm not coding (and if I haven't broken my bootloader), you'll either find me customizing my terminal or desktop environment, deploying new stuff on my server or having fun with my cousins.

I've been a Book Author and both a Google Code-in Finalist and Mentor. I'm currently occupying a Senior DevOps Engineer position at SD Worx Mauritius and I work on my personal projects such as progressive web apps, games and robust backends during weekends.
My Expertise
Game Dev
I have been developing games ever since I was 14. At the start, it was just simple 2d games in PyGame after I found a bigger interest in game dev amidst other applications of Python.

Later on, I switched to Unity for making more complex games, most of which were 3d open-world / adventure indie titles. For over 4 years, I worked on making feature rich Android games.

While I did experiment with other game engines such as Godot, Unreal and LÖVE, I never completely switched from Unity. Additionally, I learnt c++ by making simple games heavily utilizing OOP and pointers with SFML.

At some point, I did also work a lot with Bevy and Rust because I want to have more control over the whole process.
Front-end Web Dev
The First Website I developed was purely made in HTML and CSS. After I started to contribute in open-source projects found on GitHub, I progressively switched to making static sites using Jekyll. I heavily made use of the Liquid templating engine alongside with configuration files and templates I defined to build websites.

Fast-forward some years, I started to invest a lot of time into learning React, at the time when Hooks started to become a powerful and reliable solution, to build more efficient, secure and fast PWAs. This was also the time when I became a better JS/ES6+ developer. More than satisfied with the switch, I migrated most of my sites to use React. My CSS library of choice was (and still is) Tailwind with a mobile-first strategy. Due to working with npm, I also gained a lot of experience with other JS frameworks such as Axios and Redux. I did experiment quite a bit with NextJS, Gatsby and Svelte as well. Some of my projects also make use of pagination and Websockets using Socket.io.
Back-end Web Dev
After focussing a lot on the front-end for my websites, I decided it was high time for my web apps to be more interactive and useful. I needed ways to persistently store data and tinker with implementing more complex features such as login forms. As I already had a dedicated server that I was renting from OVH and I was using JavaScript a lot in my React apps, I started learning and building backends using frameworks and tools such as Node, Express and Mongoose. Of course, my database of choice has been MongoDB since then.

Later on, I started to show a big interest in Deno coupled with third party modules such as oak. I also have a lot of experience in using Redis and FastifyJS by making some pretty big projects (such as a whole social media platform).
Linux System Admin
Ditching Windows for Linux was probably one of the best decisions I ever made in my life. Since then, I've been automating my workflow by writing hundreds of bash scripts. I like to customize my terminal a lot and I'm a regular distro-hopper. I've also worked on making my own distro from scratch.

After landing my first System Admin job, I've been deploying and configuring VMs, diagnosing/troubleshooting issues on servers and making sure services were running properly. I've had to work a lot on the Google Cloud Platform. Often times, I had to execute commands to import, backup and modify MySQL databases. I have a lot of experience working with Nginx, Apache and Traefik as well. As my expertise grew, I've had exposure to other cloud providers such as OVH, Magento Cloud, DigitalOcean, AWS, Linode, Flexible Engine and many others.
App Dev
Finding that my progressive web apps weren't enough to provide the experience I wanted for end users, I started dedicating time in learning React Native for making mobile apps because it had a lot in common with React, a technology that I was already very familiar with.

I did try out Flutter as well but I was simply not fond of the syntax I had to follow for creating components/widgets.

Sometimes I make use of Cordova as well for saving time in making mobile apps. Electron is my choice for making desktop ones.
DevOps / Systems Programming
There are a plethora of situations where I made use of Docker containers, whether in my personal life or at work. This includes LAMP (Linux, Apache, MySQL, phpMyAdmin) stacks, monitoring tools such as Kolide Fleet, Redmine and password managers.

Sometimes, similar operations had to be done on a lot of machines or servers, and Ansible was a great and easy solution to use which required me to only define hosts and the instructions to be executed. I also make use of CI/CD pipelines a lot on custom instances of Gitlab and Gitea running on servers.

Using Rust and Python, I also developped a couple of small CLI-based tools and scripts to get tasks done faster. I also invested a lot of time to experiment with technologies such as Kubernetes and Nomad. Additionally, I've used many other technologies in my career and on my own servers such as Prometheus, Grafana, InfluxDB, Logstash, ElasticSearch, Kibana, Graylog, NewRelic, Icinga, Zabbix and Cloudflare.
Project Showcase
A no-code platform designed to empower users to create APIs effortlessly through an intuitive drag-and-drop interface, eliminating the need for programming expertise. Beyond API creation, it offers advanced capabilities like the X Engine for modular routing and workflow execution, robust security with Personal Access Tokens (PATs), integrated performance testing using K6, and comprehensive API documentation via Scalar. Its user-friendly Web UI supports the management of core components such as Projects, Collections, Structures, and Routes, while also enabling experimentation and debugging of complex logic. Kinesis API seamlessly combines simplicity with advanced features, making it a versatile solution for both novice users and seasoned developers.
web
Rust
TailwindCSS
slider-0-Kinesis API
A complete and powerful social media platform. Allows users to interact with one another through posts, groups and chat rooms, and provides features such as following/blocking/finding other users, reacting/commenting to/on posts and updating one's profile. Also has a powerful markdown engine and a notification processor under the hood.
web
React
NodeJS
FastifyJS
MongoDB
slider-0-Konnect
SquareVille is an adventure game made up of many different modes. You can choose to explore worlds, kill zombies, create unique shapes in the sandbox and drive several vehicles. As focus is more on gameplay rather than graphics, all objects in the game are made up of low-poly or primitive 3d models. Customization is also a big part of this game, giving the player the ability to paint vehicles, build cities and command bots.
game
unity
slider-0-SquareVille
A complex blogging platform allowing users to create, edit and delete blog posts, mark them as draft, favorite and/or comment on them, upload images, make image carousels, follow other users, carry out powerful searches and much much more.
web
React
NodeJS
TailwindCSS
slider-0-Konnect Blog
B.A.Ts is a mobile shooter game. Different tanks are purchaseable and upgradable. There are a wide variety of enemies, each with special abilities. Customization is also a key feature of this game. The player obtains coins and gems by completing challenges and destroying enemies. Many features such as powerups, pickups and score multipliers are available as well.
game
unity
slider-0-Balls and Turrets