The PHP podcast where everyone chimes in.

Originally aired on

May 28th, 2015

021: From Idea To Production: Part 1

We discuss an idea for a web app and identify ways to turn it into a real-life product on the web.

We start with describing the domain and the problems the app should solve. Then we identify the personas that will interact with the app. We discuss the features features the app should have to fix the problems and we sort all the features by priority. Finally we talk about timeline, deliverables and next steps.

The app we discuss will be launched to production by the next airing of this multi-part series of taking an idea to code.


Part 1: Turning an idea into code for production Show Summary

We discuss an idea for a web app the helps dancers manage their upcoming dance competitions and events.

Although the app could apply to many genres of dance, the primary focus will be on the West Coast Swing community.

The Domain

Here's an example of a couple competing West Coast Swing at an event called MADjam.

Dance events (or "dance comps") are much like PHP conferences only with all-night dancing. You stay at a hotel, go on booze runs, go to workshops, watch or compete in lots of different competitions, hang out with friends & dance until 5AM, etc.

Two of the most popular competitions are Jack & Jill and Strictly.

  • Jack & Jill
    • Organized by division (Newcomer, Novice, Intermediate, Advanced, All Star & Campion)
    • You get thrown into a group of dancers in your division and you get randomly paired with another dancer.
    • The DJ will play a random song and judges will judge your dancing to that random song with that random person.
    • The next random song you can another random dance partner.
    • You get points if you place in the top of your division.
    • Points are recorded and tracked across events around the world by the WSDC.
    • As you accumulate points, you get moved up to the next division.
  • Strictly
    • Are just like JJ's except:
      • You select your partner beforehand.
      • Don't accumulate points in the WSDC database.


  • Remembering deadlines when admission prices change
  • Managing strictly partners for individual events
    • Double booking
  • Remembering the events
    • Planned for two events in a weekend
    • Coordinating the events, over booking
    • Sync with google calendar
  • Travel
    • Forget to buy plane tickets
  • Lodging, hotel booked and roommates
    • Forget to book hotel, rooms sold out fast
  • Keeping track of people, positive and negative
    • Reviews, public might be problem
  • Knowing which events are coming up
    • filtering by region
  • When in hotel, forget which city you’re in
  • WSDC data unreliable and uncomfortable
    • Antiquated processes


  • Casual Participants
  • Competitive Participants
  • Event Administrator(s)/Community Moderaters
    • At large or specific event
    • Anyone, maybe dancers
  • Vendors
    • Marketing people


  • Moderators correct and verify event information
  • Moderators can document time based milestones
  • Participants can view time based milestones for events, pricing
  • Participants can view hotel information for events
  • Participants, Vendors can receive airfare reminder
  • Participants, Vendors, Moderators can sync event information with google calendar
  • Participants, Vendors, Moderators can sync event information with ical
  • Participants, Vendors can receive hotel availability reminder
  • All search for events with filters
  • Participants, Vendors can compare travel options to the event; flying, driving, or train
  • Participants can invite dance lessons
  • Participants can confirm dance lessons
  • Participants can document dance lessons
  • Participants can receive reminder of dance lesson
  • Participants can invite dance partnerships
  • Participants can invite travel partnerships
  • Participants can invite lodging partnerships
  • Participants can confirm dance partnerships
  • Participants can confirm travel partnerships
  • Participants can confirm lodging partnerships
  • Participants can document private feedback on partners in partnerships
  • Participants can document public feedback on specific events
  • Participants can share private feedback with specific partners
  • Participants can indicate which events they’re planning to go to
  • Participants can view a customized list of events another participant is planning to attend
  • Participants can create a custom list of events
  • Participants can invite other Participants to view a custom list of events planned to attend
  • Participants can share a public list of events they are attending
  • Participants can embed a public list of events they are attending on 3rd party websites


  1. Event Curation
    • Time
    • Date
    • Location
    • Hotel(s)
    • Airport(s)
    • Region
  2. Event Discovery, search and filter
  3. Event Calendar Integration, All and Specific
  4. Participant Accounts
  5. Event Subscription
  6. Event Reminder System
  7. Invitations
    • Partnerships
      • Dance Lessons
      • Strictly
      • Lodging
      • Travel
  8. Custom Event Lists for Invitation
  9. Partnership Reminder System
  10. Event Feedback
  11. Participant Feedback (Drama Llama)

Update 2015-06-02


I created a few mockups using Balsamiq.

Home Page

Home Page

Event Landing Page

Event Landing Page

Subscribe to Event Modal

Subscribe to Event Modal

Subscription Settings

Subscription Settings

Browse Events

Browse Events

Developer Shout-Out

Thank you, Karl Hughes for your work on sanitizing job data. A $50 Amazon gift card from Laracasts is on its way to you.

Shout-out sponsored by Laracasts


It's like Netflix for developers.


Steven Maguire

  • Built and launched a product that protects your email inbox from being overrun with system monitoring alerts via rules and filters. I am looking for a few more beta testers to signup and put it through its paces. Signup at!
  • Loves pizza, especially when other people pay for it @ :)
  • Read The Axis of Stevil for new hilarious/odd content every Monday, Wednesday, and Friday, email notifications when new content is released.

Jocelyn Lopez

Glen Hinkle