Digital Ally (formerly BizBoost) is an advanced AI-powered platform designed to instantly generate professional websites, business newsletters, and analytical dashboards. Built with React, TypeScript, and powered by Google's Gemini 2.5 Flash model, it bridges the gap between business ideas and digital presence.
- AI Website Generation: Transform text descriptions into fully responsive, modern landing pages using Tailwind CSS.
- Dynamic Content Creation: Automatically generates business newsletters and marketing copy customized for your brand.
- Smart Dashboard & Analytics: Get AI-driven insights and translations for business performance metrics.
- Voice Interaction:
- Speech-to-Text: Dictate your website requirements and prompts.
- Text-to-Speech: Listen to generated content and insights.
- Customization: Choose from curated color palettes and modify generated designs with follow-up prompts.
- Multi-Language Support: Interactive interface supporting multiple languages.
- Live Preview & Code Export: View changes in real-time and export clean, deployment-ready HTML/CSS code.
- Privacy Controls: Versioned consent before remote AI processing, local-only generation, and one-click data deletion.
- Frontend Framework: React 19
- Build Tool: Vite
- Language: TypeScript
- Styling: Tailwind CSS
- AI Model: Google Gemini 2.5 Flash via
@google/genaiSDK - Environment: Node.js
git clone <repository-url>
cd digital-allynpm installCopy the example file:
cp .env.example .envUpdate the values:
GEMINI_API_KEY=your_gemini_api_key
GEMINI_MODEL=gemini-2.5-flash
SERVER_CLIENT_TOKEN=replace_with_secure_random_token
AI_CONSENT_VERSION=2026-06-21
# Optional Redis Configuration
REDIS_HOST=localhost
REDIS_PORT=6379
# Optional Server Configuration
PORT=5174
DAILY_QUOTA=100
MONTHLY_QUOTA=1000npm run devDefault Vite URL:
http://localhost:5173
npm run start:serverDefault API URL:
http://localhost:5174
| Script | Description |
|---|---|
| npm run dev | Start Vite development server |
| npm run build | Validate translations and create production build |
| npm run check:translations | Verify translation coverage |
| npm run lint:structure | Verify the expected folder layout and file locations |
| npm run lint:architecture | Alias for the structure and naming check |
| npm run preview | Preview production build locally |
| npm run start:server | Start Express AI proxy server |
No business details or generated content are persisted by Digital Ally. Users must choose remote AI processing or local-only templates before using generation features. See PRIVACY.md for the data-flow, retention, deletion, logging, and deployment policy.
digital-ally/
β
βββ public/
β βββ privacy.html
β
βββ scripts/
β βββ check-translations.mjs
β
βββ server/
β βββ index.js
β βββ ...
β
βββ src/
β βββ app/
β β βββ App.tsx
β β βββ context/
β β β βββ AppContext.tsx
β β βββ styles.css
β βββ components/
β β βββ IconSet.tsx
β βββ hooks/
β βββ pages/
β βββ features/
β β βββ generation/
β β βββ geminiService.ts
β βββ shared/
β βββ constants.ts
β βββ privacy.ts
β βββ types.ts
β
βββ .env.example
βββ package.json
βββ vite.config.ts
βββ tsconfig.json
βββ README.md
βββ src/main.tsx
- Enter Business Details: Provide your name, business name, and contact info.
- Describe Your Vision: Use the text area or microphone to describe the website you want (e.g., "A modern coffee shop website with a menu section").
- Select Style: Choose a color palette that fits your brand identity.
- Generate: Click "Generate Website" to watch the AI build your site in seconds.
- Refine: Use the modification prompt to ask for changes (e.g., "Make the hero section darker").
Error:
GEMINI_API_KEY not set in server environment
Solution:
- Verify
.envexists. - Verify
GEMINI_API_KEYis populated. - Restart the server.
Error:
Redis connection error
Solution:
- Start Redis locally.
- Verify
REDIS_HOSTandREDIS_PORT. - The application will continue running with reduced quota functionality.
Run:
npm run check:translationsFix missing translation keys before rebuilding.
Change:
PORT=5174or stop the process using the port.
- Requires a valid Gemini API key.
- Voice features depend on browser support.
- Generated content quality depends on prompt quality.
- Redis quota tracking is unavailable when Redis is offline.
- AI features require internet connectivity.
- Browser speech APIs may behave differently across platforms.
We welcome ELUSOC contributors. Please read the contribution guide before opening issues or pull requests:
Please review the security policy for reporting vulnerabilities:
This project is licensed under the MIT License.
src/appcontains the application shell and context providers.src/featurescontains feature-specific services and workflows.src/sharedcontains cross-cutting constants, types, and privacy helpers.- React components use
PascalCase. - Shared utilities and services use
camelCase. - Shared barrel modules may use descriptive names like
IconSet.tsxwhen they re-export a group of helpers. - The Vite entrypoint is
src/main.tsx. - The
@/alias points atsrc/for cleaner imports.