AI Data Annotation & Task Marketplace Platform
A scalable, distributed workforce platform for AI training data annotation, evaluation, and quality assurance. Inspired by Scale AI, Remotasks, and modern RLHF operations.
HiveAI enables organizations to:
- Create and manage AI annotation projects
- Recruit and onboard a qualified global workforce
- Assign tasks and track completion
- Validate quality through multi-level reviews
- Automate payments via Safaricom M-Pesa
- Monitor performance with real-time analytics
- Prevent fraud with advanced detection systems
HiveAI/
βββ hiveai-api/ # Node.js/Express backend API
βββ hiveai-web/ # Nuxt 3 frontend application
βββ README.md # This file
cd hiveai-api
npm install
cp .env.example .env
npm run devBackend runs on http://localhost:5000
cd hiveai-web
npm install
npm run devFrontend runs on http://localhost:3000
- Backend README - API documentation, setup, and architecture
- Frontend README - UI setup, components, and features
βββββββββββββββββββββββ
β Frontend (Nuxt) β
βββββββββββββββββββββββ€
β Components, Pages β
β Stores, Composablesβ
ββββββββββββ¬βββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββ
β Backend API (Express.js) β
βββββββββββββββββββββββββββββββββββββββ€
β Controllers, Services, Repositories β
ββββββββββββ¬βββββββββββββββββββββββββββ
β
βββββββ΄ββββββ
βΌ βΌ
MongoDB Redis
- Multi-role authentication (Admin, Client, Worker, Reviewer)
- Profile management and verification
- Worker onboarding and qualification
- Performance tracking and leaderboards
- Create and configure annotation projects
- Support for multiple task types:
- Image annotation (bounding boxes, segmentation, keypoints)
- Text tasks (sentiment, toxicity, ranking)
- Audio tasks (transcription, classification)
- Video annotation
- AI evaluation tasks
- Intelligent task assignment based on worker skills
- Real-time task status updates
- Multi-level review pipeline (automated, human, senior, admin)
- Quality scoring and metrics
- Accuracy and consistency tracking
- Dispute resolution
- Safaricom M-Pesa integration
- STK Push for deposits
- B2C withdrawals
- Wallet management
- Transaction history and reconciliation
- Payment automation
- Real-time dashboard metrics
- Project performance analytics
- Worker performance tracking
- Quality metrics and trends
- Payment reports
- JWT-based authentication
- Role-based access control
- Rate limiting and request throttling
- Helmet security headers
- VPN and proxy detection
- Device fingerprinting
- Anomaly detection
- Automated fraud alerts
- Socket.IO for live updates
- Task notifications
- Payment confirmations
- Real-time collaboration
- Nuxt 3 - Meta framework for Vue
- Vue 3 - Progressive JavaScript framework
- Tailwind CSS - Utility-first CSS
- PrimeVue - Premium Vue UI components
- Pinia - State management
- Socket.IO Client - Real-time communication
- TypeScript - Type safety
- Axios - HTTP client
- Node.js - JavaScript runtime
- Express.js - Web framework
- MongoDB - NoSQL database
- Mongoose - ODM for MongoDB
- Redis - Caching and sessions
- BullMQ - Job queue
- JWT - Authentication
- Socket.IO - WebSocket communication
- Cloudinary - File storage
- Nodemailer - Email service
- Winston - Logging
- TypeScript - Type safety
- Docker & Docker Compose - Containerization
- MongoDB Atlas - Managed database
- Redis Cloud - Managed cache
- Vercel - Frontend deployment (optional)
- Railway/Render - Backend deployment (optional)
- Manage users and permissions
- Configure system parameters
- Monitor platform analytics
- Approve payments
- Review fraud cases
- Access audit logs
- Create and manage projects
- Upload datasets
- Configure task workflows
- Monitor project progress
- Download results
- Manage budget and payments
- View available tasks
- Complete annotations
- Track earnings
- Request withdrawals
- View profile stats
- Participate in leaderboards
- Review completed tasks
- Score quality
- Approve/reject submissions
- Flag suspicious work
- Escalate disputes
- JWT-based authentication with refresh tokens
- Password hashing with bcrypt
- Input validation with Zod
- SQL injection prevention with Mongoose
- XSS protection with Helmet
- CORS configuration
- Rate limiting (20 req/min per IP)
- API key management
- Audit logging
POST /api/v1/auth/register- Register userPOST /api/v1/auth/login- LoginPOST /api/v1/auth/refresh- Refresh token
POST /api/v1/projects- Create projectGET /api/v1/projects- List projectsGET /api/v1/projects/:id- Get details
POST /api/v1/tasks- Create taskGET /api/v1/tasks- List tasksPOST /api/v1/tasks/:id/submit- Submit task
POST /api/v1/payments/daraja/stk-push- Initiate depositPOST /api/v1/payments/withdraw- Request withdrawal
GET /api/v1/analytics/dashboard- Dashboard metricsGET /api/v1/analytics/projects/:id- Project analytics
See individual READMEs for complete API documentation.
- Docker and Docker Compose
- MongoDB Atlas account
- Redis Cloud account
- Cloudinary account
- Safaricom Daraja credentials
docker-compose up -dDeployment guides available in respective README files for backend and frontend.
Copy .env.example to .env and configure:
MONGODB_URI=...
REDIS_URL=...
JWT_SECRET=...
DARAJA_CONSUMER_KEY=...
# See hiveai-api/README.md for full list
Copy .env and configure:
NUXT_PUBLIC_API_BASE_URL=...
NUXT_PUBLIC_SOCKET_URL=...
cd hiveai-api
npm test
npm run test:watchcd hiveai-web
# Testing configuration coming soonhiveai_full_project_readme_and_copilot_prompt (1).md- Comprehensive project specification- hiveai-api/README.md - Backend API documentation
- hiveai-web/README.md - Frontend application documentation
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit changes (
git commit -m 'Add amazing feature') - Push to branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Write clear commit messages
- Follow existing code style
- Add tests for new features
- Update documentation as needed
- Run linting and type checks before pushing
ISC
For questions, issues, or suggestions:
- Open an issue on GitHub
- Review documentation in README files
- Check the comprehensive project spec
- Nuxt 3 Documentation
- Vue 3 Documentation
- Express.js Guide
- MongoDB Documentation
- Socket.IO Documentation
Built with β€οΈ for the future of AI data annotation
Repository: https://github.com/gibsonbett/HiveAI