25+ years building for the web in PHP and vanilla JavaScript.
Ten repos extracted from live production code. No frameworks. No tutorials.
I've been building for the web since the late '90s: KPMG back-office systems, the NY Daily News CMS through four full redesigns, Jackson Hewitt's CMS migration, Cellebrite's marketing platform, and OUTFRONT Media apps reaching millions of commuters daily. Today I run The DJ Calendar, an electronic music discovery platform I founded in 2015: ~1,000 schema.org-rich pages, a custom PHP/MySQL stack, and zero-dependency tooling I build when off-the-shelf answers aren't good enough.
Every repo here is extracted from production code. Not a tutorial. Not a boilerplate. The actual thing, cleaned and documented.
Open to work, available immediately: full-stack web engineering roles, PHP/JavaScript-focused. Remote, hybrid or on-site anywhere in the NYC metro area, including Manhattan. Also open to senior individual contributor or lead developer positions where I can ship production code and mentor junior engineers.
Currently building: The DJ Calendar Newsletter system - double opt-in subscriber management, PDO-driven, for artist alerts and venue announcements.
My portfolio: one hand-tuned page, two ways to hire me.
Plain vanilla JavaScript, no frameworks. Live, working demos of six of the repos below, an animated career timeline, a page search built on instant-search-index, and PageSpeed Insights scores of 99 / 100 / 100 / 100. Open your browser console when you visit. 👀
Everything that powers thedjcalendar.com - extracted as patterns.
|
Hover-to-play audio preview card with real Web Audio EQ. The flagship demo.
|
Client-side search from a prebuilt JSON index. Scored AND matching, weighted fields, ARIA combobox. ~1,000 pages, zero server round-trips.
|
Geolocation-aware tour map. Consent-first, haversine radius, race-safe Leaflet boot. Stays excellent when they say no.
|
|
Bandsintown + Ticketmaster feeds normalized into one row shape, deduped, cached, pruned. CI-tested PHP 8.
|
8-bar sensory equalizer. Pure CSS, optional 1 KB injector, reduced-motion respect. Zero JS required to render.
|
Race-safe lazy script loader with Subresource Integrity. Concurrent-caller dedupe, timeout + cleanup. What loads Leaflet safely.
|
|
Zero-dependency PHP CLI that audits JSON-LD across your content. Validates required properties per schema.org type, resolves
|
WordPress plugin port of the schema auditor. WP-CLI command, admin Tools page, CI self-test with pass/fail fixtures. Zero dependencies.
|
|
MySQL schema + PDO repository for an event calendar. Idempotent event upserts, double opt-in subscribers, query-shaped indexes. Inline design decisions.
|
Hardened vanilla-JS fetch wrapper. CSRF token lifecycle, header+body dual injection, single-retry on expiry, typed errors.
|
"Bryan has a masterful ability to problem-solve complex scenarios, and was a driving force in creating our latest website." Matt Bishop, Brand Experience Consultant @ MWB (client)
"He has an exceptional troubleshooting and analytical skill in Web technologies." Ashwin Mekala, Front End Developer (worked together on the same team)
Read the full recommendations on LinkedIn ->
| Layer | What I reach for |
|---|---|
| Languages | PHP (21+ years), JavaScript (vanilla), MySQL, JSON, Bash, HTML/CSS |
| CMS | WordPress since 2004, custom plugins, ACF, WP-CLI |
| Data & SEO | schema.org / JSON-LD, PDO, Leaflet, structured-data auditing |
| Quality | GitHub Actions CI, fixture-based self-tests, zero-dependency by conviction |
| Tools | Git, FTP/SSH, phpMyAdmin, RegEx, browser DevTools, VSCode |
bryanhamilton.info - Full-stack web engineer, Rochelle Park, NJ
hello@bryanhamilton.info - 551-378-7780 - Book a 15-min call - linkedin.com/in/bryanhamiltondev
Built with PHP, vanilla JS, and the conviction that the best code is the code you don't have to install.