Inspiration

We've all been there. You buy something: headphones, a kitchen gadget, that jacket that looked better in the store. Life gets busy. The item sits unused, still in the box, tags on.

Then one day you remember: I should return this.

You dig through drawers, search your email, finally find the receipt. And that's when you see it: the return window closed three weeks ago. Or the warranty you paid extra for? Expired last month.

That frustration you feel? It's not just about the money you lost. It's about the fact that you would have returned it. You were going to use that warranty. You just... forgot.

Returns aren't complicated because stores make them hard. They're complicated because life is chaotic and our brains aren't built to remember that we have until March 23rd to return a $89 purchase from January. We're leaving real money on the table, $200 here, $50 there, not because we don't want it back, but because we lose track of time.

That's why we created Parsley. Snap your receipt. Never lose money on returns again.

What it does

Snap a photo of any receipt and we handle the rest.

Our AI reads your receipt and pulls out everything that matters: what you bought, how much you paid, when your return window closes, and how long your warranty lasts. All the fine print you'd never read yourself.

Then we watch the clock for you. A few days before your return deadline hits, you get a text. Simple reminder. No app to check. No calendar events to set. Just a nudge when it actually matters.

Think of it as a safety net for your wallet. That impulse buy you're unsure about? You'll get reminded while you can still do something about it. The expensive item with a 2-year warranty? We'll ping you before it expires so you can actually use the protection you paid for.

One photo. Automatic tracking. Money back in your pocket instead of sitting in a drawer gathering dust.

How we built it

We built the frontend with React.js and Tailwind CSS to keep the interface clean and mobile-first. Just snap a photo, and you're done. Google Cloud handles authentication so you can log in securely, while Express powers our API, and Supabase manages our database for storing receipts and deadlines. The real magic happens with Claude AI, which analyzes receipt images and extracts product names, prices, return deadlines, and warranty terms in seconds. React ties it all together in an interface that actually makes sense. Simple stack, powerful results.

Challenges we ran into

Merge conflicts hit us harder than expected. When you're moving fast and everyone's pushing code, things get messy. We spent more time than we'd like to admit untangling overlapping changes and making sure nothing broke in the process.

Getting the database setup right with Supabase took some trial and error. We had to figure out the right schema for storing receipt data, managing user accounts, and scheduling reminders without creating a tangled mess. It wasn't our first rodeo, but it still required careful planning.

The biggest learning curve was UI design with Tailwind. Most of our team was building the interface on the fly, learning Tailwind's utility classes while trying to ship features.

Accomplishments that we're proud of

We're really proud of how the UI turned out. For a team that was mostly learning Tailwind on the fly, we built something that actually feels polished and intuitive. We wanted a more playful presentation with natural green and tan color tones.

The backend is solid, too. We got Claude AI integrated smoothly so receipt analysis happens in seconds, not minutes. Our database structure handles everything from receipt storage to deadline tracking without breaking a sweat. And the reminder system actually works, which sounds basic, but getting those texts to fire at exactly the right time took some real effort.

What we learned

We learned how to pick up new tools in real time. Most of us had never touched Tailwind before this weekend, but we didn't let that slow us down. You read the docs, you try something, it breaks, you fix it, and suddenly you're building actual features. That skill, learning on the fly without freezing up, is something we'll carry forward.

Communication made or broke us. When you're working fast with merge conflicts piling up and everyone touching different parts of the codebase, you can't just assume things will work out. We had to overcommunicate, constantly sync up, and make sure we weren't stepping on each other's toes. It wasn't always smooth, but we got better at it as the weekend went on.

Breaking down big problems into smaller pieces saved us. "Build a receipt tracking app" is overwhelming. "Set up authentication" or "get Claude to parse one receipt field" is doable. We learned to chunk everything into bite-sized tasks we could actually finish, then stack them together into something real. That's how you ship when the clock is ticking.

What's next for Parsley

The dream is automatic receipt integration. Imagine not having to snap photos at all. We pull receipts directly from your email or link to your credit card, and every purchase just shows up automatically. Buy something on Amazon, Parsley's already tracking the return deadline. Swipe your card at Target, we've got it logged before you even leave the store. That's the vision.

We'd love to build a native mobile app too. This product belongs on your phone. You're out shopping, you make a purchase, you should be able to capture it instantly without fumbling with a mobile browser. Plus, push notifications for return reminders would feel so much better than texts.

Built With

Share this project:

Updates