Primuz App

Audiophile home page screenshot

Well-renowned philharmonic orchestras and ensembles use IT systems to streamline their work. I developed something similar for Primuz Chamber Orchestra. It's a Progressive Web App which helps plan concerts and rehearsals. Users can access information about projects, receive notifications about new ones, share if they're available for an event and download sheet music.

Techstack

  • TypeScript
  • Next.js
  • Supabase
  • PostgreSQL
  • Google Calendar API
  • OneSignal
  • date-fns
  • shadcn/ui (Radix UI)
  • React DnD Kit

Motivation

The idea for this application came to me when I noticed several problems with communication and planning within my orchestra. At the time, we used many services: Google Sheets, WeTransfer, emails, Google Calendar and Facebook. Important information would end up scattered across all these sources, making it difficult to access.

I realized I could use my skills to bundle these services together and offered to create an app for Primuz Foundation.

Availability sharing

Orchestra members can signal if they're available for a given project by choosing from 4 different status types and attaching a message.

This solved two problems the orchestra had with Google Sheets. We used to have the choice between checkmark and no checkmark - it offered no distinction between "I don't know yet" and "I'm unavailable". The other problem was UX on mobile devices - my collegues reported problems getting Google Sheets to work on their phones.

Information flow

We can now access all information about an event on its page - two taps away from the phone's desktop. It's no longer divided into bits and pieces.

Notifications

App users can choose to receive notifications about new projects and important updates.

I regret having used OneSignal. Although the implementation was relatively simple, the Node SDK turned out to be buggy (I ended up using fetch for API calls), and the documentation left much to be desired. If I were to recreate this functionality I would choose a custom solution.

Google Calendar integration

In the past, we used Google Calendar as part of our planning system. I implemented synchronization between it and the Primuz App. Thanks to it, we still enjoy the convenience of having all concerts appear in our calendar apps without any additional organizational overhead from managing both the app and the calendar.

Content management system

Members of the orchestra responsible for organization have a CMS at their disposal. They can create and edit projects as well as add sheet music to the database.

I'm especially proud of a component designed to build the exact structure of the orchestra. Our concertmaster can see the availability of all musicians, add them to sections, and then sort them using drag and drop.

Lessons learned

I could write an essay about what I learned during the development of this project. After all, it's my first app actually used by people.

What proved to be most valuable, however, was my first contact with user feedback. Some features turned out to be high friction or less useful than I anticipated, while others were missing.

This feedback gave me both motivation and new ideas for further tinkering with the application.

Other projects

Contact

Looking for a developer? Don't hesitate to reach out - I'm eager to face new challenges!

Bartosz Paradowski 2024©. Icons by icons8.