Dev Patel
Product PRESENT

Technical Solutions Engineer

Shipping websites for Burnley FC, Edgbaston, IMG Dubai and PJL — and building the internal service that took a manual step out of every ticket.

Classification
Product
Client
YinzCam, Inc.
Window
FEB 2026 → PRESENT
Duration
7 MO
Location
Pittsburgh, PA
The brief

The brief

YinzCam builds the official digital products for professional sports teams and venues. I sit between the clients and the engineering team: delivering the builds, integrating the data feeds behind them, and being the person who finds out why something broke in production.

The part I care most about is the tooling. A lot of delivery friction is really tooling friction — a hand-off living in someone's DMs, a status that exists only in one person's head. Where I could delete that with code, I did.

Scope of work

Scope of work

  • Built a Slack-to-Jira service in Node.js with webhooks covering ticket creation, subtasks, status updates, reporter mapping, attachments and retries.
  • Delivered major website builds for Burnley FC, Edgbaston, IMG Dubai and PJL — development, data-feed integration, URL routing and launch readiness.
  • Resolved production bugs across 8 client websites through root-cause analysis of data-feed, routing, rendering and integration failures.
  • Ran delivery stand-ups with the VP and CTO using a self-built Confluence/JQL tracker, coordinating PMs, developers, designers and account managers.
Measured

Measured

4major site launches
8client sites supported
1internal service shipped
Plan

Plan

Plan

6 items · scale 1:1
SLACK#channel event1WEBHOOK SERVICENode.js · HMAC verify2MAPPERreporter · subtasksattachments3RETRY QUEUEbackoff4JIRA RESTcreate · transition5DELIVERY BOARDtracked story6
Note · The Slack-to-Jira service. Retries and reporter mapping are the parts that made it trustworthy enough to leave running.
What I'd redraw

What I'd redraw

The service solved intake, not triage — everything still lands in one queue a human has to sort. The honest next version puts a routing table in front of the Jira call so the channel and the message shape decide project, component and assignee, instead of that logic living inside the handler.

Materials

Materials

Node.jsREST APIsWebhooksJira APISlack APIJQLConfluencePython