My name is Kamran Ayub. I'm a professional developer that works in Minneapolis, MN and have been in the industry since 2006.

I am what is fondly called a "full stack" developer which means I specialize in front-end design and back-end development using languages like C#, HTML/CSS, JavaScript, and TypeScript. Additionally, I also have experience in system administration maintaining server infrastructure on-prem, in the cloud (in Azure and AWS), and writing automation using PowerShell.

In my spare time, I run the website Keep Track of My Games, I contribute to Excalibur.js, and many other small projects.

After my spare time is used up, I make and play video games, and participate in game jams.

Oh, I also love to travel.

If you want to get in touch, simply email my full name at gmail.com.


I've published my first video course, Introduction to TypeScript with Packt Publishing. I intend to do more video courses in the future.

Keep Track of My Games

Keep Track of My Games is a way to organize your game collection and track new releases. I started it in 2011 and have been running it solo ever since. The application is non-commercial because I leverage the GiantBomb game database for my data. In order to keep the site up-to-date and fast, I have background jobs that utilize an on-prem version of the Azure Kudu console along with Azure Queues and Table Storage. The tech stack is ASP.NET MVC, TypeScript, and RavenDB as the backend database.


Excalibur.js is a web-based game engine written in TypeScript. I work with several other talented friends on the project. The project is free and open source. We leverage heavy automation using services like Travis CI, Appveyor, and Coveralls. The API documentation is generated using TypeDoc and we've set up cross-repository automation to ensure the docs are 100% up-to-date with the master branch. We use the typical GitHub Pull Request workflow to perform code reviews and ensure that the master branch stays green and stable.