Skip to main content
Alexander Sweetwood

Alexander Sweetwood

President

Unique Photo is one of America's largest independent camera retailers and has served photographers since 1947. We have two flagship locations, each with its own photo lab, classrooms, rental counter, trade-in desk and used department, plus 75,000 sq ft of distribution that's on its way past 100,000. I packed my first package here in 1990 and came on full time in 2004, through college and after. I also build most of the software the company runs on.

New JerseyInstagram
Live experiments · play with them

What I'm Tinkering With

This is the fun stuff. Some of it is half-built, but all of it is live and you can click around. There's AI calling balls and strikes off a broadcast camera, the scoreboard our field runs on, an app that turns a photo into a beadwork pattern, and a live map of the satellites overhead. None of these are mockups. They're all running right now.

AI Pitch TrackerComputer vision watches every pitch on the broadcast cameras. It measures the arc height in feet, checks that the arc is legal, calls strike or ball, and puts the call up on the board at the field right away.
Open it
Live ScorerWhat the scorekeeper actually uses at the field. It works on anything with a web browser (phone, tablet, PC or Mac) and keeps going when the signal drops. Every pitch entered here shows up on the website, the TVs and the broadcast graphics right away.
Open it
Ask the LeagueAsk a question about the season in plain English, like "who has the most doubles on turf?", and it writes its own database query to answer it.
Open it
LVC BetsA play-money sportsbook for the club with spreads, survivor pools and a biggest-fish board across five sports. The lines and leaderboards are real, but no money changes hands. It’s just for bragging rights, and that turns out to be enough.
Open it
The Wetness IndexA needle gauge that answers the only question that matters before a game: how wet is this field going to be? It shows the real chance of rain at first pitch on a dial calibrated between two very different moms.
Open it
Unique Replay for iPhone & WatchFollow a live game pitch by pitch on your wrist, with the score, who’s batting and who’s on base. Your own stats and full-game replays are in there too.
Open it
KandiCon for iPhonePoint it at any photo and it works out the bead-by-bead pattern to make it, then shares it with the community.
Open it
KandiCon on the WebThe whole app rebuilt to run in a browser, including the pattern studio, feed, profiles and printing.
Open it
Unique ReplayFull-game streams with the overlays burned in, plus multi-angle replays for our league.
Open it
Product Card LabGrid cards, mobile cards, and buy-box variants tested side by side on a live SKU.
Try it
Starlink TrackerLive satellite positions rendered in real time over a 3D globe.
Try it
Framing ToolPreview a print in a custom frame, priced live as you change it. It now runs Unique Photo’s framed prints page.
Open it
Knobs & dials
A live Chakra v3 playground
Live
The same component library the storefront runs on, with nothing to buy. Drag it, flip it, rate it — the dial follows the slider and the mood repaints the card.
Mood
One state value, three repaints — no CSS overrides.
Intensity
64
The dial is reading the slider, not a second piece of state.
Toggles
Rate the page
Generous. I will take it.
Take it with you
Generated in the browser — no image, no round trip.
World Cup 2026. Thanks to the legend, CEO Mr. Kobayashi
World Cup 2026. Thanks to the legend, CEO Mr. Kobayashi
Behind the bar at Hudson Coffee in Hoboken
Behind the bar at Hudson Coffee in Hoboken
Opening day at Hudson Coffee, Hoboken
Opening day at Hudson Coffee, Hoboken
Family night out
Family night out
Our wedding day
Our wedding day
Beach ride with the girls
Beach ride with the girls
Pool day
Pool day
Halloween with Laila
Halloween with Laila
With Sadie
With Sadie
Good family, good food
Good family, good food
Casino night with the guys
Casino night with the guys
Bayou tour
Bayou tour
On the road
On the road

Our Stores

Fairfield, NJ · Flagship

123 US Highway 46 West, Fairfield, NJ 07004

(973) 377-2007

Mon–Wed 10–5 • Thu–Fri 10–6 • Sat 10–5 • Sun 10–4

Philadelphia, PA · Since 2019

28 South 2nd Street, Philadelphia, PA 19106

(215) 608-2222

Open Daily

Old City, Philadelphia · opened November 2019

We Opened Philadelphia

Our second store opened on 2nd Street in Old City in November 2019. It's twelve thousand square feet over four floors, with retail, classrooms, a professional photo lab, a rental counter, repair, and a studio on the top floor.

I set up the networking for it, including the closets and switches, the firewall and VPN, and the point-of-sale.

Building out the Philadelphia storeBuilding out the Philadelphia storeBuilding out the Philadelphia storeBuilding out the Philadelphia store
Under construction

A Rooftop Deck Above Old City

We're building out the roof right now and the framing is going in. You get the Philadelphia skyline on one side and Old City rooftops on the other. The store will use it for shoots and events, like golden hour and portrait sessions, and some classes will head up there instead of staying in the classrooms. It should be ready soon.

Unique Photo · since 2004

Twenty Years at Unique Photo

I started here in 2004, part-time, while I was still in school. I went through college, finished my MBA in 2010, and came on full-time that year. I built everything below for this company, and I still write most of it myself.

Unique Photo is one of America's largest independent camera retailers and has served photographers since 1947. We have two flagship locations, each with its own photo lab, classrooms, rental counter, trade-in desk and used department, plus 75,000 sq ft of distribution that's on its way past 100,000. There are 100+ people here, and I build the software all of it runs on.

100+People hereTwo flagship stores, the labs, distribution and the office.
1947In business sinceThree generations of independent camera retail.
1990My first package packedFull time since 2004, through college and after.
259Domains I runBrands, storefronts, league sites, family pages.
2004Started here part-time while I was in school, and bought my first Google Ads the same year.
2010Finished my MBA and came on full-time.
2018Moved us onto Azure and started building CloudFacts.
2019We opened Philadelphia.
2022Rebuilt the website and the API inside it, in-house.
2026Replaced the commercial runtime our ERP had always required.

What I Built Here

Our own ERP and the storefront that sits on top of it. Orders, inventory, purchasing, shipping, payments, the warehouse, the lab and the registers all run on software we own.

The website, and the API inside itI rebuilt uniquephoto.com in Next.js with the GraphQL API living in the same app. It handles the catalog, search, cart, checkout, accounts, content and the community side. The site and both phone apps all use it, so we got rid of a separate backend and the cluster it ran on.
Unique UniversityOur education business. It covers the class catalog and calendar, instructors, seats and rosters, in-store sessions in Fairfield and Philadelphia, and an on-demand course library. Classes are regular SKUs that go through the same cart, registers and ERP as a camera body, and students are enrolled as soon as the order posts. Over 100,000 students so far.
Online photo printing and the labCustomers design prints, photo books, cards and gifts in a browser editor, and the order comes into our own lab. The files go right to the Fuji Frontier printers in Fairfield or Philadelphia, and gift items get sent to whoever makes them. I built everything between the editor and the printer.
Creators Challenge and the communityOur photo and video contest, plus the community around it. Creators get profiles, badges, verification, galleries and gear lists linked to real products, and people can follow, comment and message each other. There’s also a board where brands can hire creators. Entries, public voting, blind judging and payouts all happen there too.
Camera rentalsThe software behind our whole rental business. It tracks availability by date range down to the individual serial number and handles blackout dates, deposits, ID verification, pickup cutoffs, transfers between stores and same-day local delivery.
Shipping with UPS, FedEx and USPSOur carrier integrations are written directly against the UPS, FedEx and USPS APIs. Every order gets live rate shopping, domestic and international. The same code prints labels and freight BOLs, sets freight class, checks residential addresses, applies battery and hazmat rules, validates addresses, handles insurance, returns, voids and refunds, and puts tracking back on the order. Order entry, the website, the apps and the warehouse all use it.
Amazon, eBay, Walmart and GoogleOur Amazon SP-API, eBay, Walmart and Google Merchant connections are all built in-house. They list and relist, keep inventory synced so we don’t oversell, and reprice without going below our floor or MAP. Orders come in and shipping confirmations go back to each channel, and it all ties back to one inventory and one set of books.
The back office everyone works inThe admin system the whole company uses every day for orders, inventory, purchasing, customers, pricing, content and reporting. It has hundreds of screens.
The wholesale sideUnique Tots, our Nûby baby and toddler distribution business, runs on its own portal where dealers see their own pricing and order from the same inventory the retail site uses. Unique Direct does the same for our health and beauty division.
Payments, and proving they balancedCard, wallet, gift card, financing and in-store terminal payments through nine providers, across the website, the apps and the registers. The hard part is reconciliation, making every authorization, capture, refund and settlement line up at the end of the day. We write our payment files directly to the banking standard, so payables and funding move on our schedule.
The warehouse and the logisticsReceiving, put-away, pick-and-pack, cycle counts, box and dimension selection, freight consolidation, transfers between stores and same-day local delivery. It also does the purchasing and inventory math, meaning what to buy, how much and when.
Azure, Kubernetes and the edgeI still run our Azure setup. The site and the API run on Kubernetes with SQL Server, Elasticsearch, Redis and MongoDB behind them. Cloudflare handles DNS, the WAF, workers and caching, and the CI pipeline ships it all.

What I'm Building

Companies and projects I'm working on right now in retail, logistics, software, sports and charity.

Live
Unique PhotoOne of America's largest independent camera retailers. We've sold cameras and lenses since 1947, and we run a photo lab, rentals and classes too.
Building
Unique ReplaySports broadcasting with AI built in. The cameras at the field measure the arc on every pitch, flag the illegal ones and call strike or ball. It also does live scoring and multi-angle replay.
Live
UBB (Unique Business Basic)A low-cost way to keep running your Business Basic applications. Plenty of companies still run on programs written decades ago; they work fine, but the runtime underneath them is rented forever, per seat. UBB is a replacement runtime with hosting included. Your programs run unchanged in the cloud for a fraction of the cost, and nothing has to be rewritten.
Live
KandiConKandi is the beaded jewelry kids make and trade at concerts. This turns any photo into a bead-by-bead pattern you can actually make, and it has a safe community where young makers can share them. It's on iPhone, Android and the web. My daughter Laila started it.
Live
Lake Valhalla ClubOne platform that runs my club’s whole sports program: softball schedules, standings, live scores, stats and video of every game; tennis, paddle and pickleball brackets where players report their own results; and a play-money predictions pool for bragging rights.
Live
Sweetwood FoundationOur family foundation. We put cameras in the hands of students and give back to the community.
Live
AlexSweet RentalsA car-rental company built around a simpler, more personal booking experience.
Building
Hudson CoffeeA coffee company in Hoboken, NJ. It’s the newest thing on this page and the only one you can drink. We have a La Marzocco on the bar and our own cups and beans.
Live
Division Street BrosA 48,000 sq ft third-party logistics warehouse in Boonton, NJ for storage, pick-and-pack and fulfillment. Construction on the building started in September 2026.
Live
Unique TotsA wholesale portal for our brands. Dealers log in, see their own pricing and order from the same inventory and fulfillment system the retail site uses.
Live
Unique DirectOur storefront for schools, studios and companies that buy in volume. The catalog, contract pricing, quotes and fulfillment all run on the same system as the rest of the business.
Also running: a few of the 259 domains
Consolidated Purchasing CorpInternational buying & distribution, since 1947Premier Store DisplaysRetail display productsPhoto InsiderPhotography editorial & how-toRent UniqueCamera & lens rentalsUnique UniversityClasses and workshopsUnique TotsWholesale brand portalNuby DirectBrand storefrontArgraphDistribution brandSamigonDarkroom & lab equipmentHensel USAStudio lighting brandGood Vibes NJYoga studioLake Valhalla ClubThe club itselfMontville.orgMy hometown pageBarnegat Light LifeThe north end of LBIThe Business BasicPlain-English reference on the languageBusiness Basic in the CloudA straight comparison of your four optionsbusinessbasicsucks.com“It doesn’t suck. Paying rent on it does.”bbsucks.comAdd up what the runtime has cost you
Hoboken, NJ

Hudson Coffee

This is opening day. We cut the ribbon with the city, Hoboken PD and the fire department there, and poured a lot of coffee. It's the newest thing on this page and the only one you can drink. We have a La Marzocco on the bar, our own beans and cups, and a room people actually want to sit in. Most of what I do ships in a box or runs on a server, so it's nice to have one you can walk into.

Sports Video Tracked by AI

On the side I run Unique Replay, which does live streams and full-game replays for a local softball league, and I've been teaching it to follow the game on its own. Computer vision reads every pitch straight off the same broadcast cameras that carry the game. There are no sensors or radar guns, and the umpire doesn't need any extra gear. It all comes from the video. I built the whole thing, including the cameras and the box at the field, the vision and calibration, the live scoring, the on-screen graphics, and the setup that gets the broadcast online by itself.

Computer vision · measured on real games

Every pitch measured from the broadcast camera

The AI watches each slow-pitch, measures how high the ball arcs in real feet, flags an illegal arc, and calls strike or ball, without any sensors on the field. We calibrated the two cameras with a tape measure, which turns pixels into real feet and also gives us exit velocity on batted balls.

v0.3Real game · zero bats
Last night's game from the 8K camera behind the plate. Every arc is a real pitch, and one got flagged illegal for going over 12 ft.
v0.4Live · same day
17 pitches picked up off the field camera, minutes after they were thrown.
v0.2Balls to the plate only
Ignores the bat, warm-up throws and flat liners, so only real pitches to the plate are left.
2
synced broadcast cameras
6–12 ft
legal-arc window
0
on-field sensors
Every
pitch measured & called
1
Find the ball
The optic-yellow ball is isolated by color and motion against the field.
2
Pitcher → plate
A real pitch is released up-field and drops toward the plate, which is how the bat gets ruled out.
3
Measure height
Two-camera geometry turns the apex into true feet above the ground.
4
Make the call
Legal-arc check + plate landing → strike, ball, or illegal.
LEGALILLEGAL ARCSTRIKEBALLEXIT VELO
The field runs itself

Nobody has to press go

There's a small computer at the ballfield that runs game day by itself. It turns on the TVs and the cameras, goes live on YouTube on time, records in 8K, and runs the scoreboards and the PA. After the last out it uploads a clean copy and shuts everything down. If the internet drops it switches to cellular, and if a service crashes it restarts it. I've never had to be there for it to work.

Scoreboards on the TVs
Live score, lineups and a full box score on the screens at the field. The same thing is online and sized for an Apple Watch.
Graphics burned into the camera
The score bug is drawn on the fly and composited inside the camera itself, so it is already there in the stream.
Scoring from any browser
The scorekeeper works on a phone, tablet, PC or Mac. Every pitch lands on the site, the TVs and the broadcast at once.
Clip any play to your phone
Tap the play in the box score and it cuts that moment out of the full game video in HD and saves it to your camera roll.

The tracking still needs work. I'm teaching a 180° panoramic camera to chart where every batted ball lands, and the arc measurement gets better every week I feed it another game. It's still R&D, but it runs on real games in front of real people.

Open the AI Pitch Tracker →Watch Unique Replay →
Full-stack and hands-on

The Engineering Side

I'm a hands-on architect, and if I had to describe how I work in one word, it's tenacious. I've designed and built pretty much every part of what runs Unique Photo: the storefront, the GraphQL layer, search and data pipelines, payment and shipping integrations, the iOS and Android apps, and the cloud it runs on. I also wrote a programming language runtime from scratch to replace one we were renting, and I taught a camera at a ballfield to call balls and strikes. I wrote most of it myself, and I don't let go of a problem until it's actually fixed.

Languages
TypeScriptJavaScriptPHPJavaKotlinSwiftPythonSQL / T-SQLGraphQLBusiness Basic / BBx / BBjBashHTML · CSS · SCSS
Frontend
Next.js 16React 19Chakra UIGraphQL · ApolloFramer MotionThree.js / WebGLProgressive Web AppsOffline-first · Service WorkersSSR · ISR · Web Vitals
Backend & APIs
Node.jsLaravelApollo ServerREST & GraphQLCloudflare WorkersWebSocketsJWT · OAuth · TOTPWeb Push · APNs · FCMStored procedures
Systems & Language Design
Clean-room interpreterLexer · parser · ASTIndexed-file (ISAM) engineRecord lockingExact decimal arithmeticSQL engine over flat filesANSI / VT terminal emulationBinary format reverse-engineering
Data, Search & Cache
SQL ServerElasticsearchRedisMongoDBMySQLSQLite / D1Realm · Room · CloudKitKnex · Eloquent
Cloud & Infrastructure
AzureKubernetes (AKS)DockerHelmCloudflare Workers · D1 · R2 · KVDurable Objects · ContainersCloudflare Tunnel · WAFNginxCI/CD PipelinesLinux · systemd · Windows Server
Mobile & Wearables
SwiftUI · UIKitJetpack ComposewatchOS · Wear OSLive Activities · Dynamic IslandHome-screen widgetsCameraX · AVFoundationStoreKit · Apple Pay · Google PayApp Store & Play release automation
AI & Computer Vision
Azure OpenAI · OpenAIRAG assistantsNatural language to SQLOpenCV · NumPyMulti-camera calibrationGround-plane homographyObject tracking in flightONNX RuntimeVision · ML Kit OCR
Video & Broadcast
ffmpegRTSP · RTMP · HLSYouTube Data APILive overlay compositingAxis camera APIsMulti-camera syncAutomated go-live & recording
Marketing & Growth
Google Ads (since 2004)Google Analytics 4Google Tag ManagerMeta AdsGoogle Merchant CenterProduct feedsSEO · structured dataConversion tracking · attributionEmail · SendGridSMS · TwilioPush · APNs · FCMA/B testing
Commerce & Integrations
StripePayPal · VenmoCardConnectAuthorize.NetApple · Google PayApple Wallet passesUPS · FedExeBay · Amazon SP-APIGoogle MerchantTwilio · SendGridTaxJar · SignNowReceipt & label printing

Systems I've Built

These don't have a public link you can click. They're the systems behind the storefront, the warehouse, the registers and the ERP. I designed and wrote them myself, and the company runs on them every day.

One API for the site and both appsThe storefront, the iPhone app and the Android app all talk to one GraphQL API that lives inside the website. Doing it that way let me shut down a separate Java backend and the cluster it ran on.
A Business Basic runtime I wrote from scratchA clean-room interpreter and indexed-file engine that runs a 500,000-line ERP, which used to need a commercial runtime from a vendor. It has its own lexer, parser, evaluator, file format, terminal layer and SQL engine, and our company runs on it in production.
Trade-in valuation from a photoA customer photographs used gear; vision identifies the make and model, and a pricing model returns an instant cash-or-credit offer.
Catalog search that learnsElasticsearch-backed search and browse for the whole catalog, with a nightly index pipeline, zero-downtime alias swaps, and ranking that learns from what people actually click.
Our green-screen ERP in a browserA web terminal that lets you use a decades-old ERP from any device with a browser. There’s nothing to install and you don’t need a VPN.
259 domains on one systemI run 259 domains for brands, storefronts, community and league sites, and family pages. One renderer at the edge builds each site from a row in a database, so adding a site just means adding a row. There’s no new hosting or deploy for each one.
The admin behind the whole companyThe back office everyone at Unique Photo uses every day. It has 254 screens for orders, inventory, purchasing, customers, content, pricing and reporting, and I wrote 247 of them, mostly between 2020 and 2023.
The rental systemOur rental business has run on this since 2020, and it’s about 200 back-office screens. It tracks availability by date range down to the individual serial number and handles blackout dates, deposits, ID verification, pickup cutoffs, transfers between stores and same-day local delivery.
Taking payments and making sure they balanceCard, wallet, gift card, financing and in-store terminal payments through nine providers since 2019, across the website, the apps and the registers. Charging the card is the easy part. Reconciliation is harder, because every authorization, capture, refund and settlement has to line up at the end of the day.
I run our ads myselfI bought my first Google Ads in 2004 and have been doing paid search for twenty years now. I still run our Google Ads and Meta Ads myself, including Shopping and Performance Max off our own product feeds, plus search and retargeting. GA4 and Tag Manager are hooked up to real order data, so I can see what actually sold instead of what an agency tells me sold. The same setup sends our order, shipping and back-in-stock emails and texts through SendGrid and Twilio, from our own systems.
Talking to the bank directlyWe write our payment files ourselves to the banking standard, without a library, so payables and funding move on our own schedule and not through somebody else’s portal.

Hardware too

I troubleshoot everything the same way I troubleshoot code. I know how the whole thing works, starting with the electron path on a board down to the micron and going up through the firmware, the network, the database and the cloud on top of it. Hard problems mostly get solved by being tenacious, along with the intuition you pick up over hundreds of thousands of hours doing the work. I don't stop at the symptom or swap parts and hope. I trace the problem back to what's really causing it and stay on it until it's fixed. A race condition in checkout, a failing drive in a rack, packets dropping on a bad route or a board that's quietly gone dark all get the same approach. I take things apart, figure out how each layer talks to the next, and fix things most people would just replace. I also handle the operations side: logistics, inventory, and the math behind moving product every day. I still write a plain little for-loop now and then just for fun. 😄

Tenacious to the root causeIntuition from 100,000s of hoursSystems thinkingRoot-cause diagnosticsHardware diagnosticsMicron-level detailStructured cablingNetworking, hands-onSelf-hosting & embeddedLogistics & inventoryApplied mathematics

Chat with our AI assistant

Ask about gear, orders, store hours or anything else about photography. It answers right away and can pass you to a real person.