
Trash to Cash: How We Built ScrapHop on AWS
Discover how ScrapHop uses Amazon Rekognition and AWS serverless architecture to instantly classify recyclable waste, calculate fair market prices, and connect households with verified local collectors.
You can get a pizza at your door before the movie loads. But if you want to sell a pile of Amazon boxes, you're still waiting for a guy with a cycle bell to happen to walk past your street.
ScrapHop started in our own room. One corner slowly turned into a mini-warehouse: cardboard boxes, takeout containers, empty bottles. We wanted it gone. But nobody had time to hunt down a local collector, and nobody wanted to stand there arguing about whether the stack was 4 kg or 8.
At some point it felt ridiculous. You can book a cab with two taps, so why does selling a few boxes feel like a chore from 1995?
So we asked ourselves something simple: what if you just took a photo, got an honest price instantly, and someone showed up to collect it?
That's ScrapHop. The rest of this post is how we built it on AWS, how Amazon Rekognition handled the messy reality of real scrap photos (and where it didn't), and what we got wrong along the way.
The Problem: Why Selling Scrap is Still Stuck in the 90s
Every home has that one corner. The balcony, the space under the bed. Old newspapers, flattened delivery boxes, a few plastic jars. Most people would happily sell it, but nobody wants to chase a kabadiwala or argue about a dodgy weighing scale. So a lot of it just goes in the bin.
When we looked at how the whole thing works, two problems stood out:
- Zero Price Transparency You don't know the price until the deal is already happening. Is that cardboard worth ₹50 or ₹200? What about the crushed bottles? Rates change all the time, so people guess, and then take whatever the buyer offers because they just want the clutter gone.
- Purely Random Logistics The logistics are basically luck. Collectors walk around calling out or ringing a bell, hoping someone has scrap ready. You're in a meeting, you miss them. You're running out the door, you miss them. Meanwhile they spend hours walking empty-handed. There's no schedule, no route, and no way to know whether a house has 2 kg or 40.
The Solution: Turning Scrap Selling into a 3-Step Flow
To fix this broken loop, we didn't want users dealing with complex categorization or guessing scrap rates. We compressed the entire experience into a fast, transparent flow:
- Snap and estimate. Take a photo of your pile and punch in a rough weight, say 5 kg of cardboard. You don't need to know the grade or look up rates.
- Get a price right away. The vision model figures out the category (plastic, cardboard, paper or metal). The pricing engine matches it with current local rates, multiplies by your weight, and gives you a fixed quote, like ₹350.
- Pick a slot. If the quote works for you, choose a time and a verified collector comes to your door

Bridging Vision & Interaction: How We Built the AI and the Frontend
The Vision Layer:
Instead of spending weeks training a heavy AI model from scratch, we chose Amazon Rekognition.
It already knows what most everyday objects look like, and we didn't have to host anything.
Here is how our simple vision pipeline works:
- Instant S3 Scan: When someone takes a photo, it goes straight to S3. That upload triggers a Lambda function, which sends the image to Rekognition's
DetectLabelsAPI. We get labels back in under a second.
- **Filtering the Background Noise:**The catch is that Rekognition is honest to a fault. It tells you about everything in the frame. In a real scrap photo, that means floor tiles, shadows, a bit of wall, someone's slipper. None of that is scrap, and none of it should affect the price.
- Clean Category Output: Once the primary scrap material is confirmed with high confidence, the system passes the category straight to our pricing logic.
By using Amazon Rekognition, we got an accurate scrap detector working instantly—without needing custom machine learning servers or heavy code.
The Frontend:
Nobody wants to fill long forms or navigate complicated menus just to sell old cardboard boxes. We built ScrapHop's interface using Next.js with one simple goal: make the entire process take less than 30 seconds.
Here are the key things we focused on while building the frontend:
- Simple Snap & Input UI: The interface is built mobile-first. A user opens the app, clicks photo, and enters a rough estimate of the weight.
- A Practical Design Choice (Manual Weight): A single 2D photo cannot accurately measure physical weight. Instead of letting the AI guess a random weight and give inaccurate estimates, we let the user provide a simple approximate weight while AI handles the material classification. This keeps quotes transparent and trustworthy.
- Instant Price Feedback: As soon as Amazon Rekognition confirms the material (e.g., Cardboard or Plastic), the UI multiplies it with the live rate and displays a locked-in payout quote immediately.
- Interactive Eco Hub: To make recycling engaging, we built a dedicated guide inside the app. It shows real-world data, like how India generates over 3,900 tonnes of plastic waste every hour and reveals what recycled items actually transform into, from t-shirts to park benches.
Challenges & Lessons: Moving from Theory to the Real World
- Rekognition saw everything- Our first real test photos came from balconies and kitchen floors, and Rekognition did exactly what it's built to do: it described the whole room. Dozens of labels came back for tiles, walls, shadows, a bit of everything. Our pricing logic had no idea which of them mattered. The fix, A small whitelist in Lambda throws away scene tags like flooring, Indoor and wall, and only listens for four things: plastic, cardboard, paper and metal. Everything else is ignored.
- We wanted the AI to guess the weight- This was our first idea, to known AI the weight of waste from the image, but it fall to wrong guess and it can also give the system the wrong weight which lead to people stop trusting an app. So we split the job. The AI says what the material is. You say roughly how much, like ~5 kg. Each number comes from the one that can actually know it, and quotes stay honest.
- Photos were too heavy for slow networks- Phone cameras now produce 5MB+ photos, and pushing those through our API caused lag and the odd timeout on weaker connections. Not great when your user is standing on a balcony with one bar of signal. We switched to S3 presigned URLs. The Next.js frontend uploads the photo straight to S3, so the image never touches our API, and uploads got noticeably faster.
Enjoyed reading this content? Let the author know!
Your likes, comments, shares, and saves help creators reach more builders.
Loading recommendations
Loading article