Skip to main content
Brilliance Retail Training Platform

Multi-step wizard for building and hosting custom retail training courses

To support their idea of building a platform to connect retail training experts with retail store owners, we built a custom course builder for the Brilliance Retail Training Platform. This course builder allows anyone to build, host, and deliver custom training content to retail store owners and their employees and get paid for it!


Planning & Strategy
User Experience
Front-end Development
Back-end Development



Project Brief

One of the major elements needed to ensure the success of the Brilliance Retail Training Platform was a custom course builder that allows retail training experts the ability to build, market, share, and deliver training content to retail store owners and their employees. This was a major endeavor that had many important pieces: 

  1. Getting the User Experience Right: ensuring that anyone, regardless of technical ability, could easily build and market their courses.
  2. Hosting Videos on AWS: controlling the security and delivery of video course content so both creators and purchasers are protected.
  3. Course Content Moderation: preserving the brand's image by only allowing high quality course content available in the catalog.
  4. Paying Course Creators: allowing creators to set their course prices, track sales, and request payouts from Brilliance.
The launcher to the course builder asks the user to select whether the course is free or paid.
The launcher to the course builder asks the user to name their course and choose a brand color

Getting the User Experience Right

Forms, especially long forms containing many fields with complex relationships, are notoriously difficult to design in a way that feels simple and intuitive. One major challenge with this feature was getting the user experience just right.


Making a large form with many fields feel intuitive


Multi-step form with autosave and preview options

Organizing the fields on this form into steps was crucial in making the massive form easy to digest. Autosave ensures that the user’s progress is never lost, no matter how far along they get. There are also buttons for previewing their course that are accessible at any point in the process, allowing users to check their progress as they go.

Displaying a large amount of structured course content in a simple way


Nested drag and drop interface for adding course content

All courses on Brilliance share the same format. Sections are made up of chapters, and chapters are made up of lessons. Following this format, we created a course outline view that allows users to see their course content from a high level as well as drill down into individual lessons for editing, reorganizing, and previewing.
The course builder has 6 steps that can be navigated between, preview buttons, and an autosave indicator.
The content step has drag and drop content with status indicators that show when lessons are ready to be published

Hosting Videos on AWS

Videos play a central role within the Brilliance platform and serve as the primary medium for a variety of courses. Many factors came into play when the decision to switch to AWS was made, such as cost, control, and accessibility.


Using a video hosting service long term becomes very expensive


Moving content to AWS significantly cuts down long-term expenses

Alternatives to AWS such as Wistia offer plans that force customers to bundle and pay for things that they might never use, potentially costing thousands of dollars each year. AWS on the other hand requires more investment up front, but offers competitive pricing and only charges for what we use. With a maximum monthly storage cost of $0.023 per GB, we don't pay for anything we don't need.

Linking to free video hosting services is not dependable


Hosting videos in cloud storage gives us full control

Uploading a video to YouTube and streaming it on your website can be a very cost effective solution to video hosting, but this approach creates problems when distributing paid content. For example, the uploader could delete the content at any time, leaving customers without access to the content they purchased. By hosting videos on AWS, we can be certain that customers always have access to the courses they purchase.

Making videos accessible with captioning and standardized formatting


Using AWS MediaConvert to generate captions and convert to widely used formats

The convenience of online video streaming is easy to take for granted, but we must remind ourselves that things like closed captioning and compatibility with most devices doesn't just happen magically. Using AWS, we can improve accessibility by accomplishing both of these things with a built in service called MediaConvert.
A modal for uploading a video to AWS
The video's status displays on each lesson

Course Content Moderation

In order to ensure that only high-quality courses are available in the Brilliance course catalog, we implemented a moderation feature which gives Brilliance administrators full control over which courses are allowed to live on the platform.


Establish an intuitive process for creating and approving course content


Creating a course status workflow that constrains status transitions based on user role and current status

Instructors can submit a course for review, and once approved, publish the course to the catalog where learners can subscribe. Administrators can change course status without restriction.

Prevent the modification of course content once learners have purchased the course


Workflow restrictions that prevent instructors from changing content for courses in a ‘publish’ status

Changes require approval from administrators to ensure course material remains valuable for the learner. Similarly, a course cannot be archived once learners have purchased the content.
The last step of the course builder explains that the course will go into review.
Courses can't be edited while in review

Paying Course Creators

The final piece to this complex puzzle was paying course creators for the sales that their courses generate within the app. We implemented ways for creators to choose how to sell their course, track their earnings, and request payouts from Brilliance. The goal was to entice more creators to join and add more courses to the catalog.


Converting course content to a purchasable product


Integrate Stripe to facilitate the monetization of instructor-created courses

A Stripe product is created for each course that contains the necessary pricing and purchasing rules. Stripe also provides a secure user-friendly infrastructure for collecting payment from learners who wish to subscribe to a course.

Offering flexible pricing models to suit different types of courses


Allow instructors to choose how they share and monetize their course products

The Stripe infrastructure offers the flexibility to customize the pricing model for each product (course). Course products are configured to be sold as a monthly subscription or one-time purchase. Stripe aids in the administration of subscriptions ensuring that content is only available to learners who have provided payment.
Creators can set their course prices in the course builder
Creators can track their earnings from course sales and request payouts


Brilliance started with just one course, and now the catalog has many courses about various topics like retail store branding, marketing, e-commerce, sales, and more. The app has thousands of active users benefitting from the training content provided in the app, and it only continues to grow!