A hooded figure standing on a fog-covered road

    Portfolio

    Setlas

    A Live Music Map
    Next.js 15 · TypeScript · Google Maps API · TanStack Query · Zustand · Tailwind CSS

    Setlas is an interactive live music map for discovering upcoming shows near you or anywhere in the world and exploring artists' touring histories. Search by artist or place, then refine by date, distance, genre or tour. A Next.js API layer combines and caches data from Ticketmaster, setlist.fm, MusicBrainz and Google location services, reconciling artist and venue data across inconsistent records. Custom markers, venue clustering, viewport fitting and offscreen event indicators keep dense results easy to explore. Every search becomes a shareable link that restores its exact filters, results and map view.

    Kroll Case

    A fresh AI noir mystery every time
    Next.js · TypeScript · React Three Fiber · Multi provider AI

    Each game generates a new victim, killer, motive, evidence trail and private secret for every suspect inside a navigable Manhattan penthouse. A server side AI pipeline assembles each case in stages and checks it for internal consistency. Beneath the AI, a deterministic engine resolves movement, actions, fog of war, witnesses and evidence, ensuring AI suspects follow the same rules as the player. Question, accuse and bargain inside a real time Three.js world before the Detective arrives to investigate the recorded evidence and deliver a verdict. Built solo across AI systems, game logic, 3D and interface design.

    24/7 YouTube Broadcast

    A 24/7 synchronized YouTube channel
    Next.js · TypeScript · Node.js · Redis · MongoDB · Ably · YouTube Player API

    Transforms a YouTube catalogue into a synchronized live broadcast. An authoritative Node worker owns the schedule and playhead, while each viewer's YouTube player derives its exact position from server timestamps, compensates for network latency and corrects drift without disrupting playback. Anyone tuning in joins the same video at the same second, with seamless transitions, voting and live chat capabilities.

    JetBlue Web Check-In

    Angular, Node.js, Tailwind CSS

    Developed and maintained a modular, scalable Angular/TypeScript web application that became the highest-performing JetBlue check-in channel, supporting over 50,000 daily users. Built core features for PCI-compliant payment processing, passport OCR, travel document validation, and ancillary services including baggage management, standby list, and seat selection.

    Photography