Skip to content

Design Pro

Offer appearance customization features in our existing link-in-bio Page Editor as a way to increase revenue by enticing users that might not see value in subscribing to a paid plan.

User editing border styles and previewing them

Editing border styles and previewing them

User browsing themes

Browsing themes using the theme picker

User deciding between various themes using theme picker and selecting one

Using the theme picker and theme preview to select a theme

Table of Contents

Client

Hype is an all-in-one marketing and payments platform for anyone using social media to grow their business. The software enables creators to build a website in minutes, earn revenue from subscriptions and tips, send message blasts to followers, and track key business analytics.

Challenge

We wanted to be able to offer both themes and per page customization overrides.

Approach

Make a system extendable enough that later on we could use the the data model for things beyond styles, potentially analytics scripts, etc.

Layered flow

Layered flow diagram showing the translation of serializing the content in the database, to presenting the preview to the user, and giving the user notifications upon saving.

Database schema

Database schema

Solution

Creators will be able to use the Dashboard Page Editor to achieve the following:

  1. Select a theme for their standard page/s
  2. Be able to override the theme customizations with their page customizations (fonts, block borders, page background color, gradient).
  3. We will be able to dynamically determine font color based on background type/value.
EntityValue ObjectPurpose
ThemesNameProvides a theme name
ThemeCustomizationsTheme ID, name, value, typeA preset group of various customization choices
FormsNameGives pages a user friendly and editable name that is for ease of Creator to be able to identify in list if they have Design Pro (because Design Pro includes more than one page)
FormCustomizationsForm ID, name, value, typeThings customized on the page level: ie a background with an image, a hover effect that animates for any linkable elements, etc. 1 form_id:many form customizations
FormThemesForm ID theme IDGives the ability to override the PublisherTheme. Should only apply 1 per form_id

Form Service

For saving customizations on the form level and/or block level

Themes Service

For returning Themes and ThemeCustomizations to be processed by the Customization Serializer for either the Page Editor or the Page.

Customization Serializer

For converting customizations returned from the API to valid CSS.

Style Tag Generator

For generating style blocks with increasing levels of specificity.

Theme Picker

A component for choosing themes, both gated and ungated, which can only be saved when they have chosen a theme they have access to.

Page Previewer

A component that injects style tags in the view of the page.

Customization Pickers

Tech Stack

Conclusion

Product