BACK TO PROJECTS

Last updated: 11/17/2024

Roshade Graphics

10,000,000+ downloads on desktop.


How It Started

Roshade began in 2021 to make shaders accessible to Roblox users, who were mostly young and non-technical. ReShade, the available solution, was too complex and lacked support. Despite discontinuing the project, Roshade reached over 10 million users globally, providing invaluable lessons that I want to share here.

The Problem and Solution

ReShade's complex installation required manual configuration. In 2021, I simplified it by creating an installer with Inno Setup, later upgraded to NSIS. This turned a complex process into a quick, no-skills-needed setup.

It Caught on Quickly

I launched a YouTube channel for Roshade tutorials, gaining 100,000 views in two weeks and thousands of Discord users with bug reports. Fixing recurring issues daily was a learning experience, teaching me to code under pressure.

Monetization

After a year, I launched "Roshade Pro"—a subscription with extra effects like ray tracing. Thousands subscribed, with retention ranging from 6 months to 2 years.

Key Lessons Learned

  • User Feedback: Prioritizing critical user issues is key.
  • Marketing: I explored marketing and monetization, applying concepts like the 80/20 rule from "The One Page Marketing Plan."
  • Income Increase: Switching the default payment option from monthly to yearly increased revenue sixfold.

A/B Testing

Using Firebase and Stripe, I tested different yearly price points. Users showed no drop in conversion at $35 versus $25, allowing for higher pricing.

Trial Periods

Offering a 7-day free trial improved conversion rates from 0.5% to 3%, highlighting the power of trials.

Technical Experience

I developed Roshade using Tauri, a framework combining Rust with web technologies like HTML, CSS, and JavaScript. Rust's performance taught me optimization, while Nuxt and TypeScript improved web and desktop integration.

User Experience (UX)

Good UX was crucial. I simplified the installer with progress indicators, reduced jargon, and implemented smart defaults to minimize user choices during setup.

Customer Service

Handling customer service solo was challenging. To streamline it, I used OpenAI's GPT for initial support email drafts, applying a "Human in the Loop" approach to save time while maintaining a personal touch.