Current Projects

Screenshot of PhilipF5.dev
CSS3 iconGatsby iconGreenSock iconJavaScript iconPostCSS iconReact icon
PhilipF5.dev
Started 2020-01-15

PhilipF5.dev is the latest version of my website, unifying my profile, portfolio, resume, and blog into a single code base with a unified stack and style. The new site is built in React using the static site generator Gatsby. The project uses Markdown and JSON resources to populate the site’s content, and includes automatic Light Mode and Dark Mode themes. The resume page, like its previous iteration, continues to use a highly printable design.

Screenshot of Photo Tagger
CSS3 iconElectron iconJavaScript iconReact icon
Photo Tagger
Started 2019-10-14

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 SG Dial Sim
Angular iconAzure Pipelines iconElectron iconGreenSock iconSass iconTypeScript icon
SG Dial Sim
Started 2018-03-03

SG Dial Sim is planned to be the realization of my decade-old dream of a realistic and customizable dialing computer suitable for both decoration and role-playing. Unlike the simulators from the 2000s, this one is open source, released under the MIT License. And it’s not built in Flash; it’s an Electron app, with an underlying tech stack similar to what you might find under the hood of a modern interactive web site. The graphics are based largely on the mid-series dialing computer seen in Seasons 3-8.

C# icon.NET Framework iconWPF icon
Sins Data Converter v3
Started 2017-11-30

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 Sudoku
CSS3 iconGreenSock iconJavaScript iconReact icon
Sudoku
Started 2019-06-28

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.

Archive

Azure iconAzure Functions iconJavaScript iconMongoDB icon
Api.PhilipFulgham.com
Started 2018-12-31

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 Blog.PhilipFulgham.com
Gatsby iconReact icon
Blog.PhilipFulgham.com
Started 2019-01-27

After several months of blogging solely on Medium, I decided to better integrate my blogging with my coding. I used the static site generator Gatsby to create Blog.PhilipFulgham.com, a self-hosted blog that I can customize as need be. This also allowed me to standardize colors and typography across my personal sites.

Screenshot of Christmas Card 2018
GreenSock iconJavaScript iconReact icon
Christmas Card 2018
Started 2018-12-22

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.

JavaScript iconNode.js icon
json4tsql
Started 2018-12-02

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 Lights Puzzle
Angular iconGreenSock iconTypeScript icon
Lights Puzzle
Started 2018-09-06

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 blog post 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.

Screenshot of PhilipFulgham.com
Angular iconCSS3 iconGreenSock iconHTML5 iconSass iconTypeScript icon
PhilipFulgham.com
Started 2017-01-16

PhilipFulgham.com is 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 that’s been in use since late 2017. It has 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 is today far more aligned with Angular best practices.

Screenshot of Resume.PhilipFulgham.com
CSS3 iconReact iconSass iconTypeScript icon
Resume.PhilipFulgham.com
Started 2018-07-25

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 is Resume.PhilipFulgham.com, a fully responsive resume web app powered by data from the same API and database behind my portfolio website. On the web, the app lets you click into individual skills to see example projects. Click the print button, and the layout adjusts to fit perfectly on letter-size paper for printouts and PDFs.

C# icon.NET Core iconOpenPGP icon
Sharp Objects
Started 2018-04-11

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.

.NET Framework iconVisual Basic .NET iconWPF icon
Sins Data Converter v2
Started 2010-03-09

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.

Screenshot of Source Code Resume
CSS3 iconReact iconTypeScript icon
Source Code Resume
Started 2018-07-18

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.