+```
+
+The logo displays on the welcome screen when users first open the installer.
+
+### 2. Application Icon ✅
+**Location**: `package.json` build configuration
+
+**Icon Used**: `assets/app-icon.png` (copy of "dashcaddy logo icon.png")
+
+This icon appears:
+- In the Windows taskbar when installer is running
+- In the title bar of the installer window
+- In Windows Explorer for the .exe file
+- In the Windows Start menu (if pinned)
+
+### 3. CSS Styling ✅
+**Location**: `src/renderer/styles.css`
+
+Updated logo container styles to:
+- Center the logo properly
+- Set max dimensions (200px width, 120px height)
+- Use `object-fit: contain` for proper scaling
+- Maintain aspect ratio
+
+## Logo Assets Available
+
+Your installer includes these logo files in `assets/`:
+
+```
+assets/
+├── dashcaddy logo blue.png (67.58 KB)
+├── DashCaddy logo dark.png (1049.79 KB) - High res
+├── dashcaddy logo icon.png (27.28 KB) - Icon version
+├── dashcaddy logo light.png (16.63 KB)
+├── dashcaddy logo.png (103.98 KB)
+├── dashcaddy-logo.png (103.98 KB) - Used in welcome screen
+├── app-icon.png (27.28 KB) - Used as app icon
+└── icon.ico (15.09 KB) - Windows favicon
+```
+
+## Where Your Logo Appears
+
+### During Installation
+1. **Welcome Screen** - Large logo at top of welcome page
+2. **Window Icon** - Small icon in title bar and taskbar
+3. **Installer Executable** - Icon shown in Windows Explorer
+
+### After Build
+- The built executable (`DashCaddy Installer.exe`) displays your icon
+- Users see your branding throughout the installation process
+
+## Technical Details
+
+### Logo Display Settings
+- **Max Width**: 200px
+- **Max Height**: 120px
+- **Scaling**: Maintains aspect ratio
+- **Alignment**: Centered
+- **Format**: PNG with transparency support
+
+### Icon Requirements
+- **Format**: PNG (electron-builder converts to .ico automatically)
+- **Minimum Size**: 256x256 pixels recommended
+- **Used Icon**: `app-icon.png` (27.28 KB)
+
+## Build Status
+
+✅ **Build Successful** with logo integration
+- Installer rebuilt with proper branding
+- Logo displays correctly in UI
+- App icon shows in Windows
+
+**Build Output**: `dist/win-unpacked/DashCaddy Installer.exe` (168.62 MB)
+
+## Testing Checklist
+
+To verify logo integration:
+
+1. ✅ Run installer: `npm start`
+2. ✅ Check welcome screen shows DashCaddy logo (not "DC" placeholder)
+3. ✅ Check window title bar shows icon
+4. ✅ Check taskbar shows icon when running
+5. ✅ Check .exe file in Explorer shows icon
+6. ✅ Build completes without icon errors
+
+## Future Enhancements
+
+Consider adding:
+- [ ] Animated logo on loading screen
+- [ ] Logo in success/complete screen
+- [ ] Branded splash screen while Electron loads
+- [ ] Custom window frame with logo
+- [ ] Logo in About dialog
+
+## Files Modified
+
+1. `src/renderer/wizard.js` - Added logo image to welcome screen
+2. `src/renderer/styles.css` - Updated logo container styles
+3. `package.json` - Updated icon configuration
+4. `assets/app-icon.png` - Added (copy of dashcaddy logo icon.png)
+
+## Result
+
+Your DashCaddy branding is now fully integrated into the installer. Users will see your professional logo throughout the installation experience, reinforcing your brand identity.
+
+**Status**: Complete and tested ✅
diff --git a/dashcaddy-installer/README-TESTER.txt b/dashcaddy-installer/README-TESTER.txt
new file mode 100644
index 0000000..dae5470
--- /dev/null
+++ b/dashcaddy-installer/README-TESTER.txt
@@ -0,0 +1,149 @@
+DashCaddy v1.0
+==================================
+Copyright (c) 2026 Sami Ahmed. All rights reserved.
+
+This software is provided to you, Nick G, for testing and evaluation
+purposes only. This is pre-release software (beta). You may not
+redistribute, modify, or share this software or any of its components
+without written permission from the author. By using this software you
+acknowledge that Sami Ahmed is the sole author and copyright holder.
+
+Your feedback, bug reports, and pen-testing findings are welcome and
+appreciated — that's the whole point of this test build.
+
+
+WHAT IS DASHCADDY?
+------------------
+DashCaddy is a home lab management platform. It gives you a single
+dashboard to manage Docker containers, a Caddy reverse proxy, and DNS —
+all from a web browser. Think of it as a control panel for self-hosted
+services on your home network.
+
+With DashCaddy you can:
+ - Deploy apps (Plex, Jellyfin, Sonarr, Radarr, etc.) with one click
+ - Manage your reverse proxy (Caddy) so each app gets its own domain
+ - Access everything through a clean web dashboard
+ - Use HTTPS on your local network with an internal Certificate Authority
+
+
+WHAT YOU NEED
+-------------
+ - Windows 10 or 11 (64-bit)
+ - 4 GB RAM minimum
+ - 2 GB free disk space
+ - Internet connection (for downloading Docker and Caddy during setup)
+ - Hardware virtualization enabled in BIOS (required for Docker/WSL2)
+
+
+HOW TO INSTALL
+--------------
+1. Double-click "DashCaddy Installer 1.0.0.exe"
+ - Windows SmartScreen may warn you since this isn't signed software.
+ Click "More info" then "Run anyway" to proceed.
+
+2. WELCOME SCREEN
+ The installer will detect your OS and show you what's included.
+ Click "Next" to continue.
+
+3. DEPENDENCIES
+ The installer checks if Docker and Caddy are installed on your PC.
+ - If Docker is missing, it will download and install Docker Desktop
+ for you. This may require a restart to set up WSL2.
+ - If Caddy is missing, it will download and install the Caddy binary.
+ Click "Next" once both show green checkmarks.
+
+4. INSTALL PATH
+ Choose where DashCaddy will live on your machine.
+ Default is C:\DashCaddy — that's fine for most people.
+
+5. TIER SELECTION
+ Pick what you want to set up:
+ - Basic: Dashboard only (static page, no Docker)
+ - Standard (recommended): Dashboard + API server in Docker
+ - Full Stack: Everything above + DNS management via Technitium
+ For testing, "Standard" is the best starting point.
+
+6. ACCESS MODE
+ How do you want to reach the dashboard?
+ - Local Only: Access via http://localhost:8080 (simplest)
+ - Public Domain: Use a real domain with Let's Encrypt HTTPS
+ - Custom TLD: Use made-up domains like dashcaddy.home, plex.home
+ (requires a DNS server to resolve those names)
+ For testing, "Local Only" is the easiest. You can change this later.
+
+7. DASHBOARD SETUP
+ Customize the name, colors, and logo. Defaults are fine to start.
+
+8. INSTALLATION
+ Watch the progress bar as the installer:
+ - Copies dashboard and API files
+ - Generates your Caddyfile (reverse proxy config)
+ - Generates docker-compose.yml
+ - Creates encryption keys for credential storage
+ - Starts Caddy and the Docker container
+ - Runs health checks
+
+9. COMPLETE
+ You'll see a success screen with your dashboard URL. Click "Open
+ Dashboard" to launch it in your browser.
+
+
+USING THE DASHBOARD
+-------------------
+Once installed, the dashboard is your home base:
+
+ - APP SELECTOR: Browse 50+ app templates (media servers, download
+ managers, chat platforms, etc.). Click "Deploy" on any app and
+ DashCaddy creates the Docker container, sets up the reverse proxy,
+ and adds it to your dashboard automatically.
+
+ - SERVICE CARDS: Each deployed app shows as a card on the dashboard
+ with status (online/offline), quick links, and controls.
+
+ - CADDY MANAGEMENT: View and reload your reverse proxy configuration
+ without touching config files.
+
+ - DNS MANAGEMENT (Full Stack tier): Manage DNS records so your custom
+ domains resolve to the right services.
+
+
+WHAT TO TEST / PENTEST
+----------------------
+Things I'd especially like feedback on:
+
+ 1. Does the installer run cleanly on your machine?
+ 2. Do Docker and Caddy get installed without issues?
+ 3. Can you deploy an app from the app selector?
+ 4. Try breaking things — bad inputs, weird characters in names,
+ rapid clicking, deploying multiple apps at once.
+ 5. Security: the API runs on port 3001. See if you can find any
+ vulnerabilities (injection, auth bypass, path traversal, etc.).
+ 6. Try the different access modes if you're feeling adventurous.
+
+Report anything you find back to me — crashes, confusing steps, security
+issues, or just things that felt weird. Screenshots are always helpful.
+
+
+UNINSTALLING
+------------
+To remove DashCaddy:
+ 1. Stop Docker containers: docker compose down
+ (from the dashcaddy-api folder inside your install path)
+ 2. Stop Caddy (kill the process or close the terminal)
+ 3. Delete the installation folder (e.g. C:\DashCaddy)
+ 4. Optionally uninstall Docker Desktop from Windows Settings
+
+
+KNOWN LIMITATIONS (beta)
+------------------------
+ - The installer exe is not code-signed, so Windows SmartScreen will
+ flag it. This is normal for pre-release software.
+ - Docker Desktop's WSL2 setup may require a Windows restart.
+ - Custom TLD mode requires a DNS server. You can deploy Technitium
+ DNS directly from the app selector and plug it into the dashboard.
+ - Some app templates may need manual configuration after deployment.
+
+
+Thanks for testing, Nick. Your feedback helps make this better.
+
+- Sami
diff --git a/dashcaddy-installer/jest.config.js b/dashcaddy-installer/jest.config.js
new file mode 100644
index 0000000..77321a8
--- /dev/null
+++ b/dashcaddy-installer/jest.config.js
@@ -0,0 +1,18 @@
+module.exports = {
+ testEnvironment: 'node',
+ testMatch: ['**/*.test.js'],
+ collectCoverageFrom: [
+ 'src/**/*.js',
+ '!src/renderer/**/*.js', // Exclude renderer for now
+ '!**/node_modules/**'
+ ],
+ coverageThreshold: {
+ global: {
+ branches: 80,
+ functions: 80,
+ lines: 80,
+ statements: 80
+ }
+ },
+ setupFilesAfterEnv: ['