Where Human Vision Meets Intelligent Automation.
A premium, modular automation platform built to help small and medium businesses streamline operations, capture every lead, and scale with confidence β without the enterprise price tag.
SMEFlow turns operational chaos into organised, intelligent workflows. Designed specifically for growing SMEs, it replaces scattered spreadsheets, missed follow-ups, and disconnected tools with a unified, beautifully designed system.
The front end is built with React + Vite, featuring a premium, cinematic UI powered by Framer Motion for smooth transitions and micro-interactions. Real-time data is handled by Supabase (PostgreSQL), and the entire app is deployed globally on Vercel.
| Feature | Description |
|---|---|
| Lead Management | Centralise and track customer inquiries with conversion visibility |
| Automated Follow-Ups | Rule-based reminders ensure no opportunity or payment is ever missed |
| Sales Pipeline | Stage-based deal tracking with clear forecasting |
| Contact Form | Live inquiry capture β data lands in Supabase in real-time |
| FAQ System | Dynamic accordion FAQs managed directly from the admin panel |
A password-protected, ultra-dark themed control center β invisible to regular users.
| Capability | Detail |
|---|---|
| π Live Stat Cards | See total, pending, in-process, and completed inquiries at a glance |
| π Search & Filter | Search by name, email, company, or message; filter by status |
| π Smart Sort | Sort by date (newest/oldest), name (AβZ), or status |
| π·οΈ Status Management | One-click status update: Not Started β In Process β Done |
| π¦ Content Management | Manage pricing plans, team members, and FAQs live β no code required |
| βοΈ Settings | Change admin password, clear completed inquiries with a confirmation guard |
| π Auth Gate | Password-protected session with localStorage persistence |
- Framer Motion β Cinematic page transitions, staggered reveals, and
AnimatePresencecard animations - Glassmorphism β Deep gradients, rich overlays, and glowing gold accents
- Toast System β Instant non-blocking feedback on every user action
- 3D Buttons β Tactile press-down effect with layered
box-shadow - Responsive β Full mobile-friendly layout with animated hamburger menu
| Category | Technology |
|---|---|
| Framework | React 18 |
| Build Tool | Vite 5 |
| Routing | React Router DOM v6 |
| Database | Supabase (PostgreSQL) |
| Animations | Framer Motion |
| Styling | Vanilla CSS (Flexbox/Grid, CSS Variables, Glassmorphism) |
| Auth | Custom context-based auth with localStorage session |
| Deployment | Vercel |
| Icons | Custom embedded inline SVGs |
SMEFlow/
βββ public/ # Static assets
βββ src/
β βββ components/
β β βββ Header.jsx # Navbar with conditional Admin link
β β βββ Footer.jsx # Site footer with links
β β βββ Layout.jsx # Page wrapper (Header + Footer)
β β βββ PageTransition.jsx # Route transition animations
β β βββ ProtectedRoute.jsx # Auth guard β redirects to /login
β β βββ ContentManager.jsx # π¦ Live CRUD for Pricing, Team, FAQs
β βββ context/
β β βββ AuthContext.jsx # Auth state, login, logout, changePassword
β β βββ ToastContext.jsx # Global toast notification system
β βββ lib/
β β βββ supabase.js # Supabase client (reads from .env)
β βββ services/
β β βββ api.js # API helpers (Inquiries, Plans, Team, FAQs)
β βββ pages/
β β βββ Home.jsx # Homepage with hero & CTA
β β βββ Features.jsx # Feature showcase grid
β β βββ Pricing.jsx # Dynamic pricing from Supabase
β β βββ About.jsx # Dynamic team profiles from Supabase
β β βββ Contact.jsx # Contact form + FAQ accordion
β β βββ LeadManagement.jsx # Lead management feature page
β β βββ AutomatedFollowUps.jsx # Follow-ups feature page
β β βββ LandingPage.jsx # Standalone cinematic landing page
β β βββ Dashboard.jsx # π Admin panel with all controls
β β βββ Login.jsx # π Admin login gate
β βββ App.jsx # Router, auth provider, global loader
β βββ main.jsx # React entry point
β βββ index.css # Global stylesheet (1500+ lines)
βββ .env # π Supabase credentials (git-ignored)
βββ .env.example # Template β safe to commit
βββ vercel.json # SPA rewrite rules for Vercel
βββ index.html # HTML entry point
βββ package.json # Dependencies and scripts
βββ vite.config.js # Vite configuration
git clone https://github.com/baryansagar74-create/SMEFlow.git
cd SMEFlownpm installcp .env.example .envEdit .env and add your Supabase project credentials:
VITE_SUPABASE_URL=https://your-project.supabase.co
VITE_SUPABASE_ANON_KEY=your-anon-keyIn your Supabase SQL Editor, run:
-- Inquiries table
CREATE TABLE inquiries (
id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
created_at TIMESTAMPTZ DEFAULT now(),
name TEXT NOT NULL,
email TEXT NOT NULL,
company TEXT,
message TEXT NOT NULL,
status TEXT DEFAULT 'not_started'
);
-- Pricing Plans table
CREATE TABLE pricing_plans (
id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
created_at TIMESTAMPTZ DEFAULT now(),
name TEXT NOT NULL,
subtitle TEXT,
price TEXT NOT NULL,
features TEXT,
button_text TEXT DEFAULT 'GET STARTED',
is_popular BOOLEAN DEFAULT false,
display_order INT DEFAULT 0
);
-- Team Members table
CREATE TABLE team_members (
id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
created_at TIMESTAMPTZ DEFAULT now(),
name TEXT NOT NULL,
role TEXT,
bio TEXT,
image_url TEXT,
display_order INT DEFAULT 0
);
-- FAQs table
CREATE TABLE faqs (
id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
created_at TIMESTAMPTZ DEFAULT now(),
question TEXT NOT NULL,
answer TEXT NOT NULL,
display_order INT DEFAULT 0
);Enable Row Level Security (RLS) and set public access policies:
ALTER TABLE inquiries ENABLE ROW LEVEL SECURITY;
ALTER TABLE pricing_plans ENABLE ROW LEVEL SECURITY;
ALTER TABLE team_members ENABLE ROW LEVEL SECURITY;
ALTER TABLE faqs ENABLE ROW LEVEL SECURITY;
CREATE POLICY "Public access" ON inquiries FOR ALL USING (true) WITH CHECK (true);
CREATE POLICY "Public access" ON pricing_plans FOR ALL USING (true) WITH CHECK (true);
CREATE POLICY "Public access" ON team_members FOR ALL USING (true) WITH CHECK (true);
CREATE POLICY "Public access" ON faqs FOR ALL USING (true) WITH CHECK (true);npm run devThe app will be available at http://localhost:5173.
npm run build- Push your code to GitHub
- Import the repository at vercel.com/new
- In Project Settings β Environment Variables, add:
VITE_SUPABASE_URLβ your Supabase project URLVITE_SUPABASE_ANON_KEYβ your Supabase anon key
- Deploy β Vercel auto-detects Vite and handles everything
The
vercel.jsonfile already includes the SPA rewrite rule so all routes (including/admin) resolve correctly.
The admin panel is completely hidden from regular users β it doesn't appear in the nav until you're authenticated.
- Navigate to
yoursite.com/admin - You'll be redirected to the login page automatically
- Enter the admin password
- Once logged in, the ADMIN link appears in the navbar
- Manage inquiries, website content (pricing, team, FAQs), and settings from one panel
β οΈ Security Note: The default password is stored inAuthContext.jsx. Change it from inside the Settings panel after first login β the new password is stored inlocalStorageencrypted by key.
| Token | Value |
|---|---|
| Background | linear-gradient(135deg, #E9E2D0, #D4CCB8) |
| Primary Dark | linear-gradient(135deg, #1C3E4D, #112A35) |
| Gold Accent | #F0B90B |
| Base Text | #F5F3E7 (Off-White) |
| Admin BG | #0F1114 β #1A1D23 (Ultra-dark) |
| Heading Font | Oswald (bold, tracked) |
| Body Font | Inter (highly legible) |
All components follow consistent labelling conventions (e.g. /* ===== IMPORTS ===== */, /* ===== RENDER ===== */) for maximum readability. Please maintain this standard when contributing.
- Fork the repository
- Create a feature branch:
git checkout -b feat/my-feature - Copy
.env.exampleβ.envand add your credentials - Commit your changes:
git commit -m 'feat: add my feature' - Push and open a Pull Request
MIT Β© SMEFlow