Skip to content
View bryanhamiltondev's full-sized avatar
🎯
Focusing
🎯
Focusing

Block or report bryanhamiltondev

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
bryanhamiltondev/README.md

Bryan Hamilton

Full-Stack Web Engineer • Founder, The DJ Calendar (https://thedjcalendar.com) • New Jersey, USA

Résumé: https://thedjcalendar.com/resume/ - interactive packages you can open, edit, and print to PDF: Tech • Retail

About

I've been building for the web since the late 90s - from KPMG back-office systems and the NY Daily News CMS to out-of-home media platforms at OUTFRONT Media, used by millions of commuters. Today I run The DJ Calendar, an electronic music event discovery platform I founded in 2015: ~1,000 schema.org-rich pages, a custom PHP/MySQL stack, newsletter infrastructure, and zero-dependency tooling I build when the off-the-shelf answers aren't good enough.

I like my software the way I like my sets: no bloat, every element intentional.

What I'm working on

A series of small, production-derived repos - each one isolates a single engineering problem from The DJ Calendar and publishes the pattern, not the infrastructure:

  • dj-card-preview (https://github.com/bryanhamiltondev/dj-card-preview) - The homepage hover-preview card: a 30-second iTunes audio preview, an 8-bar EQ driven by the real audio frequencies via Web Audio, and a consent-first contract for touch, reduced motion, and conflicts. Live demo included.
  • instant-search-index (https://github.com/bryanhamiltondev/instant-search-index) - Instant client-side search from a prebuilt JSON index: scored matching (AND semantics, weighted fields, phrase bonus), a fully ARIA-wired combobox, and keyboard-first navigation. Runs site search across ~1,000 pages with no search server and no library - one file, zero round-trips.
  • tour-feed-pipeline (https://github.com/bryanhamiltondev/tour-feed-pipeline) - Bandsintown + Ticketmaster feeds normalized into one row shape, deduped across sources, cached with versioned JSON files, pruned for freshness. CI-tested on PHP 8.1/8.3.
  • jsonld-schema-audit (https://github.com/bryanhamiltondev/jsonld-schema-audit) - Zero-dependency PHP CLI that audits JSON-LD structured data: validates required properties per schema.org type, resolves every internal @id reference, and fails CI on regressions. Took The DJ Calendar from hundreds of Rich Results warnings to zero.
  • csrf-json-fetch (https://github.com/bryanhamiltondev/csrf-json-fetch) - Hardened vanilla-JS fetch wrapper: CSRF token lifecycle, header+body dual injection, and a strict single-retry-on-expiry policy.
  • sri-lazy-loader (https://github.com/bryanhamiltondev/sri-lazy-loader) - Race-safe lazy script loader with Subresource Integrity: concurrent-caller dedupe, pre-existing-tag detection, timeout with cleanup.
  • event-calendar-schema (https://github.com/bryanhamiltondev/event-calendar-schema) - MySQL schema and PDO data layer: idempotent event upserts, double opt-in subscribers, query-shaped composite indexes.
  • wp-schema-audit (https://github.com/bryanhamiltondev/wp-schema-audit) - WordPress plugin port of the schema auditor: WP-CLI command, admin Tools page, and a CI self-test that asserts both the pass and fail directions against real fixtures.
  • next-show-radar (https://github.com/bryanhamiltondev/next-show-radar) - The geolocation-aware tour map from the platform: consent-first geolocation with a documented deny contract (global view + announced fallback), haversine radius fitting, and race-safe Leaflet boot. Pairs with sri-lazy-loader, which brings the map engine in safely.
  • eq-visualizer (https://github.com/bryanhamiltondev/eq-visualizer) - The 8-bar sensory equalizer from the homepage cards, extracted as a zero-dependency widget: pure CSS animation, an optional 1 KB injector, and reduced-motion respect built in.
  • The DJ Calendar - electronic music event discovery: Leaflet-based city maps, newsletter infra, and a homegrown SEO/schema pipeline.

The toolkit

Layer What I reach for
Languages PHP, vanilla JavaScript, MySQL, JSON, Bash/Shell, HTML/CSS
CMS WordPress (21 years), 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 design

Find me

Pinned Loading

  1. dj-card-preview dj-card-preview Public

    The hover preview from The DJ Calendar: a 30-second iTunes audio preview, an 8-bar EQ driven by the real audio frequencies via Web Audio, and a consent-first contract for touch, reduced motion, and…

    JavaScript

  2. instant-search-index instant-search-index Public

    Instant client-side search from a prebuilt JSON index: scored matching, keyboard-first combobox, ARIA wired. Vanilla JS, zero dependencies - no server round-trips, no frameworks.

    JavaScript

  3. next-show-radar next-show-radar Public

    Geolocation-aware tour map widget from The DJ Calendar: shows the visitor nearby upcoming shows, and stays excellent when they decline location. Vanilla JS + Leaflet. Zero dependencies.

    JavaScript

  4. event-calendar-schema event-calendar-schema Public

    MySQL schema and PDO repository for an event calendar: idempotent event upserts, double opt-in subscribers, query-shaped indexes. Design decisions documented inline.

    PHP

  5. wp-schema-audit wp-schema-audit Public

    WordPress plugin that audits JSON-LD structured data across your content: validates required properties per schema.org type, resolves internal @id references, and fails CI on regressions. Ships a W…

    PHP

  6. csrf-json-fetch csrf-json-fetch Public

    Hardened vanilla-JS JSON fetch: CSRF token caching, header+body dual injection, single-retry on token expiry, typed errors. Zero dependencies.

    JavaScript