Kevin Curtis

Kevin Curtis

Web App Developer

About Me

Since starting writing software with turtles and Legos in middle school, I've been consistently improving my software development skills. I develop well designed and tested websites for clients of all industries. I build great interfaces that are intuitive for users of all levels. In some of my spare time, I work on geeky software projects.

Latest Projects

Milwaukee Tool VIPER

VIPER Milwaukee Tool

VIPER is the project management tool Milwaukee Tool uses to run their product development. As Lead Software Engineer for the project, I took the lead on designing and developing VIPER while building a development team at the same time. Using React and .Net Core on top of Azure, my team was able to build a website that allowed Milwaukee Tool to manage projects across teams in multiple countries.

Milwaukee Tool Connect Milwaukee Tool

For Milwaukee Tool, I helped with the rebuild of their distributor sales portal. Using .Net Core and React, I replicated their existing warranty claim process from existing source code, documenting the process as I went along. Additional work was done integrating Square's credit card processing, allowing distributors to purchase tools with credit cards for the first time.

View site

Mobile Link

Mobile Link - Wi-Fi Generac

Generac produces Internet connected generators so users can see the generator's status and get notifications when it's activated. Previously, the generator could only connect via a cellular network. A new piece of hardware was created so a generator could be connected to a home's Wi-Fi network. With this becoming standard on all standby generators, the old Mobile Link system needed to be overhauled so that it could handle the increase in number of generators attached to the system. I helped build out the systems needed to handle the incoming requests and display the new Wi-Fi generators along side the cellular generators, along with the website to help connect the device to the home Wi-Fi and internal systems to help other teams view logs within our system for diagnositics.

View the site

Cloning Scryfall using TypeScript and React Open Source

As an example project for using TypeScript and React, I decided to create a single page application version of Scryfall, a search engine for Magic: The Gathering cards. Using Scryfall's own API, I was able to replicate most of the same functionality of their site.

View demo

View source on GitHub

Other Projects

Flight For Life Central App

Flight For Life Central App Lightburn

Flight for Life previously had a mobile application built for iPhone and Android devices to create a simple way for users to call in a rescue helicopter in emergency situations. However, hospitals had issues getting cellular reception inside the buildings, so a web version was requested. Using SignalR and Twilio, I built a chat system that would create an automatic notification to online dispatchers, with a back up notification to the dispatcher's phone via text message. Additonally, the web application integrates with the existing mobile application so dispatchers could contact mobile users via the web interface.

View the site

Marvel API

Marvel API - C# library for Marvel's API Open Source

Using RestSharp, I created a wrapper around Marvel's API that transformed the API to use static, nullable variables rather than dynamic strings for the users of the package.

Find out more

View source on Github

project name

Pink Glove Dance - Voting website for breast cancer support Layer One Media

Medline runs a yearly competition, Pink Glove Dance, where medical facilities create a video of people dancing with pink gloves to a selection of songs. The winner of the competition has $50,000 donated to the charity of their choice. Using Umbraco CMS, I built a site where users can register, submit, and vote on videos. The site had to be able to handle large traffic during the voting period. For the 2013 competition, the voting peaked around 50 votes per second. This site won a BMA Milwaukee Bell Award for "Websites produced for more than $35,000".

View the site

Travel Wisconsin Fall Color Report

Travel Wisconsin's Fall Color Report Ascedia

Using information gathered by resources across the state of Wisconsin, this map showed the color of the leaves around the state. First JavaScript heavy project, I dove into the Bing Maps AJAX library and jQuery to create a site that's interactive and easy to use. The report won 3 Communicator Awards in 2013. Interactive map is only available late summer into early winter; otherwise the entire state is brown with dead leaves :(

View the site

Multiplayer Augmented Reality First Person Shooter MSOE Senior Design

In senior design, my team worked on the creation of a multiplayer augmented reality first person shooter. We built a system to display overlays on top of the physical surroundings and keept track of its position in the physical world, a first person shooter game utilizing the previously mentioned system, and the implementation of a wireless system to connect multiple systems to a centralized server for multiplayer interaction.

Read news article

Work Experience

Senior Cloud Engineer - (2023 - Current)

At Dispute, I led the decision to switch authentication providers from Azure B2C to Auth0. I modernized parts of their infrastructure by using Terraform to better define the setup for Dispute’s infrastructure. I created an automated process for retrieving and processing large data files and presents the data in a way that is useful for Dispute’s client service team.

Lead Software Engineer - Milwaukee Electric Tools (2021 - 2023)

I lead a team of developers building internal apps and websites. I've designed and developed an internal project management tool. I've used Azure services (Cosmos DB, Service Bus, Functions) to create distributed applications for different projects.

Senior Software Developer - Milwaukee Electric Tools (2018 - 2021)

I work in the IT department, building internal apps and websites. I've helped with their rebuild of the distributor sales portal, including credit card processing via Square. I've worked on their multi-department time tracking tool. Both projects use .Net Core APIs and React front-ends, along with RabbitMQ messaging for long running processes.

Application Developer - Generac Power Systems (2017 - 2018)

I work on Mobile Link, which allows users to view data from their Internet connected Home Standby generator. The system uses ASP.NET WebAPI, .Net Core, and Apache Storm to handle incoming messages, MSSQL and HBase with Apache Phoenix to store and retrieve data, and ASP.NET, TypeScript, and React to display data.

Senior Web Developer - Lightburn Designs (2014 - 2017)

Using ASP.NET, I build sites for clients with complex functionality. I use Umbraco and a proprietary CMS for websites where the client wants to edit their sites. Projects varied between simple presentation site, chat applications, and complex e-commerce sites.

Web Developer - Layer One Media/Red Arrow Labs (2013 - 2014)

For Layer One Media, I worked with clients to build sites designed for high traffic. Using Umbraco CMS, I built Pink Glove Dance's voting site, which handles at most 50 votes per second. For Red Arrow Labs, I helped with a Backbone-based interface to work with an existing application.

Application Developer - Ascedia (2011 - 2013)

As a part of this web agency, I built web sites for clients from big to small using C#, ASP.NET, PHP, and/or JavaScript, sometimes all. I often had to figure out new technologies (Orchard CMS, Bing Maps AJAX, Knockout.JS to name a few) with very little time to produce big projects (Bank Mutual, Travel Wisconsin's Fall Color Report, and Travel respectively) and successfully did so (the Fall Color Report won 3 Communicator Awards in 2013 for Website's Home Page, Structure and Navigation, and Visual Appeal).

IS Intern - A. B. Data Ltd. (2010 - 2011)

First job out of college, I started here as an intern after impressing my boss with an application in C# using the framework the company used, DevExpress. I started building applications for the company's phone bank operators using C# and DevExpress. Along the way, I helped out with multiple ASP.NET sites for the company, including some in multiple languages. The final project I was starting on before my departure was interfacing with a bar code scanner to read bar codes on post cards going down an assembly line.