-
Notifications
You must be signed in to change notification settings - Fork 1
Architecture
John Williams edited this page Mar 18, 2026
·
1 revision
| Layer | Technology |
|---|---|
| Frontend | Vanilla JavaScript (ES modules), single HTML file |
| Styling | Custom CSS with CSS variables (dark theme design system) |
| Auth | Google Identity Services (GSI) OAuth |
| Backend (optional) | PHP 7+ REST API |
| Cloud Backend | Supabase (PostgreSQL, Edge Functions, Auth, Realtime) |
| Media Processing | Cloudinary (upload, transform, CDN, AI) |
| AI Providers | Google Gemini, OpenAI GPT, Anthropic Claude |
| Image Gen | Google Imagen (Nano Banana), DALL-E 3 |
| Video Gen | Google Veo 3.1 |
| Local Storage | IndexedDB, localStorage |
index.html # Single-page application shell
βββ security-production.js # Auth gate, HTTPS enforcement
βββ validator-app.js # Core app logic, navigation, asset management
βββ validator.css # Complete design system
β
βββ ai-adapter.js # AI outpainting, image-to-video
βββ ai-enhanced-analysis.js # Multi-model creative analysis
βββ ai-intelligence-engine.js # Chained AI pipeline
βββ ai-library-integration.js # Asset cards, channel specs, AI generation
βββ ai-library-manager.js # Session-based AI asset library
βββ ai-model-selector.js # User model selection UI
βββ ai-models-config.js # Provider/model configuration
βββ ai-orchestrator.js # Task routing across AI providers
βββ ai-studio.js # Text-to-image, outpainting UI
β
βββ cloudinary-client.js # Cloudinary upload, transform, resize
βββ auto-fix.js # Batch fix workflow
β
βββ crm.js # Client/project management
βββ integrations.js # Google Drive, Sheets, Gmail, Dropbox, Slack
βββ google-ads-builder.js # Google Ads campaign builder
βββ social-media-builder.js # Meta/LinkedIn/X/TikTok ad builder
βββ keyword-analyzer.js # Keyword research + landing page analysis
βββ strategy-module.js # Campaign strategy planning
βββ learn-module.js # URL analyzer, swipe file, benchmarks
βββ analyze-module.js # Creative analysis (hook, CTA, brand)
βββ settings-module.js # API keys, preferences, brand profiles
βββ logo-generator.js # Brand kit generator
β
βββ video-analyzer.js # Video analysis orchestrator
βββ video-analyzer-v2.js # Advanced paid-media video analysis
βββ video-analyzer-ui.js # Video analysis UI
βββ video-intelligence-engine.js # Full video pipeline
βββ video-intelligence-client.js # Server-side video integration
βββ video-frame-extractor.js # Frame extraction (Cloudinary + canvas)
βββ video-extraction-layer.js # URL normalization, metadata, thumbnails
β
βββ security-core.js # AES-256-GCM encryption, sessions
βββ auth-config.production.js # OAuth client ID, admin list
β
βββ supabase-backend.js # Main Supabase client
βββ supabase-full-integration.js # CRM/asset Supabase wiring
βββ supabase-video-client.js # Video analysis Supabase client
βββ supabase-video-processor.js # Server-side video processing
β
βββ data-models.js # Data model definitions
βββ unified-storage.js # Storage abstraction (IDB + Supabase)
βββ sync-engine.js # Bidirectional sync
βββ realtime-sync.js # Real-time Supabase subscriptions
βββ persistence-ui.js # Save/load UI state
βββ advanced-features.js # Additional features
βββ advanced-toolbar.js # Toolbar components
βββ sw.js # Service worker (offline support)
ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ
β Browser ββββββΆβ Cloudinary ββββββΆβ CDN β
β (IndexedDB) β β (Process) β β (Deliver) β
ββββββββ¬ββββββββ ββββββββββββββββ ββββββββββββββββ
β
β Sync
βΌ
ββββββββββββββββ ββββββββββββββββ
β Supabase ββββββΆβ Edge Func β
β (Postgres) β β (Process) β
ββββββββββββββββ ββββββββββββββββ
- Asset metadata and thumbnails
- CRM data (companies, projects, contacts)
- User preferences and API keys (encrypted)
- Analysis history
- Offline queue for pending changes
- User profiles and auth
- Shared API keys
- CRM entities
- Video analyses
- Activity logs
- Real-time subscriptions
- Original uploaded assets
- Transformed/resized derivatives
- CDN URLs for delivery
- Video frame extraction
Google Sign-In β Token Validation β Session Creation β Domain Check
β
βββββββΌββββββ
β β
Personal Corporate
(any Gmail) (domain-restricted)
Optional PHP backend for self-hosted deployments:
api/
βββ index.php # Router (REST endpoints)
βββ core/
β βββ Auth.php # Google token validation, sessions
β βββ Database.php # MySQL connection
β βββ Response.php # JSON response helpers
βββ services/
β βββ CloudinaryService.php # Signed transforms, quota
βββ config/
βββ config.example.php # Database + Cloudinary credentials
| Platform | Config File | Notes |
|---|---|---|
| Netlify | netlify.toml |
Static hosting + security headers |
| Vercel | vercel.json |
Static hosting + security headers |
| Cloudflare Pages | _headers |
Static hosting |
| Self-hosted | .htaccess |
Apache + PHP for API |