I'm Jeff. I'm a web developer, photographer, world traveler, movie lover, and baseball fanatic.
Digital mobility company needed a site that showcased its newly acquired divisions and business capabilities. Content and image-heavy site features angled content areas, magazine-style transitions, multi-level horizontal navigation, and embedded video and PDF content. A government subsite with graceful degradation to IE7 was required.
responsive layout, WordPress, Foundation, Google Tag Manager integration | Tech Lead
A cost-splitting tool that eliminates the complicated math of sharing expenses with friends. Whether you're splitting travel costs, rent, or any group expenses, the app automatically calculates who owes money to whom. Users can create events, add participants, and log expenses by category. Interactive pie charts powered by Flot.js visualize how costs have been distributed, making it easy to see the breakdown at a glance. The system sends email notifications via PHPMailer to keep everyone informed about shared expenses and payment status.
Custom PHP, PHPMailer, Flot.js
Corporate marketing site for global cybersecurity leader. Website makes extensive use of WordPress custom post types and custom fields to manage heavy content and Bootstrap for responsive mobile design.
WordPress, custom theme, Bootstrap, webpack | Senior UI Developer / UI Engineer III
Global youth organization needed a refresh of their internationally recognized brand. An updated design was created, and a new back-end content management system allowed for easier organization and maintenance of their deep content. Structured page templates ensure that content is always cleanly presented. Section 508 rules for accessibility were respected.
responsive layout, WordPress Multisite, Foundation, Webdam integration | Tech Lead
A movie discovery platform that helps you find the best films to watch by combining data from multiple sources with proprietary ranking algorithms. The site aggregates movie information from TMDb, OMDb, and Guidebox APIs, supplements it with IMDB data scraping, and applies custom algorithms to generate comprehensive rankings. Daily automated cron jobs keep the database fresh with the latest releases, ratings, and streaming availability. Dynamic filtering powered by Isotope allows users to discover hidden gems, mark movies as seen, build personalized watchlists, and instantly see which streaming services offer each title. Built with Foundation 6 and featuring smooth animations via Motion UI.
Foundation 6, Isotope, TMDb/OMDb/Guidebox APIs, IMDB data scraping, Grunt, PostCSS
National restaurant chain requested a new site to update their corporate brand and streamline the experience for franchise owners. Features menus and event calendars that can me managed at the corporate and franchise level. Franchise owners can offer unique menu items, drink specials, and integrate local social media accounts. A corporate approval system manages content before it is published to the live site. Geolocation services find the nearest locations for users. A new Kilt Girl is featured on the calendar every month.
responsive layout, WordPress, Foundation, Facebook/Instagram feeds | Tech Lead
Mediterranean-inspired restaurant in Wellesley, Massachusetts. One-page site features navigation with animated scrolling, an online menu populated by SinglePlatform, gift card and cookbook ordering integration with PayPal, and a photo gallery.
responsive layout, WordPress, Foundation, PayPal integration | Lead Developer
A Super Bowl squares game platform where users pick numbers before the big game and win if the scores at the end of each quarter match their selections. Built with WordPress and responsive design, the site features secure user authentication for each participant and automated email notifications via Mailgun that send game updates and results. The front-end is built with SASS and compiled using Grunt for efficient development workflow.
WordPress, responsive design, Mailgun, SASS, Grunt
A ranking system for office ping pong or any other competitive event. The system is built as a ladder, where players can challenge players above them and must win to move up. Email notifications for challenge matches and reminders of upcoming games are automatically sent out. Playing statistics including all-time records, streaks, and easiest/toughest opponents are calculated on the fly. Back-end tools allow admins to add and remove players.
responsive layout, Foundation
Organization works with the NFLPA to collect articles and resources for former NFL players. Features dynamically filtered content, social media sharing tools, and an accordion-driven FAQ section.
responsive layout, WordPress, Isotope | Lead Developer
Santorini, Greece
Firá is the modern capital of Santorini. A traditional settlement, it derives its name from an alternative pronunciation of "Thíra", the ancient name of the island itself. The cliff is covered with restaurants and bars reaching outward to offer the best possible views of the setting sun every evening.
Arequipa, Peru
Santa Catalina is a monastery of nuns of the Dominican Second Order. It was built in 1579 and is characterized by its vividly painted walls.
Iguazu Falls, Argentina
This guy wasn't posing for me. He was literally sitting in his shop doing nothing when I walked by.
Kotor, Montenegro
A wooden bird hangs over the square in Kotor, an old Mediterranean port surrounded by fortifications built during the Venetian period from 1420 to 1797.
Oslo, Norway
The Vigeland installation in Frogner Park features 212 bronze and granite sculptures, all designed by Gustav Vigeland. Around the Monolith Plateau are 36 figure groups representing the "circle of life".
Bangkok, Thailand
This beauty was floating amongst lily pads at Wat Arun. In Buddhist symbolism, the lotus represents purity of the body, speech, and mind as if floating above the muddy waters of attachment and desire.
Koh Phangan, Thailand
In the spirit of Koh Phangan's full moon parties, this New Year's Eve party on a beach called Haad Rin was filled with with tens of thousands of people drinking and dancing and hallucinating and vomiting and having sex. There were performers and dancers everywhere. This long exposure of a fire twirler was the best of the bunch.
Berlin, Germany
The Kunsthaus Tacheles (Art House Tacheles) was originally built as a department store in the Jewish quarter of Berlin. After serving as a Nazi prison in WWII, it was partially demolished in the 1980’s and then taken over by artists.
Oświęcim, Poland
The electrified fence around Auschwitz concentration camp deterred prisoners from trying to escape.
Chora, Amorgos, Greece
Chora means "town" in Greek. On many Greek islands, the principal town on the island will be called Chora, especially when the town has the same name as the island itself.
June 26, 2026 | reviews
If you’re a huge fan of Roger Rabbit, then maybe this is fun. But it’s not very clever, and the animation is a small tick down from the film.
April 24, 2026 | blog
The Nyveen family traces its origins to the northern Netherlands, in the provinces of Groningen and Drenthe, where both the name and the family itself appear to have taken shape in the late eighteenth or early nineteenth century. The name was originally spelled Nijveen, and is composed of two older […]
November 27, 2025 | travel
Been home for a few weeks, but my eye is still on Japan. I continued to follow the Kyushu Basho, Fukuoka’s sumo tournament, and watched as Aonishiki, the man we affectionately referred to as Jerry Cowlings from Indianapolis, won the tournament. He is in fact a Ukrainian and a rising…