magic-a

byLucifer

Build a production-ready, revenue-generating micro SaaS similar to Carrd (one-page website builder). This should be a complete, deployable application with the following specifications: ## PRODUCT OVERVIEW Create a drag-and-drop, browser-based one-page website builder that allows users to: - Create unlimited single-page websites (landing pages, portfolios, link-in-bio, product showcases) - Use 50+ pre-built responsive templates - Customize layouts, colors, fonts, images, and content blocks - Add forms (contact, email signup, payment-enabled) - Connect custom domains with automatic SSL - Publish instantly with subdomain (yoursite.myapp.com) or custom domain ## TECH STACK (optimized for quick launch) - Frontend: React + Next.js 14 (App Router) + Tailwind CSS + shadcn/ui components - Drag-and-drop: dnd-kit or react-beautiful-dnd - Backend: Node.js + Express or Next.js API routes - Database: PostgreSQL (Supabase or Neon) with Prisma ORM - Auth: Clerk or NextAuth (Google/GitHub login) - Hosting: Vercel (frontend) + Supabase (backend/db) - Payments: Stripe (subscription billing) - Domains: Vercel Domains API or custom domain routing - Email: Resend or SendGrid for notifications - Storage: Vercel Blob or AWS S3 for images ## CORE FEATURES (MVP) ### 1. User Authentication - Sign up/login with email + password or Google OAuth - User dashboard to manage all their sites - Profile settings (name, email, password reset) ### 2. Website Builder (Drag-and-Drop Editor) - Visual editor with live preview - Left sidebar: element library (Text, Image, Button, Form, Video, Icons, Social Links, Embed) - Main canvas: drag elements to position, resize, reorder - Right sidebar: element properties (color, font, size, spacing, alignment) - Mobile/tablet/desktop preview toggle - Undo/redo functionality - Auto-save every 5 seconds ### 3. Template Library - 50+ pre-built templates (categories: Portfolio, Landing Page, Product, Event, Link-in-Bio, Coming Soon) - One-click template apply (replaces content, keeps user's branding) - Template preview before applying ### 4. Customization Options - Global site settings: primary color, font family, background color/image - Typography: heading fonts, body fonts, font sizes - Spacing: padding, margins, section gaps - Animations: fade-in, slide-up, subtle hover effects - Custom code injection (Pro plans only): HTML/CSS/JS in head/body ### 5. Forms & Integrations - Contact form (sends to user's email) - Email signup form (integrates with Mailchimp, ConvertKit, or custom webhook) - Payment form (Stripe Checkout integration for selling products/services) - Embed widgets: YouTube, Vimeo, Google Maps, Typeform, Calendly, Gumroad ### 6. Publishing & Domains - Free subdomain: username.myapp.com - Custom domain support (CNAME routing via Vercel or custom DNS setup) - Automatic SSL certificate (Let's Encrypt) - One-click publish button - Site status (draft/published) ### 7. Analytics (Basic) - Visitor count (daily/weekly/monthly) - Page views - Traffic sources (direct, social, search) - Google Analytics integration (user can paste their GA4 ID) ### 8. Pricing & Monetization (Stripe) - FREE plan: 3 sites, subdomain only, "Made with [YourApp]" badge - PRO LITE: $9/year - 1 site, custom domain, remove badge - PRO STANDARD: $19/year - 10 sites, all features, custom domains, forms - PRO PLUS: $49/year - 25 sites, payment forms, custom code, priority support Implement Stripe Checkout with: - Annual billing only (simpler than monthly) - Customer portal for subscription management - Webhook handling for payment success/failure/cancellation ## DATABASE SCHEMA (Prisma) User { id: String (UUID) email: String (unique) name: String stripeCustomerId: String plan: Enum (FREE, PRO_LITE, PRO_STANDARD, PRO_PLUS) createdAt: DateTime } Site { id: String (UUID) userId: String (FK) name: String slug: String (unique, for subdomain) customDomain: String (nullable, unique) template: String config: JSON (colors, fonts, etc.) content: JSON (all elements and their properties) published: Boolean analytics: JSON (views, sources) createdAt: DateTime updatedAt: DateTime } Subscription { id: String (UUID) userId: String (FK) stripeSubscriptionId: String status: Enum (active, canceled, past_due) currentPeriodEnd: DateTime } ## UI/UX REQUIREMENTS - Clean, modern interface (inspired by Carrd, Webflow, Framer) - Dark mode support - Mobile-responsive editor - Onboarding tutorial (interactive walkthrough for first-time users) - Empty states with helpful CTAs - Toast notifications for actions (save, publish, error) - Loading states for async actions ## SECURITY & COMPLIANCE - Rate limiting on API routes - Input sanitization (XSS prevention) - CSRF protection - Secure password hashing (bcrypt) - GDPR-compliant (user data export/delete) - Terms of Service + Privacy Policy pages ## DEPLOYMENT - Deploy to Vercel with environment variables - Set up Supabase project with migrations - Configure Stripe webhooks - Add custom domain DNS instructions in docs - Include .env.example file with all required variables ## BONUS FEATURES (If Time Permits) - AI-powered content generator (fill template with AI-written copy) - A/B testing (split traffic between two versions) - Team collaboration (invite editors) - Site cloning (duplicate existing site) - Version history (restore previous versions) - Export site as HTML/CSS (Pro Plus feature) ## DELIVERABLES 1. Complete Next.js project with all components 2. Prisma schema with migrations 3. Stripe integration (checkout, webhooks, customer portal) 4. Drag-and-drop editor with live preview 5. Template library with 10+ starter templates 6. User dashboard to manage sites 7. Public site rendering (SSR for SEO) 8. Documentation (README.md with setup instructions) ## SUCCESS METRICS - User can sign up → create a site → publish in under 5 minutes - Stripe checkout works end-to-end - Custom domains resolve correctly - Sites load in under 1 second (Lighthouse score >90) - Mobile-responsive out of the box Build this as a production-ready MVP that can launch and start generating revenue within 7 days.

LandingUsersPublic SiteTemplatesLoginSignup
Landing

Comments (0)

No comments yet. Be the first!

System Requirements

System Requirement Document
Page 1 of 6

magic-a System Requirements Document

1. Introduction

The purpose of this document is to outline the system requirements for the "magic-a" project, a micro SaaS platform designed to be a one-page website builder similar to Carrd. The goal is to create a production-ready, revenue-generating application that allows users to create and publish single-page websites with ease.

2. System Overview

The "magic-a" project is a drag-and-drop, browser-based one-page website builder. It enables users to create unlimited single-page websites such as landing pages, portfolios, link-in-bio pages, and product showcases. The platform offers over 50 pre-built responsive templates and allows for extensive customization of layouts, colors, fonts, images, and content blocks. Users can add forms, connect custom domains with automatic SSL, and publish instantly with a subdomain or custom domain.

2a. Source Content Inventory

  • Templates: 50+ pre-built responsive templates
  • Domains: Vercel Domains API or custom domain routing
  • Payments: Stripe for subscription billing
  • Email: Resend or SendGrid for notifications
  • Storage: Vercel Blob or AWS S3 for images
Page 2 of 6

3. Functional Requirements as Story Points

  • As a User, I should be able to sign up/login with email and password or Google OAuth.
  • As a User, I should have a dashboard to manage all my sites.
  • As a User, I should be able to customize my profile settings.
  • As a User, I should be able to use a drag-and-drop editor with live preview to build my site.
  • As a User, I should be able to access a library of elements to add to my site.
  • As a User, I should be able to customize element properties such as color, font, and size.
  • As a User, I should be able to preview my site on mobile, tablet, and desktop.
  • As a User, I should be able to apply templates to my site with one click.
  • As a User, I should be able to customize global site settings like primary color and font family.
  • As a User, I should be able to add forms and integrate them with third-party services.
  • As a User, I should be able to publish my site with a subdomain or custom domain.
  • As a User, I should be able to view basic analytics for my site.
  • As a User, I should be able to manage my subscription through a customer portal.
  • As a User, I should be able to receive notifications for actions like save and publish.

4. User Personas

  • Admin: Manages the platform, oversees user activities, and handles support.
  • User: Creates and manages websites using the platform.
  • Guest: Browses the platform and views public sites.
Page 3 of 6

5. Core User Flows

  • User signs up → creates a site using the drag-and-drop editor → customizes site settings → publishes site → manages site from dashboard.
  • User accesses template library → previews and applies a template → customizes content → adds forms and integrations → publishes site.
  • User views analytics → adjusts site based on insights → updates site content → republishes site.

6. Visuals Colors and Theme

  • primary: #1E40AF (Indigo)
  • primary_light: #3B82F6 (Light Blue)
  • secondary: #F97316 (Orange)
  • accent: #10B981 (Green)
  • highlight: #F59E0B (Amber)
  • bg: #F3F4F6 (Light Gray)
  • surface: #FFFFFF (White)
  • text: #111827 (Dark Gray)
  • text_muted: #6B7280 (Gray)
  • border: #D1D5DB (Light Gray)

7. Signature Design Concept

The homepage will feature an interactive "Website Builder Journey" animation. Users will see a dynamic illustration of a blank canvas transforming into a fully designed webpage. As users scroll, elements like text, images, and buttons will animate into place, showcasing the drag-and-drop functionality. The animation will use motion/react for smooth transitions and interactions, allowing users to click and drag elements within the animation to see real-time changes.

Page 4 of 6

LANDING HERO MOTION BRIEF

The landing hero will depict a blank canvas that gradually fills with elements like text blocks, images, and buttons as users scroll. The animation will loop every 10 seconds, showing the transformation from a blank page to a complete website. Users can interact by dragging elements within the animation, demonstrating the platform's capabilities. The animation will be responsive, adjusting to different screen sizes while maintaining clarity and engagement.

8. Interaction Model & Motion Direction

  • Intended Interaction Model: Animated
  • The landing page will feature moderate scroll-triggered reveals and hover transitions. Interactive elements will have spring physics for a polished experience. Internal pages will maintain a static layout for clarity.

9. Non-Functional Requirements

  • The application must be scalable to handle a large number of users.
  • The system should be responsive and mobile-friendly.
  • The platform must ensure data security and comply with GDPR regulations.
Page 5 of 6

10. Tech Stack

  • Frontend: React + Next.js 14, Tailwind CSS, shadcn/ui components
  • Drag-and-drop: dnd-kit or react-beautiful-dnd
  • Backend: Node.js + Express or Next.js API routes
  • Database: PostgreSQL (Supabase or Neon) with Prisma ORM
  • Auth: Clerk or NextAuth
  • Hosting: Vercel (frontend) + Supabase (backend/db)
  • Payments: Stripe
  • Domains: Vercel Domains API
  • Email: Resend or SendGrid
  • Storage: Vercel Blob or AWS S3

11. Assumptions and Constraints

  • The platform will initially support English language only.
  • The application will be hosted on Vercel for frontend and Supabase for backend.
  • Stripe will handle all payment processing.
Page 6 of 6

12. Glossary

  • MVP: Minimum Viable Product
  • SaaS: Software as a Service
  • SSL: Secure Sockets Layer
  • OAuth: Open Authorization
  • API: Application Programming Interface
  • GDPR: General Data Protection Regulation

This document outlines the comprehensive requirements for the "magic-a" project, ensuring a clear path from development to deployment.

Landing design preview
Login: Sign In
Admin Dashboard: View Overview
Admin Dashboard: Manage Users
Users: Edit User
Users: Suspend Account
Admin Dashboard: View Sites
Sites: Moderate Content
Admin Dashboard: View Subscriptions
Subscriptions: Manage Billing
Support: View Tickets
Support: Resolve Ticket
Settings: Configure Platform
Landing design preview
Login: Sign In
Admin Dashboard: View Overview
Admin Dashboard: Manage Users
Users: Edit User
Users: Suspend Account
Admin Dashboard: View Sites
Sites: Moderate Content
Admin Dashboard: View Subscriptions
Subscriptions: Manage Billing
Support: View Tickets
Support: Resolve Ticket
Settings: Configure Platform