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.
No comments yet. Be the first!