EPR.pro
← Back to Data & privacy

How it works

Reporting a full bin should take less than a minute, on any phone or computer, without installing anything. This page explains the technology behind that, and in detail how we estimate from a photo how full a bin is.

The building blocks

  • A web app that works in any modern browser, on phones and computers. Each bin has a QR code that opens the page for that bin directly.
  • A database and private file storage (Supabase) for requests and photos.
  • AI that runs on your own device when possible (Chrome's built-in model, or an open model running in your browser), and a cloud model (Claude, by Anthropic) when needed.
  • QR-code reading using your browser's built-in barcode detector, with an open-source fallback.
  • No trackers, no ads, no cookies.

How we estimate how full a bin is

When you add a photo, we try to estimate the fill level automatically, so you only need to check it. The estimate is a suggestion: you always confirm or adjust it with the slider, and we store both your value and ours.

We try several techniques, one after the other. We start with those that run on your own device: they're instant, free, and your photo doesn't leave your phone for them. If they aren't sure enough, we move on to more capable ones, ending with a cloud model.

Which steps run on your device

Pick a device and connection to see which steps run. We've preset the options with what we detected on the device you're using now.

Device
Connection
  1. Your photo

    Taken with the camera and a framing guide, so we know where the bin is.

  2. Quick image check

    On your deviceRuns

    Trusted up to 55% (with framing guide)

  3. Not sure enough?

    Your browser's built-in AI

    On your deviceSkipped

    Not installed in this browser.

  4. Not sure enough?

    Open AI model in your browser

    On your deviceRuns

    Trusted up to 55%

  5. Not sure enough?

    Cloud AI

    On our serverSkipped

    Not enabled on this site.

  6. You decide

    The most confident estimate pre-fills the slider. You confirm or adjust it, and we store both.

1. Quick image check

On your device

A small piece of code looks at the pixels of the photo. Collected material like corks forms a busy texture in a typical colour. We score each row of the image for that texture and find the highest point the material reaches. Posters and frames in front of the contents are skipped, because we look for the top of the material rather than the first gap.

It's instant and works offline, but it can't tell a bin from a busy floor. It only works reasonably when the photo was taken with the framing guide in our camera view, so we know where the bin is. Even then we trust it only up to 55% confidence; for uploaded photos up to 35%.

2. Your browser's built-in AI

On your device

Recent versions of Google Chrome on computers can include a small AI model (Gemini Nano) that runs entirely on the device. If it's already installed, we show it the part of the photo inside the frame and ask simple questions: are corks piled on top of the bin, do they reach the top edge, and roughly how high do they reach (empty, bottom only, about half, mostly full, full).

Small models are poor at giving exact percentages but better at simple questions, so we derive the percentage from the answers. If the answers contradict each other, we lower our confidence. We never make your browser download this model, which is several gigabytes.

3. Open AI model in your browser

On your device

CLIP is an open image model that scores how well a photo matches short descriptions, such as “a collection bin half full of corks” or “a photo taken inside a library”. We run it in your browser (using your graphics chip when possible) and turn the scores into a fill level and the kind of place you're in.

The model is about 154 MB. Your browser keeps it after the first download, but we skip this step on mobile data, when data saving is on, or on phones whose browser doesn't tell us the connection type (such as Safari on iPhone). It recognises scenes well but judges fill levels poorly, so we don't trust it beyond 55%.

4. Cloud AI

On our server, with Claude by Anthropic

If the steps on your device didn't give a reliable answer, our server sends the photo to Claude, a large AI model that can reason about images. It is told what the bin is for, to ignore posters and frames, and that material heaped on top means the bin is overflowing. It returns a fill level and its confidence, problems it can see (damage, wrong materials, …), the kind of place, and which nearby collection point it most likely is.

This is the most accurate step, and the only one that can decide on its own. It only receives the photo and the list of nearby collection points.

When do we stop?

Every step reports how sure it is. The steps on your device are deliberately capped below the level we accept, so none of them decides alone. We stop early only when two of them agree within 10 percentage points and are each at least 45% sure, or when the cloud AI is at least 70% sure. Otherwise we take the most confident estimate and ask you to check it.

Getting a good estimate

  • Step closer until the bin fills the frame from top to bottom.
  • Take the photo straight on, at about the height of the middle of the bin.
  • Make sure the top of the bin is visible: that's where full and overflowing are decided.

How we work out which bin it is

We combine several clues, strongest first, and always let you change the choice:

  • The QR code you scanned, which links to one specific bin.
  • A QR code visible in your photo.
  • The collection point the cloud AI recognised from the surroundings.
  • Your location, if you allowed it, or the location stored in an uploaded photo.
  • The kind of place in the photo (library, supermarket, …) compared with the type of each collection point.