A comprehensive platform for AI-powered content creation, combining image generation, video production, voice synthesis, and custom AI agents in one unified studio environment.
BilliqAI revolutionizes content creation by consolidating multiple AI generation capabilities into a single, powerful platform:
- Image Studio: Advanced AI image generation with brand consistency and batch processing
- Video Studio: Professional video creation with AI avatars, lip-sync, and multi-language dubbing
- Voice Studio: Natural voice synthesis with emotion control and voice cloning capabilities
- Agent Studio: Custom AI agent builder with visual workflow designer and business integrations
- Enterprise Security: SOC 2 compliant with comprehensive data protection and audit logging
- Unified Workflows: Seamless integration between all AI generation types, saving 50% vs separate tools
/
├── apps/ # Application packages
│ ├── web/ # Next.js frontend application
│ ├── api/ # NestJS API backend
│ └── worker/ # Background task processor
├── packages/ # Shared packages
│ ├── database/ # Database schemas and client
│ ├── ai/ # AI model integrations
│ ├── mcp/ # Message Control Protocol implementation
│ ├── ui/ # Shared UI components
│ └── config/ # Shared configuration
├── infrastructure/ # Deployment and infrastructure code
├── scripts/ # Development and utility scripts
└── docs/ # Documentation
- Node.js 20+
- pnpm 8+
- Docker and Docker Compose
- AWS Account (for production deployment)
-
Clone the repository:
git clone https://github.com/yourusername/billiq-ai.git cd billiq-ai -
Install dependencies:
pnpm install
-
Set up environment variables:
cp .env.example .env.dev # Edit .env.dev with your configuration -
Start the development environment:
# Using Docker (Recommended) pnpm run docker:dev # Or start specific services pnpm run dev:web # Start web frontend only pnpm run dev:api # Start API backend only
-
Access the application:
- Web UI: http://localhost:3000
- API: http://localhost:3001
- API Documentation: http://localhost:3001/docs
For a complete development environment with all services:
# Start development stack
pnpm run docker:dev
# View logs
pnpm run docker:dev:logs
# Stop services
pnpm run docker:dev:down
# Clean up
pnpm run docker:cleanSee DOCKER.md for detailed Docker setup and deployment instructions.
pnpm run dev:all- Start all services in parallelpnpm run dev:web- Start web frontend onlypnpm run dev:api- Start API backend onlypnpm run build- Build all packagespnpm run lint- Lint all packagespnpm run format- Format all codepnpm run test- Run tests across all packages
pnpm run docker:dev- Start development environmentpnpm run docker:dev:down- Stop development environmentpnpm run docker:dev:logs- View development logspnpm run docker:prod- Start production environmentpnpm run docker:prod:down- Stop production environmentpnpm run docker:prod:observability- Start production with monitoringpnpm run docker:build:dev- Build development imagepnpm run docker:build:prod- Build production imagepnpm run docker:clean- Clean up Docker resources
pnpm run dev:api- Start API in development modepnpm run start:api- Start API in production modecd apps/api && pnpm run build- Build API onlycd apps/api && pnpm run test- Test API only
The NestJS API provides comprehensive documentation through Swagger UI:
- Swagger UI: http://localhost:3001/docs
- API Base URL: http://localhost:3001/api/v1
GET /api/v1/users- Get all users (with pagination)GET /api/v1/users/:id- Get user by IDGET /api/v1/users/email/:email- Get user by emailPOST /api/v1/users- Create a new userPUT /api/v1/users/:id- Update userDELETE /api/v1/users/:id- Delete user
We follow a standardized Git workflow to ensure code quality and consistent commits:
When you commit changes, the following automated steps happen:
-
Pre-commit Hook:
- Stashes any unstaged changes temporarily
- Formats staged files using Biome
- Lints staged files using Biome
- Adds the freshly formatted files to staging
- Restores any previously unstaged changes
-
Commit Message Validation:
- Enforces conventional commit format (e.g.,
feat: add new feature) - Valid types:
feat,fix,docs,style,refactor,perf,test,chore,ci,build,revert
- Enforces conventional commit format (e.g.,
All commits must follow the Conventional Commits specification:
<type>[optional scope]: <description>
[optional body]
[optional footer(s)]
Examples:
feat: add user authenticationfix(api): resolve rate limiting issuedocs: update README with new instructions
If the pre-commit hook fails:
- Review the error messages
- Fix the issues manually:
pnpm format:write # Fix formatting pnpm lint:fix # Fix linting
- Stage your changes and try committing again
We use Biome for code formatting and linting across the codebase. Biome provides a unified tool for both operations, resulting in faster and more consistent code.
-
Format code:
pnpm format
-
Lint code:
pnpm check
-
Fix linting issues:
pnpm lint:fix
The repository is configured with Git hooks that automatically:
- Format and lint staged files before committing
- Validate commit message format to ensure consistency
It's recommended to install the Biome extension for your editor:
- Frontend: Next.js 15, React 19, Tailwind CSS 4
- Backend: NestJS, TypeScript, Express
- Database: PostgreSQL, Prisma ORM
- Vector Database: Pinecone (for AI agent knowledge)
- Message Queue: BullMQ (Redis-based task processing)
- AI Providers: OpenAI, Stability AI, ElevenLabs, Runway (multi-provider support)
- Infrastructure: AWS (S3, CloudFront, EC2), Docker, Kubernetes
- Analytics: Kafka, Custom metrics
- Authentication: Better-auth with enterprise SSO
- Payments: Stripe with usage-based billing
- Code Quality: Biome (formatting and linting)
- Monitoring: Custom observability with AWS CloudWatch
See CONTRIBUTING.md for detailed contribution guidelines.
This project is licensed under the MIT License - see the LICENSE file for details.