I'm Jeff. I'm a web developer, photographer, world traveler, movie lover, and baseball fanatic.
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
Baseball articles and statistics website built on WordPress VIP for enterprise-grade performance and scalability. As Web Team Manager, I managed a small team of developers, maintained a scrum-based agile workflow, organized documentation, worked closely with the data science team, and oversaw deployments to production. My primary development focus was the data-heavy player pages, which feature comprehensive data visualization using Chart.js and interactive tables powered by DataTables with advanced filtering, sorting, and export capabilities. The system integrates custom REST API endpoints for efficient data delivery, handles API data pulls with local storage, performs on-the-fly processing, runs nightly cron jobs for updates, and implements server-side caching for optimal performance.
WordPress VIP, custom theme, Foundation 6, REST API, Chart.js, DataTables, Dart Sass, Grunt | Web Team Manager
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
Collection of resources on issues impacting older foster youth transitioning out of foster care. Client requested that the resources be easily filterable and fully functional on mobile devices. Site features advanced filtering logic and dropdown panels showing all available filters. Preloaded content and dynamic animation quickly delivers results. Back-end tools allows the organization to easily add new resources and categorize them for proper filtering.
responsive layout, WordPress, Isotope | Lead Developer
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
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 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
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 personal cookbook of home recipes with adjustable serving sizes. Built with Astro as a static site so recipes live as Markdown in the repo and deploy as plain HTML to shared hosting. Features client-side search and category filtering (including family recipe sources), structured ingredient data with a serving scaler that recalculates amounts on the fly, and photo galleries on individual recipes. Over 100 family and home recipes are indexed and available to browse.
Astro, Markdown content collections, Zod, vanilla JS
An archive cataloging the fans who have caught the most famous home run balls in Major League Baseball history. The site features stories collected from news outlets, interactive modals with embedded videos showing each historic home run, and photos of the lucky fans. Built with custom PHP and jQuery UI for smooth interactions, the site includes user-submitted content capabilities with moderation tools and CAPTCHA protection via Securimage to maintain content quality.
Custom PHP, jQuery UI, Securimage CAPTCHA
Washington, District of Columbia
The original Height of Buildings Act, passed by Congress in 1899 in response to the construction of the Cairo Hotel, limited buildings to the height of the Capitol building, which rises to 289 feet. But the act was amended in 1910 to restrict the height of any building to the width of the adjacent street plus 20 feet; thus, a building facing a 90-foot-wide street could be only 110 feet tall. The Capitol building is currently the fifth tallest structure in Washington.
Paris, France
Looking up inside of it. The puddled iron of the Eiffel Tower weighs 7,300 tons, and the addition of lifts, shops, and antennae have brought the total weight to approximately 10,100 tons.
Athens, Greece
The Parthenon is a former temple on the Acropolis in Athens, dedicated to the goddess Athena. Construction began in 447 BC when the Athenian Empire was at the peak of its power.
Barcelona, Spain
The columns of the interior are a unique Gaudí design. Besides branching to support their load, their ever-changing surfaces are the result of the intersection of various geometric forms. Essentially none of the interior surfaces are flat; the ornamentation is comprehensive and rich, consisting in large part of abstract shapes which combine smooth curves and jagged points.
San Diego, California
Midway was placed into service in 1945, eight days after the surrender of Japan in World War II. Now, it floats as a museum ship in San Diego.
Naxos, Greece
The climb up was hot and fun. Zas Cave, inhabited during the Neolithic era, contained objects of stone from Melos and copper objects including a dagger and gold sheet. According to Greek mythology, the young Zeus was raised in a cave on Mt. Zas ("Zas" meaning "Zeus").
Portland, Oregon
Powell's headquarters, dubbed Powell's City of Books, is located in the Pearl District on the edge of downtown and occupies a full city block and claims to be the largest independent new and used bookstore in the world. The inventory for its retail and online sales is over four million new, used, rare, and out-of-print books. Powell's buys around 3,000 used books a day.
Glendalough, County Wicklow, Ireland
The present remains in Glendalough tell only a small part of its story. The monastery in its heyday included workshops, areas for manuscript writing and copying, guest houses, an infirmary, farm buildings and dwellings for both the monks and a large lay population. The buildings which survive probably date from between the 10th and 12th centuries.
Grand Teton National Park, Wyoming
My homage to Ansel Adams. He took his famous Snake River photo from roughly the same spot in 1942. Ansel's mountains are blanketed with majestic snow, but my mountains have only a few flecks at the very top. Ansel's river was swollen and raging, but mine had a bit of a prostate problem. And much of my shot is obscured by trees that have grown in the last 69 years.
Lisbon, Portugal
Since 1837, locals and visitors to Lisbon have visited the Pastéis de Belém bakery to purchase fresh from the oven pastéis, sprinkled with cinnamon and powdered sugar.
November 2, 2026 | reviews
Scorsese sure does love his violence, but he’s also fascinated by obscure chapters of history told on an epic scale, especially when stories are driven by deeply held religious convictions or other belief systems. This is his wheelhouse. The violence isn’t just an assault on the eyes, but on the…
October 12, 2026 | travel
Out the door at 5am. Dave’s flight was the first to leave, so we dropped him at departures and sent him on his way before returning the rental car. A couple of hugs, and he was off. And then there were two. A confusing maze of bad signs and roundabouts…
October 7, 2026 | travel
Like every other morning, this one began with a crossfire of snoring accusations. With our flights home early tomorrow, the morning also featured a display of pre-flight anxiety from Dave, complete with second- and third-guessing his check-in, travel documents, flight notifications, packing, and baggage handling. While Matt stayed behind to…