Stockholm, Sweden ioannis.tambourlas@gmail.com GitHub LinkedIn
← All projects

Project

SSSB Market

A second-hand furniture board for students in Stockholm. Post in a minute, no account, and the buyer messages you on WhatsApp.

Role
Co-developer
Year
2026
Team
With Antreas Patsiantos
Links
Live demo

The problemFurniture in the bin room

Every August thousands of students move into SSSB housing in Stockholm. Every June many of them move out, and a lot of perfectly good furniture ends up in the bin room.

The people who need a desk and the people throwing one out often live in the same building. Existing marketplaces want an account, a profile and a message thread before anything happens. That is too much friction for a 200-kronor lamp that has to be gone by Friday.

The productAs little as possible between seller and buyer

Selling

  • No sign-up: photos, a title, a price and a WhatsApp number
  • A private link to edit the listing, mark it sold or delete it
  • Listings disappear by themselves after 60 days
  • A “give away for free” switch and a separate free board

Buying

  • Search, category chips, price range and sorting
  • Filters live in the URL, so a search can be shared
  • One tap opens WhatsApp with a message already written
  • English and Swedish throughout

Under the hoodSmall app, careful details

Framework
Next.js 16 with the App Router and React 19, in TypeScript, styled with Tailwind CSS 4.
Data
Prisma 7 on Supabase Postgres. Board queries hit one composite index on status, area, category and date.
No accounts
Each listing gets a secret manage token (24 random bytes, base64url) which becomes the seller’s private link.
Photos
Resized to 1280 px JPEG in the browser before upload, stored in Supabase Storage and served through a small redirect route to the CDN.
Validation
zod schemas for every listing; phone numbers checked per country with libphonenumber-js and stored in E.164.
Spam
At most five posts per IP per hour, tracked in its own table, plus a honeypot field that quietly gives bots a fake success.
Moderation
A password-protected admin page with an HS256-signed, http-only session cookie issued with jose.
Translations
English and Swedish dictionaries typed against each other, so a missing string fails the build instead of the page.

Try SSSB Market in your browser, with sample listings

SSSB MarketFilter, switch to Swedish, post an item and manage it