Inspiration
The goal was to simplify WordPress deployment for users who want to self-host but find the technical setup overwhelming. Too many people give up on self-hosting because the process involves SSH, database configuration, DNS records, and server setup—all before WordPress even gets installed.
What it does
WP Launchpad is a WordPress installation assistant that guides users through every step of setting up a self-hosted WordPress site. Instead of automating deployment directly, it generates customized configuration files and provides step-by-step instructions tailored to the user's specific hosting provider.
Users select their hosting platform (cPanel, DigitalOcean, AWS Lightsail, managed hosting, or custom servers), and the app generates provider-specific commands for server setup, database creation, and WordPress installation. The crown feature is the wp-config.php generator which creates a secure configuration file with unique security salts, custom table prefixes, and proper database credentials—ready to download or copy.
The app tracks progress through a multi-step workflow: Hosting Selection → Server Setup → WordPress Configuration → Verification. Users can save their progress and return later, with all their settings preserved.
How it was built
WP Launchpad was built using Flutter for the web frontend and Serverpod for the backend, both using Dart. This allowed for a unified codebase and type-safe communication between client and server.
The architecture follows a guided workflow pattern. Each step collects specific information (hosting provider, domain, server IP, database credentials) and stores it in a ProjectState model. The backend persists this state to PostgreSQL, allowing users to resume incomplete setups.
For the wp-config.php generation, a service was built that generates cryptographically secure 64-character salts for all eight WordPress security keys, then templates them into a properly formatted configuration file. The file download uses the Web API for WASM compatibility.
The UI was designed mobile-first with a collapsible sidebar, progress tracking, and contextual help throughout. Four comprehensive documentation guides (Getting Started, DNS, Hosting, WordPress) provide deeper explanations for users who need them.
Challenges encountered
Serverpod authentication conflicts: The default
FlutterAuthenticationKeyManagerwraps tokens in a format incompatible with custom auth. This was solved by removing persistent storage entirely and using in-memory session tokens.Provider-specific instructions: Each hosting platform has different commands, paths, and interfaces. The setup process for five different hosting types had to be researched and documented while keeping instructions accurate and current.
WASM compatibility: Flutter's WASM build doesn't support
dart:html. File downloads had to be refactored to use thewebpackage with base64 data URLs instead.Database migrations: Adding new fields to the ProjectState model required creating and deploying migrations. Forgetting this step caused silent failures in project creation.
Step tracking UX: Balancing flexibility (letting users jump between steps) with guidance (preventing users from skipping required steps) required careful state management.
Accomplishments
- A complete, deployable web application built with Flutter and Serverpod
- A wp-config.php generator with proper security salt generation
- Provider-specific installation guides implemented for 5 different hosting platforms
- An intuitive multi-step workflow designed with progress persistence
- Comprehensive documentation guides written to help users understand the concepts
Lessons learned
- Serverpod's code generation is powerful but requires understanding the migration workflow
- In-memory authentication can be a valid security choice for certain applications
- Flutter Web with WASM has specific API limitations that require workarounds
- Good documentation is as important as good code—users need to understand why, not just how
- Breaking complex processes into discrete, trackable steps dramatically improves user experience
What's next for WP Launchpad
- Add actual DNS propagation checking via API
- Implement site health verification (check if WordPress responds)
- Add interactive "First 5 Minutes" post-install checklist
- Support for .wplp token file uploads
- Email delivery of generated configuration files
- Plugin recommendation engine based on selected template
- Multi-language support for international users
Built With
- dart
- flutter
- postgresql
- riverpod
- serverpod
- serverpod-cloud
Log in or sign up for Devpost to join the conversation.