
President
I run one of America's largest independent camera retailers — two stores, a lab, a rental house and a classroom, serving photographers since 1947. I have been here since 2004, and I build most of the software it runs on.
The fun stuff — half-built, live, and clickable. AI that calls balls and strikes off a broadcast camera, a scoreboard the whole field runs on, a photo turned into a beadwork pattern, satellites overhead in real time. Nothing here is a mockup; every one of them is running right now.
Our second store opened on 2nd Street in Old City in November 2019 — twelve thousand square feet over four floors: retail, a classroom, a professional photo lab, a rental counter, repair, and a studio on the top floor.
I set up the networking for it — the closets and switches, the firewall and VPN, and the point-of-sale.
Up on the roof, framing going in right now, with the Philadelphia skyline on one side and Old City rooftops on the other. It becomes shooting space and event space for the store — golden hour, portrait sessions, classes that end up on a roof instead of in a classroom. Coming soon, and worth the wait.
I started here in 2004, part-time, while I was still in school. College, then an MBA in 2010, and full-time that year. Everything below I built here, for this company, and I still write most of it.
Unique Photo is one of America's largest independent camera retailers — two stores, a photo lab, a rental house, a classroom and a warehouse, serving photographers since 1947. I run it and the 100+ people here, and I build the software underneath it.
An end-to-end ERP and the storefront on top of it — orders, inventory, purchasing, shipping, payments, the warehouse, the lab and the registers, all on software we own.
The companies and projects I'm actively working on — retail, logistics, software, sports, and giving back.
Opening day — the ribbon, the city, Hoboken PD and the fire department, and a lot of coffee. It is the newest thing on this page and the only one you can drink: a La Marzocco on the bar, our own beans, our own cups, and a room people actually want to sit in. Everything else here ships in a box or runs on a server. This one you walk into.
On the side I run Unique Replay— live streams and full-game replays for a local softball league — and I've been teaching it to watch itself. Computer vision reads every pitch straight off the same broadcast cameras that carry the game. No sensors, no radar gun, no extra gear for the umpire — just the video. I built all of it: the cameras and the box at the field, the vision and calibration, the live scoring, the on-screen graphics, and the broadcast pipeline that puts it on the internet by itself.
The AI watches each slow-pitch, measures how high the ball arcs in real feet, flags an illegal arc, and calls strike or ball — no sensors on the field, no extra gear for the umpire. A tape-measured, two-camera calibration turns the pixels into true feet and unlocks exit velocity on batted balls.
There's a small computer at the ballfield that runs the entire game day on its own. It wakes up, turns on the TVs, starts the cameras, goes live on YouTube at the right minute, records in 8K, drives the scoreboards and the PA, re-uploads a clean copy afterward, and shuts everything down when the last out is recorded. If the internet drops it fails over to cellular; if a service dies it heals itself. I have never once had to be there for it to work.
The tracking is still being sharpened — a 180° panoramic camera is learning to chart where every batted ball lands, and the arc measurement gets better every week I feed it another game. It is honest, in-progress R&D, running on real games in front of real people.
I'm a hands-on architect, and if I had to pick one word for how I work, it's tenacious. I've designed and built across the entire stack that runs Unique Photo — the storefront, the GraphQL layer, the search and data pipelines, the payment and shipping integrations, the iOS and Android apps, and the cloud it all runs on. I've also written a programming-language runtime from scratch to replace one we were renting, and taught a camera at a ballfield to call balls and strikes. Most of it I wrote myself, top to bottom — and I stay on a problem until it's genuinely solved, not just quieted.
The parts with no public link to click — the machinery underneath the storefront, the warehouse, the registers and the ERP. I designed and wrote these myself, and they run the company every day.
The same diagnostic instinct I bring to code, I bring to everything. I understand how the whole thing works — from the electron path on a board down to the micron, up through the firmware, the network, the database, and the cloud that ties it all together. What actually cracks a hard problem isn't any one trick — it's being tenacious, plus an intuition built from hundreds of thousands of hours in the work. I don't stop at the symptom or swap parts and hope; I trace a problem to its real root and stay on it until it's fixed. A race condition in checkout, a failing drive in a rack, a packet dropping on a bad route, a board that's quietly gone dark — same method, different layer. I take things apart, learn exactly how each layer talks to the next, and fix what most people just replace. Layered onto that is the operations side — logistics, inventory, and the math behind moving real product every day. And honestly? I still write a plain little for-loop just for the fun of it. 😄
Ask about gear, orders, store hours, or anything photography — our assistant answers instantly and can hand you off to a real person.