the only way to be truly satisfied is
to do what you believe is great work.
A picture of me

Let me introduce myself...

I’m an experienced software engineer specializing in cloud-based backend services, with additional experience in frontend work. I’m passionate about building functional, maintainable, elegant products that delight developers and users alike. In our digitally connected world, I believe in the importance of well-crafted technology, not just for solving the big problems, but for all the small moments when something that works can make someone’s day just a little bit better. I think the arrival of AI unlocks a lot of potential for software, as long as we keep people at the center of what we build, how we build it, and why we build it.

Professionally, I’ve built and maintained microservices, web apps, cloud infrastructure, and libraries for Fortune 500 companies. I’ve worked on multiple cross-functional Agile product teams, promoting engineering best practices, developing strong technical foundations, and implementing innovative solutions, to help my employers achieve their business objectives and continually improve their customer and teammate experiences.

As a technology hobbyist, I often experiment with popular and emerging software and hardware to increase the breadth of my knowledge base. I’ve created my own tools to help automate repetitive or time-consuming tasks, as well as some simple games built on web technologies and animation frameworks. I’ve also occasionally written online about learnings and trends in software development, the Internet, and technology as a whole.

My strongest skills are in...

  • Azure (+ Bicep)
  • C# .NET
  • JavaScript
  • NoSQL (Cosmos DB)
  • React
  • TypeScript

I'm familiar with tools like...

  • Azure DevOps
  • Claude Code
  • Git
  • GitHub
  • GitHub Copilot
  • Jira
  • Mac
  • Visual Studio Code

I've also had solid wins with...

  • Blazor
  • GSAP (GreenSock)
  • HTML/CSS
  • PowerShell
  • Webpack

Further back, I did some work with...

  • Angular
  • Electron
  • Entity Framework
  • Gatsby
  • Ionic
  • .NET Framework
  • NgRx
  • Node.js
  • PHP
  • SQL
  • Visual Basic .NET
  • WPF

I'm most interested in learning...

  • AWS
  • Docker
  • Go
  • Java
  • Kubernetes
  • Python
  • Terraform

With these skills, I've built things like...

Screenshot of Lights Puzzle
Lights Puzzle
Started 2018-09-06
Technologies: Angular, GreenSock, TypeScript

Lights Puzzle (and its early alter-ego gsap-lights) is a basic game I built in Angular to demonstrate patterns for using GreenSock animations in Angular without violating the framework’s best practices. The original app was accompanied by a detailed tutorial that quickly became the most popular thing I’ve ever shared online. After the tutorial, I adjusted the app to be more polished so that it could live on into the future as a playable web game.

PhilipF5.dev v5
Started 2026-08-14
Technologies: Astro, AWS, Claude Code, JavaScript, HTML/CSS

PhilipF5.dev v5 is the latest version of my website. I leveraged Claude Code to migrate my bio and portfolio from Gatsby to Astro, while cleaning up the tech debt that had accrued over the long life of the previous site. It builds on the component and static-data architecture of its predecessor, while being more streamlined and configured for easy maintenance and updates both manual and agentic.

Screenshot of Photo Tagger
Photo Tagger
Started 2019-10-14
Technologies: Electron, JavaScript, HTML/CSS, React

Photo Tagger is an experimental Electron app that serves as a reference implementation for my xmp-sidecar Node.js library. It allows for easy application of XMP sidecar tags to mixed photo sets. The user interface is built in React, and the app supports Dark Mode.

Screenshot of Sudoku
Sudoku
Started 2019-06-28
Technologies: GreenSock, JavaScript, HTML/CSS, React

Sudoku is a fun spin on the classic puzzle game, built using React for state management and GreenSock for animation. It has a variety of difficulty options and graphics settings to provide a customizable experience.

Screenshot of PhilipF5.dev v4
PhilipF5.dev v4
Started 2020-01-15
Technologies: GreenSock, JavaScript, HTML/CSS, PostCSS, Gatsby, React, Azure

PhilipF5.dev v4 was the previous version of my website, unifying my profile, portfolio, blog, and resume into a single code base with a unified stack and style. The site was built in React using the static site generator Gatsby. The project used Markdown and JSON resources to populate the site’s content, and included automatic Light Mode and Dark Mode themes. The resume page, like its previous iteration, continued to use a highly printable design. This version of my website was in service for over six years.

Api.PhilipFulgham.com
Started 2018-12-31
Technologies: Azure Functions, JavaScript, MongoDB, Azure

My previous generation of websites was supported by Api.PhilipFulgham.com. This was a serverless back end powered initially by Azure Functions, and then briefly by ZEIT Now before being sunset. All of the underlying data was stored in MongoDB.

Screenshot of Christmas Card 2018
Christmas Card 2018
Started 2018-12-22
Technologies: React, JavaScript, GreenSock

Just a few days before Christmas, I felt an urge to design and build my own animated e-card. I chose to take the opportunity to attempt using GreenSock with React for the first time. Due to the short timeframe, the end result is not particularly attractive code, but it taught me more about React, as well as modern browser limitations imposed on the use of audio.

json4tsql
Started 2018-12-02
Technologies: Node.js, JavaScript

To save some time at work, I decided to make myself a little command-line utility to assist with preparing JSON data for pasting into my SQL scripts. json4tsql is an extremely simple Node.js tool that just takes some input you give it, either from a file or from stdin, and does the following: 1) parse it as JSON (or, crash if it’s not JSON until I add error handling), 2) minify it to remove indentation and other whitespace, 3) escape any single quote characters, and 4) enclose the whole string in a pair of single quote characters. It’s nothing very fancy, but it gets the job done and saves me the hassle of manually escaping apostrophes when sticking some JSON into a SQL statement. It’s also my first published npm package.

Screenshot of Resume.PhilipFulgham.com
Resume.PhilipFulgham.com
Started 2018-07-25
Technologies: Sass, React, TypeScript, HTML/CSS

In search of a resume approach that would truly reflect who I am as a developer, I started a project to create a resume programmatically so that it could double as part of my portfolio, rather than being just a static document from a word processor. I chose to use this project as an opportunity to start learning React, and the result was Resume.PhilipFulgham.com, a fully responsive resume web app powered by data from the same API and database behind my portfolio website at the time. On the web, the app let you click into individual skills to see example projects. Click the print button, and the layout adjusted to fit perfectly on letter-size paper for printouts and PDFs. This project evolved into similar functionality built into my Gatsby website for several years and continues to inspire my current approach to resume creation.

Screenshot of Source Code Resume
Source Code Resume
Started 2018-07-18
Technologies: React, TypeScript, HTML/CSS

Source Code Resume was my very first React project. The idea was simply to create a basic resume that is reminiscent of source code in its style and content. Like most first attempts, the code quality was not good, but I ultimately took what I learned to create another resume site, which would become my first ongoing React project and eventually the foundation for my whole website.

Sharp Objects
Started 2018-04-11
Technologies: C#, .NET Core, OpenPGP

Sharp Objects is a proof-of-concept console app I created for a talk about implementing OpenPGP encryption in .NET using the Bouncy Castle library. It was meant to illustrate both technical implementation and concepts such as public-key encryption.

Sins Data Converter v3
Started 2017-11-30
Technologies: C#, WPF, .NET Framework

Sins Data Converter is a small Windows desktop utility that allows easy two-way conversion between BIN and TXT for game data files of Sins of a Solar Empire by Ironclad Games. The version 3.x line of this program was started early in my professional career as a personal challenge, to see how much better I could write the tool after years of skill development. Unlike the original, this version is written in clean C# using an object-oriented approach.

Screenshot of PhilipFulgham.com
PhilipFulgham.com
Started 2017-01-16
Technologies: Angular, GreenSock, HTML/CSS, Sass, TypeScript

PhilipFulgham.com was an earlier version of my portfolio website, and the hub of my online presence. I first created a custom website for myself in 2008. It was a pretty simple affair built entirely in HTML, perhaps with very minimal CSS. For most of that site’s existence, I did very little with it. But, as a college senior, I began to see the value of having a well-maintained and detailed website to highlight one’s work, so I built myself a brand-new site as one of my very first Angular projects. This site quickly evolved, settling on a sci-fi inspired design. It served as a training ground and testbed for new web development ideas and skills, resulting in a code base that started as a total mess but, over time, became far more aligned with Angular best practices.

Sins Data Converter v2
Started 2010-03-09
Technologies: Visual Basic .NET, WPF, .NET Framework

Sins Data Converter is a small Windows desktop utility that allows easy two-way conversion between BIN and TXT for game data files of Sins of a Solar Empire by Ironclad Games. The version 2.x line of this program was written in Visual Basic, early in my college years. The code is rather horrible in hindsight, but I still consider a major step in my skills development.

...and eight years of professional deliverables.