01Case Study

GEMORA.

A full-stack auction platform built around real-time bidding, live auction updates, and a structured marketplace experience.

ReactTypeScriptNode.jsExpressPostgreSQLPrismaSocket.IOSupabase
02The Problem

An auction cannot feel live if users have to refresh.

Traditional web interfaces are built around request-and-response interactions. That works for most content, but an auction creates a different problem: multiple users can interact with the same auction at the same time.

When one user places a bid, everyone watching that auction needs to see the new price immediately. The platform therefore needed real-time communication between the server and connected clients, rather than relying on page refreshes or repeated requests.

03The Idea

Build the auction around real-time interaction.

01

Discover

Users can browse active auctions, search listings, filter results, and open individual auction pages.

02

Bid

Authenticated users can place bids through a focused bidding interface while the server validates the action.

03

Update

A successful bid is broadcast through Socket.IO so connected users receive the updated auction state instantly.

04Live Bidding

Every bid becomes a live event.

Socket.IO connects the auction interface with the server in real time. When a bid is successfully processed, the new auction state can be emitted to the users currently connected to that auction.

Real-time

Socket.IO

Instead of waiting for another request, connected clients can receive auction updates as soon as the relevant server event occurs.

Live state

No manual refresh

The interface is designed around the assumption that auction data can change while the user is looking at the page.

05Full-Stack Architecture

A frontend connected to a real backend.

GEMORA was structured as a full-stack application with React and TypeScript on the client and an Express/Node.js backend handling API requests, authentication, auction operations, and real-time events.

PostgreSQL and Prisma provide the data layer, while Supabase Storage handles uploaded auction imagery. The application was deployed with the frontend and backend working as a connected system.

06Auction Experience

Everything needed to participate.

01

Live auctions

Active listings with countdowns and continuously updated bidding information.

02

Search & filters

Users can quickly narrow the auction catalog and discover relevant listings.

03

Protected bidding

Authenticated users can access bidding functionality while protected routes handle restricted actions.

04

Roles

Different user capabilities are handled through authentication and role-based access.

07What I Solved

From static auction listings to a live marketplace.

01

Real-time communication

Implemented Socket.IO events so auction changes can be distributed to connected clients without requiring page refreshes.

02

Auction state

Connected bidding actions, countdowns, current prices, and auction status into one consistent application flow.

03

Full-stack flow

Connected the UI, API, authentication, database, file storage, and real-time layer into a single working product.

08Final Result

An auction platform built for real-time interaction.

GEMORA brings live bidding, authentication, auction management, search, filtering, and persistent data together into one full-stack application.

Previous project

Lumé Beauty Studio

Next project

Weston Renn
Let's work together

Have a project
in mind?

Have an idea, a project, or just want to talk? I'm always open to new opportunities and interesting ideas.

[email protected]