## Inspiration
Professional spaces often sit underused while customers struggle to find suitable venues, trusted service providers, and clear booking information. Owners and providers usually manage everything through disconnected messages, spreadsheets, and payment tools.
We built Spatia to bring that fragmented experience into one trusted marketplace.
What it does
Spatia turns underused professional spaces into bookable venues while bringing services, bookings, communication, and operations together.
Customers can discover spaces and services, submit booking requests, track progress, save favorites, and communicate with participants. Owners and service providers receive dedicated workspaces for managing listings, availability, requests, clients, payments, and operational tasks.
Administrators can review supply, moderate reports, manage categories and locations, and maintain an audit trail.
The interface supports both English and Greek.
How we built it
We built Spatia with Next.js, React, TypeScript, and Tailwind CSS.
The application uses Supabase and PostgreSQL for authentication, storage, relational data, and row-level security. PostGIS supports location-aware marketplace data, while Stripe Connect provides the foundation for marketplace payments and provider payouts.
We designed separate, permission-aware workflows for customers, owners, providers, and administrators. Shared dashboard components keep operational pages consistent, responsive, and accessible across roles.
We also created a seeded local runtime so the complete marketplace can be demonstrated safely without production credentials.
Challenges we faced
The greatest challenge was coordinating a multi-sided marketplace without exposing private information or allowing one role to access another role’s data.
Booking requests also involve several participants and states: customer submission, owner approval, service-provider confirmation, payment status, completion, cancellation, and disputes. We modelled these as explicit transitions instead of relying on arbitrary client- side updates.
Other challenges included:
- Keeping role-specific dashboards useful without making them overwhelming
- Preserving authorization across pages, APIs, and database policies
- Supporting English and Greek throughout the product
- Handling availability and location data consistently
- Making complex operational screens work on mobile devices
- Keeping the demonstration realistic without depending on live payments
What we learned
We learned that a marketplace is not only a discovery experience—it is also an operations product.
Good search and attractive listings help customers begin, but trust comes from clear statuses, reliable communication, privacy controls, and predictable workflows. We also learned that designing shared interface patterns early makes it much easier to support several roles without creating disconnected products.
What we are proud of
We are proud that Spatia connects the complete journey: discovering a space, adding professional services, requesting a booking, coordinating with participants, and managing the operation afterward.
The platform combines a customer marketplace with practical workspaces for owners, providers, and administrators.
What’s next
Next, we want to expand production payment support, improve supplier onboarding, add calendar synchronization, strengthen availability management, and introduce more useful marketplace analytics.
Our long-term goal is to help professional spaces generate more value while making venue booking simpler and more trustworthy.
Lastly the Github project is currently private but i can always open it.
Built With
- internationalization
- next.js
- node.js
- playwright
- postgis
- postgresql
- react
- responsive-design
- rest-api
- row-level-security
- stripe-connect
- supabase
- tailwind-css
- typescript
- zod
Log in or sign up for Devpost to join the conversation.