Uniting dancers worldwide — discover events, connect with communities, and grow dance culture in your city.
Dancers struggle to find events, classes, and partners nearby. Information is scattered across Facebook groups, Instagram stories, and WhatsApp chats. Organizers have no reliable way to reach their audience, and newcomers don't know where to start.
- Explore events and classes by city and dance style (Salsa, Bachata, Kizomba, Zouk, and 170+ more)
- Connect with dancers, organizers, and venues near you
- Share recommendations, stories, and reviews
- Organize events with built-in promotion, RSVPs, and calendar integration
- Discover new styles through community-curated content
Available in 10 languages. Works as a PWA on any device.
Try it live at wedance.vip | Get Involved
- Nuxt 2 — Vue 2 framework, used as Static Site Generator
- Tailwind CSS 3 — utility-first CSS framework
- Firebase — Firestore database, Authentication, Cloud Functions
- Algolia — search
- Mailgun — email delivery and tracking
- Sentry — error monitoring
- Netlify — CDN, CI and hosting (deploys on each commit)
- PostHog — product analytics
The ai/ directory contains WeDanceBot — a Telegram bot that helps users find dance events and answers platform questions. Supports Claude, OpenAI, and Ollama as LLM providers.
pages/ # Nuxt pages (routes)
components/ # Vue components (120+)
content/ # Blog posts, dance style info, static content
assets/ # Styles and static assets
ai/ # Telegram bot with LLM integration
docs/ # Documentation site (Docus)
- Go to Firebase Console click
Add project, enter any name, clickContinue, uncheckEnable Google Analytics for this project, clickContinue. - Under
Get started by adding Firebase to your appclick 3d icon (Web), enter nameWeb, uncheckFirebase Hosting, clickRegister app, copy generatedfirebaseConfig. - Go to
Authentication, switch to tabSign-in method, clickEmail/Passwordand enable both triggers (password and email link); enableGoogle. - Go to
Cloud Firestore, clickCreate database, selectStart in test mode, clickNext, choose regioneur3. - Transform
firebaseConfigvalue (from step 2) to one line JSON. This tool might help you. - Clone this repository and open the project folder.
- Copy
.env.examplefile to.envfile and set value ofFIREBASE_CONFIGto one line JSON you got from step 5.
To activate all services and features see section Services below.
- Install nvm
- Run
nvm install 14 - Run
nvm use 14 - Run
yarn install - Run
yarn dev
To activate all services and features see section Services below.
Watch video tutorial.
Read How to deploy on Netlify?.
- Push your branch to github.
- Sign in to Netlify.
- Click
New site from Git. - Choose
GitHuband select your repository. - Select your branch.
- Build command:
yarn build. - Publish directory:
dist. - Click
Advanced build settingsand empty value forFunctions directoryas we don't use Netlify functions. - Click
New variableand add all keys and values from.envfile (URLand some other variables are set automatically). - Click
Deploy site.
To activate all services and features see section Services below.
Activate only those services that you need. In most cases you don't need all of them.
- Go to
Authentication, switch to tabSign-in methodfind sectionAuthorized domains, clickAdd domainand add new.
- Enable Maps JavaScript API, Places API and Geocoding API in the Google Cloud Console.
- Enable Billing on the Google Cloud Project.
- Create mailgun account.
- Create domain and setup DNS.
- Create API key.
- Enable Pub/Sub, Scheduler, Build API in Google Cloud Console.
- Install Firebase-CLI locally and init project with
firebase init. - Add mailgun confguration to Firebase:
firebase functions:config:set mailgun.key="" mailgun.domain="" mailgun.host=""- Deploy Firebase with
firebase deploy. - Setup hooks in Mailgun.
- Create firestore index (send test mail, see logs, find link to create index).
We encourage you to contribute to WeDance!
We expect contributors to abide by our underlying code of conduct. All conversations and discussions on GitHub (issues, pull requests) and across wedance.vip must be respectful and harassment-free.
See issues or Create an issue.
- Setup project locally (see Setup above).
- Make changes to code.
- Checkout new branch and commit your changes.
- Deploy to Netlify.
- Create a Pull Request and include a link to your Netlify demo.
We use Conventional Commits. Run yarn lint before committing.
Code Editor: VSCode with Prettier, Vetur, Tailwind CSS IntelliSense.
Browser: Chrome with Vue.js devtools.