< cd ~/raba.pl

Public products & communities

Kaucjonator

Make a small everyday task easier to finish, from finding a return point to keeping the voucher within reach.

  • live
  • 2026 - present
  • Product, web and native apps

The problem

The task crosses physical and digital steps. A useful product needs to preserve the voucher, make its recorded expiry visible and help someone find a suitable location, without confusing a collection point with a confirmed working machine.

My part

Product and implementation work. The public cover shows the site's illustrative voucher; no personal voucher data was used. Directory and implementation counts are not adoption metrics.

What this shows

I can connect a practical consumer need to a web product, location data and native device workflows while keeping the limits of each integration visible.

Where it started

Kaucjonator is a consumer utility for Poland's bottle-deposit system. The live web app combines a voucher wallet with a map; native phone and watch code extends that workflow beyond the browser.

Interface preview

Kaucjonator interface preview
Public return-point directory and voucher app interface.

The decisions behind the product

Build around the voucher

I made a wallet for scanned and manually entered vouchers, with an active total, expiry visibility and used-state tracking. The core storage path keeps the wallet on the device.

Make the location data useful

I connected a map to a directory that distinguishes machine records from other return points. The reviewed API contains 17,882 records: 4,579 machine entries and 13,303 collection-point entries.

Carry the workflow onto native devices

I implemented phone voucher stores for iOS and Android, with Apple Watch and Wear OS synchronization paths. Wallet-pass export has its own signing requirements, so it is treated separately from the ordinary in-app wallet.

What came out of the work

A live consumer workflow

The published web app brings the wallet and directory together. The map's record count describes coverage, not successful returns, money recovered or independently verified opening status.

Clear boundaries around availability

Community reporting is implemented but disabled in the reviewed live API. Native source is present; app-store distribution, real-device watch sync and retailer redemption have not been verified in this review.

  • 17,882return-point records in the live directoryPublic API · 9 Oct 2026
  • 2native phone implementations with watch synciOS and Android source · 9 Oct 2026

Inside the implementation

Explore the features, architecture and quality checks

What I built

  • A web voucher wallet with barcode capture, manual entry, an active total and an expiring-soon view
  • Local voucher storage, with editing, used-state tracking and export/import support
  • A return-point map that distinguishes machine records from other collection points
  • Native iOS and Android voucher stores with companion-watch synchronization code
  • Wallet pass generation that requires configured signing credentials; this is separate from keeping a voucher inside the app
  • A machine-reporting flow with time-limited status types; reporting is disabled in the reviewed live API snapshot

How it works

  1. CaptureScan a voucher barcode or enter its details manually.
  2. Keep trackFind saved vouchers and see which recorded expiry dates are approaching.
  3. Plan the returnBrowse machine and collection-point records on the map.
  4. Use the voucherOpen the saved barcode when needed, then mark the voucher used. Redemption depends on the retailer's acceptance.

Quality and reliability

  • The directory distinguishes automated machines from other return points
  • Voucher schemas validate barcode formats and amounts before storage
  • Apple Wallet export reports unavailable configuration when signing credentials are absent
  • The map's live reporting state is treated separately from its location coverage

Technology

  • Next.js
  • React
  • TypeScript
  • Leaflet
  • ZXing
  • Zod
  • SwiftUI
  • Kotlin
  • WatchConnectivity
  • Wear OS
  • Vercel

Explore another problem I worked on

>_ Your next project

Liked what you saw?
Let’s get in touch!

Have an idea, a challenge, or a role in mind? I’d love to hear about it.

Let’s talk

>_ Start a conversation

Liked what you saw?
Let’s get in touch!

Tell me what you’re working on. Let’s see how I can help.

Email mepatryk@raba.pl
Send a message