Online wedding dance lessons | Nationwide

Two To Tango: a wedding dance membership app, live in one day

Two To Tango teaches engaged couples their first dance online, with video lessons and live coaching from instructors. Our custom web app development gave them a member hub where couples pay and get their login automatically, plus an instructor portal to manage access and lessons.

  • Custom Web App
  • Admin Portal
my.twototango.us
The Two To Tango site on a desktop screen
The Two To Tango site on a phone
1 day
from first commit to live, Stripe included
The member hub and instructor portal launched August 7, 2026, the day the code was first committed; Stripe live mode was verified that evening.
6
dance modules moved out of Duda
Rumba, Viennese Waltz, Foxtrot, East Coast Swing, Hustle and Tango, each with five lesson videos.
The client

About Two To Tango

Two To Tango sells online wedding dance lessons to engaged couples across the country. Couples choose a package, meet their instructor on an intro call, then learn their first dance at home from step-by-step videos, with more private lessons at higher tiers. Before, the members area lived in Duda pages, with a separate form for each package. This custom web app development project moved it into one app for couples and their instructors.

The challenge

Why They Came to Us

Two To Tango's members area lived inside Duda: a log-in page, a dance library, a page for each dance and three separate package forms.

  • Pricing buttons pointed at three separate forms, one per package.
  • Their website plan called for a member login and gated lessons.
  • Three packages needed different access and different numbers of private lessons.
  • Instructors needed a way to help couples who get stuck at the login screen during opening calls.
The plan

What We Proposed

We designed one path from the pricing buttons to the lesson library, with nobody in the middle.

  • Send couples from the pricing buttons to a short onboarding wizard that saves them as a lead before checkout.
  • Take payment through a Stripe payment link, then create the account, set access and send a branded welcome email automatically.
  • Build the database multi-tenant from day one, so the same setup can serve future membership sites.
The build

What We Built

Member hub

my.twototango.us, where couples choose a package, pay, sign in and learn.

  • A public preview of the locked lesson library and the three packages for visitors who aren't signed in.
  • A one-question-at-a-time onboarding wizard: names, email, phone, wedding date, song, vibe, dance experience and dance floor.
  • Six dance modules with five lesson videos each, plus quick links to each section, checklists and practice targets under every video.
  • A wedding questionnaire after first sign-in, covering the ceremony, celebration, photographer, videographer and song, with the answers shown to the instructor.
  • Branded welcome, password reset and login emails from Two To Tango's own address, never a generic template.

Stripe provisioning

One paid Stripe checkout creates the account, sets access by package and sends the welcome email.

  • Accounts are created only when Stripe reports the payment as paid, or as needing no payment for a 100%-off promo code.
  • Each purchase is matched to the couple's wizard answers. If someone buys without the wizard, the app works out the package from the payment link they used, or from the amount paid.
  • Gold and Platinum unlock every dance at once. Silver couples see a booking banner, and their instructor unlocks dances one by one.

Instructor portal

A staff-only portal for members, unlocks, lesson tracking and account help, served from the same app on its own subdomain.

  • A members table with package, wedding date, opening call, lessons used, access and status.
  • A list of couples who started the wizard but didn't pay, for follow-up.
  • A member card with wizard and questionnaire answers, per-dance unlocks, progress, lesson notes and account tools.
  • Instructors can send a reset link, or set a password and email it to the couple in one step.
  • An Add Member form with a per-dance picker, and an Instructors page to invite staff.
Problem solving

How We Solved the Hard Parts

  1. Pay, then get in, with nobody in the middle

    Payment, account creation, package access and the welcome email all run from one Stripe event, gated on a real paid status. Nobody has to create logins by hand.

  2. Purchases that skip the front door

    Couples can buy from a plain Stripe link or with a 100%-off promo code and still get the right access, because the app works out the package from the payment link itself.

  3. Login links used up by email scanners

    Email security tools such as Outlook Safe Links open links before people do, which can use up a one-time login link. Now the link opens a page with a Continue button, and only that click uses it. Expired links get a plain explanation instead of a dead end.

  4. Lessons trapped in Duda pages

    We generated the lesson library from the Duda export into structured content, recovered a dance that had been saved under the wrong page name, left out two dances at the client's request, and replaced a stray editor note with real practice-target captions.

  5. Couples stuck at the login screen

    Instructors run opening calls with couples who sometimes can't get in, so the portal lets them set a password and email it to the couple in one step, and shows unfinished checkouts for follow-up.

Results

The Results So Far

Both portals went live on August 7, 2026, the day the code was first committed, with Stripe live that evening. The first paying customer bought a Platinum package on September 23 and signed in six minutes later through the automatic welcome email.

The member hub is kept out of search and runs no analytics, so we don't report traffic. The number that matters next is how many couples who start the wizard finish checkout, and instructors can follow up on unfinished checkouts right from the portal.

Dates and timings come from the project's commit history and launch notes; the module count comes from the lesson content in the app.

Timeline

Project Timeline

  1. Member hub and instructor portal go live, with Stripe live that evening
  2. Emails start sending from Two To Tango's own address
  3. First paying customer signs in six minutes after checkout
  4. Every payment link now maps to the right package
  5. Scanner-proof sign-in links, the wedding questionnaire and instructor account tools
Questions

Questions About This Project

Can members get access automatically after they pay?

Yes. At Two To Tango one paid Stripe checkout creates the account, sets access by package and sends a branded welcome email. Silver couples still get dances unlocked by their instructor, by design.

Do we have to leave our current website to add a member portal?

No. Two To Tango's marketing site stayed on Duda, and the member hub and instructor portal run on their own subdomains.

How long did this build take?

The member hub and instructor portal went live on August 7, 2026, the day the code was first committed. The wedding questionnaire and instructor account tools followed in September.

More work

Related Projects

Half Nesterâ„¢ website
Coaching, Education & CommunityFeatured

Half Nesterâ„¢

Community and education brand for life's messy middle, Nationwide

A Duda site and a Kajabi course rebuilt as one owned platform: website, member app, community and content Studio.

12.7 to 5.3average Google search position

Website MigrationCustom Web AppContent StudioSEO
Valerie Woo Consulting website
Coaching, Education & Community

Valerie Woo Consulting

Dental practice consulting, courses and keynote speaking, Nationwide

A 44-page dental consulting site rebuilt off Duda with every URL kept, then taken from 63 to 94 on the WES SEO audit in a week.

63 to 94WES SEO audit score in 7 days

Website MigrationSEOCustom Web App

See the Full Portfolio

Want a Website That Works This Hard?

Tell us about your business and where your leads come from today. We will show you what we would build, and what we would keep.