Dancitive – for the joy of dancing
Dancitive is a purpose-built platform for the partner-dance community, connecting dancers with events, organisers and other members of the community.
The platform goes beyond a traditional event listing website. Dancers can discover and attend events, connect with other dancers, review their experiences, assess individual dance partners and keep a personal dance journal. Organisers can manage events, understand feedback and access premium features and advertising tools.
We designed and developed the platform as a full-stack Laravel application with a React and Inertia frontend, building the functionality around the specific requirements of the dance community.
Built Around the Way Partner Dancing Actually Works
The technical challenge was not simply creating another social platform. Dancitive needed to model the way dance events and interactions actually happen. Events can be one-off or recurring, with individual occurrences requiring their own attendance, reviews and interactions. A dancer may attend one occurrence of a weekly event without attending another, while feedback and assessments need to remain associated with the correct event and date.
We built the underlying data structure to handle both event types through a common application model, allowing the frontend to work consistently whether an event happens once or repeats across multiple dates. The platform also needed to capture something generic event platforms do not: the relationship between individual dancers. Instead of limiting feedback to an overall event rating, Dancitive allows dancers to assess individual partners across musicality, connection, technique, style, enjoyment and overall experience.
A Social Platform With a Real Onboarding Experience
Dancitive contains a large number of interconnected social features, which created another important UX challenge: how do you teach a new user what the platform can actually do?
Rather than relying on a series of static tooltips, we built a guided onboarding system that creates a genuine demo experience for the new dancer.
During onboarding, the system creates a demo event and a seeded demo dancer, then uses the platform’s own functionality to generate actions such as friend requests, event invitations, likes, favourites and reviews. The user can experience the platform through actual interactions instead of being shown screenshots or simulated interface elements.
A dedicated onboarding service and middleware control the journey, ensuring the user is taken through the relevant steps in the correct order. This required the onboarding experience to work with the same underlying models and workflows as the live platform.
One Platform, Different Experiences
Dancitive has separate workflows for dancers, organisers and administrators.
Dancers have their own event discovery, attendance, social connections, notifications, reviews and personal journal. Organisers manage events, recurring schedules, galleries and venue information, while also accessing reporting and monetisation features.
The platform includes a separate administrative environment built with Filament, allowing administrators to manage users, events, reviews, dance categories, FAQs, blog content, platform feedback and other areas of the system without requiring direct database access.
This separation extends through the application’s routing and permissions, with role-specific route structures and access controls keeping the different parts of the platform distinct.
From Event Management to Organiser Monetisation
The organiser side of Dancitive is more than an event management dashboard.
Organisers can create one-off and recurring events, manage venue information and access reporting based on feedback collected from dancers. The platform also provides two separate revenue channels.
Premium subscriptions allow organisers to access additional promotional functionality, while a separate advertising system allows them to purchase targeted banner placements. Advertising purchases are processed through Stripe, with approval and moderation handled through the admin platform.
The advertising system also records views and clicks, giving organisers visibility into how their purchased placements are performing.
Mapping Real-World Dance Events
Location data presented another practical problem. Dance venues do not always provide perfectly structured addresses, so a simple geocoding request was not enough.
We built a dedicated geocoding service using OpenStreetMap Nominatim, with multiple fallback strategies for incomplete UK venue addresses. Results are cached to reduce repeated requests, while the resulting coordinates are used to display events through an interactive Leaflet map with location clustering.
This allows dancers to browse events geographically while keeping venue management relatively simple for organisers.
The Technical Architecture
Dancitive is built as a full-stack Laravel application using Laravel 12, PHP and MySQL, with React and Inertia powering the frontend experience.
Rather than separating the application into independent frontend and backend systems, Inertia allows the Laravel application to handle routing and server-side application logic while React provides the interactive interface.
The application also includes Filament for administration, Laravel Sanctum for selected API functionality and Spatie’s permission system for role-based access.
Third-party services are integrated directly into the application where required, including Stripe for subscriptions and payments, Brevo for transactional email, and OpenStreetMap Nominatim for geocoding.
The application is deployed through GitHub Actions to a self-managed VPS, with separate staging and production environments and automated dependency installation, frontend builds, and database migrations as part of deployment.
Handling the Details Behind the Platform
Some of the most important engineering work is hidden from the user interface.
Recurring events required attendance, reviews and other interactions to understand individual event occurrences rather than only the parent event. Date handling also required deliberate treatment to avoid timezone conversion problems when displaying event times.
The notification system uses scheduled background jobs for activities such as upcoming events, review deadlines and reminders. Frequently used user interaction data is also prepared centrally so the frontend does not need to repeatedly request attendance, favourites, likes and friend-request information.
Stripe billing required careful handling of subscription states and webhook events, including cancellations that take effect at the end of a billing period rather than immediately.
These are not features that necessarily appear in a screenshot, but they are what allow the different parts of the platform to operate as one system.
A Platform Built Around a Specific Community
Dancitive demonstrates why some digital products need to be built around the business or community they serve rather than adapted from a generic platform.
The result is a single system combining event management, social interaction, dance-specific feedback, personal journaling, organiser reporting, subscriptions, advertising, mapping and administration.
The architecture gives the platform a foundation that can continue to evolve as the community, event model and business requirements develop.
Built with the right technologies for a complex platform
Dancitive combines Laravel, React and Inertia.js with a range of supporting technologies and services to power its event management, social features, payments, mapping and administration.
More projects from our development team
Explore more custom platforms, business applications and digital solutions we’ve built for businesses with complex technical requirements.
CONTACT US
Get in touch
Got a custom development project, an integration that isn’t working or a platform that has outgrown its current build? Tell us what you’re dealing with, and we’ll review the technical requirements and recommend a practical way forward.
Give us a call and get an answer in seconds
Speak directly with our team about your platform, what you’re trying to improve and the technical challenges you’re facing. We’ll give you an honest view of what would be involved and where we can help.
Fill the contact form and we will contact you
Tell us about your current platform, what isn’t working properly, what you’re trying to build or where you need technical support. We’ll review the details and come back with a clear assessment and next steps.