How we do it: custom Django development - event calendar for The Juilliard School

NYC performing arts school looking for back-end developers

The Juilliard School is the most recognized around the world, performing arts & music school, located in New York. The school was founded in 1905 (it's over 100 years of tradition!). The mission of The Juilliard School is to provide the highest caliber of artistic education for gifted musicians, dancers, and actors from around the world, so that they may achieve their fullest potential as artists, leaders, and global citizens. The graduates have been repeatedly achieved many awards as Grammy, Emmy, Pulitzer or even Oscar.

Project summary & objectives

School's CTO has contacted with us in April 2014 and introduced into the project. They were looking to develop an event calendar to publicize performances and sell tickets. The School schedules several hundred events each year. Our mission was to build robust web application allowing for events management deeply integrated into an online ticketing system. The fact is that, the Juilliard school already had that kind of website, but it didn't fulfill its task. The site receives nearly 10,000 unique visitors each month. Many visitors have reported some problems with interface of the old website (it was unintuitive), moreover, it didn't have RWD version so naturally caused worse User Experience on mobile devices. The old events calendar utilized technology from CollegeNet’s R25 system which has a number of design and functionality limitations.

The objectives of the new event calendar included:

  1. Facilitating the user experience by allowing users from any device to very easily navigate the site to find performances among our offerings that suit their taste and taking actions to obtain tickets or share the event with others
  2. A more attractive design that reflects Juilliard’s status as a top performing arts institution
  3. New functionality that allows designated events to be specially highlighted on the calendar
  4. Improved back-end functionality allowing for more efficient content management
  5. Increase ticket sales to paid events and attendance at unpaid events while raising general public awareness of Juilliard events

The Juilliard event calendar’s target audience comprises prospective event attendees (new and returning), prospective students, prospective donors, the press and members of the general public.

Improving UX: User Scenarios

Before project took off, we’ve worked closely with the client on briefing and understanding users and their needs. A well-thought user scenarios helped us to grasp users goals, their motivation and design the product to perfectly match them. Following scenarios have been designed:

ActorProblemSolutionPublic calendar userHow to quickly and efficiently find events that interest them and easily acquire ticketsCustom event calendar deeply integrated with SpektrixJuilliard content managersAn interface that allows them to quickly and efficiently create and edit event data without double data entry or double-booking spacesA functionally well-designed management interfacePaper Report UsersHow to quickly and efficiently pull the event reports they need in a designed formatUser-configurable HTML formatted report system with print-to-PDF optionDigital SignageObtain accurate event data in the correct format for the School's digital signage systemsA configurable and extensible RSS feed systemFeed UsersSyndicating Juilliard's event data to other outlets such as Lincoln Center event calendar, the Juilliard Journal an a timely and accurate mannerA configurable and extensible RSS feed system

Project discovery: moving from Drupal to Django

Our customer have delivered all the information about project's visual side (including views prepared by graphic designer), so our main role was to focus on front-end codding (considering Responsive Web Design standards) and implementation of brand new content management system. Many issues from the first assignments has drastically changed and have been clarified after series of talks and analysis we conducted during project discovery phase.

One of the decisions was transfer from initially planned Drupal CMS to Python/Django set up. Our role, as a developer, was to deploy an appropriate set of backend technical strategies in constructing the calendar to ensure a high level performance on both the end user and content mangers. Page load times had to be in the upper quartile and users must not experience a noticeable lag in loading site content.

We arrived to the conclusion that Django is a perfect match for this project.

It was also important to ensure that the site shall remain accessible during periodic maintenance activities (site traffic tends to dwindle in the summer months when there are very few public events scheduled).

Project planning

Initially, the project has the deadline set on the beginning of the July (2014), but according to delayed start moment (clarification time and it's consequence: preparing the functional specification impacted contract negotiations), the final delivery date was moved on the beginning of the September 2014. After prior internal tests, we managed to deliver project to the customer, who could check and verify whole solution on his side and also fill the service up with some appropriate content, using new administration panel.

During next two months we were involved in solving detected problems (some of them occurred in the application and some on the server-side infrastructure), and also implementing new features. Officially we have launched the new service in November.

Core app features & functional requirements

Juilliard School app

The list of selected features implemented in the service:

  • Responsive Web Design,
  • content management system (based on Django Framework) with full support for rich content including text, diacritical marks, images and embeddable audio and video
  • deep integration with the Spektrix event ticketing system via the use of Spektrix API, allowing: dynamic event data synchronization between the 2 systems; authentication and authorization processes; e-commerce; order fulfillment andmore
  • content managers can authenticate via Juilliard’s single sign-on CAS (Central Authentication Service). Authorization is managed in the system administrative interface.
  • multilevel permissions system,
  • events managementfunctionality that outputs the event data into specially-formatted PDF reports
  • functionality that allows individual events or a designated a series of events to be grouped into a portable medium such as a configurable i-frame for syndication on other web outlets.
  • functionality that provides a user-selectable method to syndicate calendar data to event RSS feed
  • “event toolbox” that allows users to send details of individual events or series to friends via Facebook, Twitter, email and calendar download.

Results: 25% increase in ticket sales

Since implementing the new calendar, The Juilliard School experienced a 25% increase in ticket sales and a 10% increase in traffic on their website.

We are happy to say our efforts paid off and resulted in a system that meets both: users and school managers needs. The system significantly accelerated and simplified events and content managing processes.

The project took a total of almost 500 man hours (without additional features which were implemented after basic version) of a 7-member team working closely with Juilliard’s representatives.

The feedback we received from the client is speaks for itself:

“Merixstudio team was great. The new calendar has been very well received by the public and the people who use it on the back-end. They're a very skilled group of developers”

You can read full review on our Clutch profile.

Now we are still working on that project by providing support and implementing new features.

We appreciate the opportunity of co-working with such a recognizable Client, at the same we are happy that we are appreciated for our work and, as a result, we are implementing next projects for The the Juilliard School.

If you want to read articles about our other projects, check out How we do it on our blog, where every week we describe different example of our work.

Navigate the changing IT landscape

Some highlighted content that we want to draw attention to to link to our other resources. It usually contains a link .