DEV Community

Mr Motu
Mr Motu

Posted on

How I Optimized 650+ Unicode Fonts to Hit 95+ PageSpeed on Mobile

Stylish name generator with 650+ styles

Introduction:

Most "fancy text" tools are a nightmare for performance. They are often bloated with heavy libraries, trackers, and poorly optimized JavaScript. When I set out to build Online Generator Hub, I aimed to provide triple the standard variety (650+ styles vs. the typical 200) without compromising a millisecond of speed.

The Challenge:

Managing 650 mapping objects for Unicode characters (like boldMap, italicMap, and complex zalgoText algorithms) can quickly lead to long-running scripts that freeze the main thread on mobile devices.

Technical Highlights:

Live Preview via Event Listeners: Instead of a "Generate" button, I implemented a debounced input listener. This provides users with instant feedback as they type.

CSS Variable Theming: I used CSS custom properties (: root) for the entire UI. This allows for a 1-tap Dark Mode transition without re-rendering the DOM.

Google Font Optimization: Instead of loading every font style on page load, I strategically utilized the display=swap parameter in the Google Fonts API to ensure the text is readable while high-end fonts like 'Orbitron' and 'Pacifico' load in the background.

Functional Style Generation: Each of the 650 styles is generated through a clean object-literal map. For example, the Gaming Ornate style ꧁...꧂ wraps the Unicode-transformed text dynamically.

Stylish name generator categories and fonts

Results:

By keeping the core logic in vanilla JavaScript and optimizing the CSS architecture, the tool currently hits a 90+ PageSpeed on mobile and 95+ on desktop, proving that "stylish" doesn't have to mean "slow."

Top comments (0)