Nick Duncan

My Portfolio

Projects and other interesting things I've contributed to

PROTOSEV.com

JavaScriptReactNext.jsSSGTailwind UIServerless

My most recent iteration of my personal business' website. It felt appropriate to ring in the new year of 2023 with a new design, and frankly I had some overdue tech debt on that website as well as this one in terms of verification of form submissions. I added RECAPTCHA v2 Invisible to both forms on this website and PROTOSEV.com, as well as a custom serverless backend to validate and deliver the information in the forms to me directly.

NickDuncan.dev

JavaScriptReactNext.jsSSGTailwind CSS

This very website is a project of its own, of course. I am a big fan of the Jamstack and static sites in general, and Next.js plus Vercel's own platform for hosting is a wonderful hosting experience. React functional components and Tailwind CSS both allow me to rapidly iterate on parts of the site big and small. I'm very pleased with the overall look and feel of my website, and I hope you enjoy it too.

micro-http-router-jwt

JavaScriptNPM Package

JWT authorization middleware for use with micro-http-router. Currently only supports tokens in the Authorization header. Used to protect endpoints behind JWT authorization and to automatically place JWT claims in the http.ClientRequest object for use with route handlers.

View micro-http-router-jwt on github.com

micro-http-router

JavaScriptNPM Package

micro-http-router is a simple, Express-like router for zeit's micro that uses a radix tree via radix-router. It supports most, if not all, of the HTTP verbs, and tries to be as lightweight and quick as possible.

View micro-http-router on github.com

PathWatch

JavaScriptExpress.jsVue.jsMySQL

PathWatch is an application to document, view, and fix problems on trails and walkways for pedestrians and bicyclists. PathWatch was my senior capstone project and consisted of several parts - a mobile app used to report problems, a web app designed for municipalities to view and manage the problems, a NodeJS + Express API, and a backing MySQL database. I was responsible for the web app which was built using Vue.js and I also built much of the Express API, including user authorization and protected routes.

Slingshotters

Unreal Engine 4Game Jam

This game was created as part of the Unreal Epic Megajam (2015) in collaboration with a 3D artist. This was a weeklong jam and the theme was “Standing on the shoulders of giants.” I was curious about the logistics involved in a racing game, so we went down that route with a Wipeout-inspired game. Our idea for theme was using an activated ability to hamstring leading opponents and to give yourself a considerable boost. A week's time was hectic, but it was a really fun project, and we have a fully working racing game with AI to show for it!

Take-Two Treehouse

UnityGame Jam

Take Two Treehouse is a game about recording movies. Get your creative juices flowing by writing exciting scripts like the awe-inspiring Dangzilla, the thrilling Ace Spaceman: Intergalactic Private Eye, and the captivating Spaghetti Sheriff. Then take up the camera and shoot some scenes! Make sure your cast choose the right word when it’s they’re in the spotlight with an exciting “Choose-The-Correct-Word” minigame! Mow the world’s fastest growing lawn for your allowance, or your parents won’t be happy. And finally, debut your movie on Saturday. If it’s not any good, a lot of people won’t show up, but if it is good, you’ll make a few fans, who will tip better than regular patrons!

Copyright © 2021 - Present Nick Duncan. All rights reserved.