All projects

Confidential (student housing marketplace) · Property technology

Bidding-based off-campus rental marketplace.

Client project, name changed on request

Category

Marketplace

Year

2024

Capabilities

Full-Stack, Cloud & Automation

Industry

Property technology

Bidnest on a laptop
Bidnest on a phone

The problem

Student housing is dominated by fixed-price listings with no room to negotiate, scattered across unreliable platforms. Parents fund most of these rentals but have no way into the process at all.

Our approach

We designed a live bidding system over WebSockets with sub-200 ms updates, backed by data models tuned for listings, bids and notifications, and separate dashboards scoped to each role.

Inside the product

More than one screen.

The product name and data have been changed at the client's request; these screens recreate Bidnest as it was built.

Bidnest: Listing and live bid on a laptop

Listing and live bid

Bid history updates in under 200 ms, with a parent co-signer on the bid.

Bidnest: Student dashboard on a laptop

Student dashboard

Active bids, lease progress and services booked from partners.

Bidnest: Messaging on a laptop

Messaging

Students, landlords and providers in one thread, with bookings on the record.

On the phone

Bidnest: Home on a phone

Home

Bidnest: Listing and live bid on a phone

Listing and live bid

Bidnest: Student dashboard on a phone

Student dashboard

Bidnest: Messaging on a phone

Messaging

How it is built

Architecture

Next.js over Supabase and PostgreSQL. Bids flow through a WebSocket channel and are validated server-side before commit, so a client can never post a winning bid it did not earn. Role access is enforced by row-level security.

Key features

Bidding marketplace for verified off-campus rentals
Parent access to bid and message on a student’s behalf
Service booking for moving, cleaning and repairs
Built-in messaging between students, landlords and providers
In-app, email and SMS notifications
Listings filtered by proximity to partner schools

Challenges & solutions

Where it got hard.

Challenge

Simultaneous bids on the same listing raced each other and could both be accepted.

Solution

Moved bid acceptance into a serialised server-side transaction so ordering is decided authoritatively, with clients reconciling to the committed result.

Challenge

Broadcasting every bid to every connected client saturated the socket layer at peak.

Solution

Scoped subscriptions per listing so clients only receive updates for what they are watching.

Results

What shipping it changed.

1,000+concurrent users with conflict-free bid synchronisation.
200 msbid updates, keeping every bidder in sync.
3role-scoped dashboards for students, parents and landlords.

Stack

  • Frontend

    • Next.js
    • TypeScript
  • Styling

    • TailwindCSS
    • ShadCN
  • Backend

    • Supabase
    • PostgreSQL
  • Real-time

    • WebSockets
  • Payments

    • Stripe
  • Notifications

    • Resend
    • Twilio
  • Analytics

    • PostHog

Let's talk

We can usually tell within one call whether the approach above transfers to your problem, and what would need to change.