Inspiration

My inspiration behind the app was shining a light on the value everyone has around them. The economy is rough, so I wanted to build something that serves multiple purposes: discovery, value, education, and market access. The resale market grows every year — as long as you have access to property, you have money. To take it further, I wanted to build a story, a world around the app. Everyone has personal holdings, a museum. Phound is about opening people's eyes to the fact that there's value all around them.

What it does

Phound turns your camera into an appraiser. Point it at almost anything: a collectible, an electronic, a piece of furniture, something random you found in the garage, and it tells you what the object is (category, brand, model, variant) plus a real resale price pulled from live marketplace listings. Every scan gets filed into your Personal Holdings, a running museum of what you own. Each item gets its own entry with a catalog number and a record of what it's worth. When you're ready to sell, Phound points you to the right marketplace and drafts the listing copy for you.

How we built it

The mobile app is React Native and Expo, built inside Replit, with EAS producing the builds and fastlane pushing them to TestFlight. The identification side is where most of the real engineering work went: a vision pipeline that cross-checks multiple signals before it commits to an answer, tuned to stay confident without asking the user for anything extra. Purchases run through RevenueCat, a one-time Unlock plus a Registrar subscription. For the App Store submission itself, most of the work went through the App Store Connect REST API directly, using a JWT key instead of the web dashboard. That was less a preference than a necessity: the order you have to attach a build to a version, or fields Apple requires but never surfaces in the UI, like content rights declaration and the price schedule, only show up once you try to submit and it fails.

Challenges we ran into

The worst bug only showed up on a real device: the paywall would fail with "Purchase options could not be loaded." It had two separate causes layered on top of each other. One was a race condition in how the app called RevenueCat's login function, which we fixed in code. The other had nothing to do with code at all: Apple's Paid Applications Agreement wasn't active yet on the developer account, which quietly blocks every paid purchase, sandbox and production alike, with nothing pointing at it as the cause. We had to rule out the code fix first before finding the account setting underneath it. Submitting through the API had its own surprises. Apple's newer review-submission endpoint replaced the old one with barely any documentation, and the only way we found out pricing and content rights were required was by trying to submit and reading the rejection.

Accomplishments that we're proud of

Executing the idea is the win. I built Phound solo and got it live on the App Store, with real identification, live market pricing, and in-app purchases. It took six rounds of Apple review to get there and I fixed every issue they raised. And many road blocks along the way.

What we learned

Apple's App Store Connect API documents less than the dashboard actually requires. We also learned to tell the difference between a code bug and an account-level setting quietly blocking the whole app. From inside the app, they look identical, but they need completely different fixes.

What's next for Phound

Big things. I wanted to get the MVP out fast but i have a lot of ideas for future iterations of the app. The goal is to remove as much friction as possible.

Built With

Share this project:

Updates

Submission history