Skip to content

teamatonce/teamatonce

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

52 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Team@Once

Team@Once

Open-source AI-driven development outsourcing platform

Revolutionizing software development outsourcing through intelligent automation, transparent processes, and seamless collaboration.

License GitHub Stars Issues Pull Requests

Website | Quick Start | Features | Discussions | Contributing

English | ζ—₯本θͺž | δΈ­ζ–‡ | ν•œκ΅­μ–΄ | EspaΓ±ol | FranΓ§ais | Deutsch | PortuguΓͺs | Ψ§Ω„ΨΉΨ±Ψ¨ΩŠΨ© | ΰ€Ήΰ€Ώΰ€¨ΰ₯ΰ€¦ΰ₯€ | Русский


What is Team@Once?

Team@Once is an open-source AI-driven development outsourcing marketplace that eliminates traditional risks through intelligent automation, AI-powered assessments, escrow payments, and real-time project management. Built for businesses looking to outsource development and dev teams looking for clients, Team@Once replaces fragmented toolchains with a single integrated platform.

Unlike Upwork that charges 10-20% fees with limited project tools, or Toptal that gates access behind expensive vetting, Team@Once gives you a self-hosted, low-fee platform with built-in collaboration, AI matching, and full control over your data.

Team@Once Landing Page
Team@Once β€” Open-source AI-driven development outsourcing platform

How It Works

  1. Post or Discover -- Clients post projects with requirements; the AI engine matches them with the best-fit development companies based on skills, track record, and availability.
  2. Assess & Contract -- Developers showcase verified skills through AI-generated assessments and certificates. Smart contracts are auto-generated with milestones and e-signatures.
  3. Build & Collaborate -- Teams work together with built-in project management, real-time chat, video calls, shared whiteboards, and milestone tracking.
  4. Pay & Review -- Milestone-based escrow payments release funds only when deliverables are approved. Both sides leave verified reviews.

Key Capabilities

  • πŸ€– AI-Powered Matching -- NLP-based engine matches projects to the best-fit development teams using skill vectors and track records
  • πŸ’° Escrow Payments -- Milestone-based Stripe escrow ensures developers get paid and clients get quality work
  • πŸ“Ή Built-in Video Calls -- LiveKit-powered video conferencing with screen sharing, no third-party tools needed
  • πŸ“Š Project Management -- Kanban boards, milestones, deliverables, and time tracking in one place
  • πŸŽ“ Learning & Certification -- AI-generated assessments, courses, learning paths, and verifiable certificates
  • πŸ” Smart Discovery -- Qdrant vector search + web crawling data engine for finding and enriching company profiles
  • πŸ“ Smart Contracts -- Auto-generated contracts with e-signature and milestone-linked payment terms

What Problem We Solve

The Outsourcing Dilemma

Outsourcing software development is broken. Businesses waste weeks vetting agencies, overpay platform middlemen, juggle disconnected tools for chat, project management, and payments, and still end up with misaligned expectations and failed deliveries.

Common pain points we address:

  • ❌ High platform fees -- Existing marketplaces charge 10-20% or apply hidden markups
  • ❌ No transparency -- Clients can't verify developer skills beyond self-reported profiles
  • ❌ Tool fragmentation -- Teams use Slack + Jira + Zoom + Wise + DocuSign separately
  • ❌ Payment disputes -- No built-in escrow or milestone-gated payment protection
  • ❌ Vendor lock-in -- Your data, conversations, and project history trapped in proprietary platforms

Team@Once's Solution

βœ… 3-5% platform fee -- Open-source and self-hostable, dramatically lower costs

βœ… AI-verified skills -- Automated assessments, certificates, and portfolio verification

βœ… All-in-one workspace -- Chat, video, project management, contracts, and payments unified

βœ… Escrow protection -- Milestone-based payments via Stripe protect both parties

βœ… Full data ownership -- Self-host with Docker Compose; your data never leaves your infrastructure


Why Team@Once? (Comparison)

Feature Team@Once Upwork Toptal Fiverr Deel
AI-Powered Matching βœ… NLP + smart matching ❌ ⚠️ Manual vetting ❌ ❌
Built-in Project Mgmt βœ… Kanban, milestones, time tracking ⚠️ Basic ❌ ❌ ❌
Escrow Payments βœ… Milestone-based βœ… βœ… βœ… ❌
Video Collaboration βœ… Built-in calls + screen share ❌ ❌ ❌ ❌
Skill Assessments βœ… AI-generated + certificates ⚠️ Basic tests βœ… Rigorous ⚠️ Basic ❌
Learning Paths βœ… Courses + certifications ❌ ❌ ❌ ❌
Real-Time Chat βœ… Channels + file sharing ⚠️ Basic ❌ ⚠️ Basic ❌
Team Workspaces βœ… Multi-project org ❌ ❌ ❌ ❌
Data Engine βœ… Company discovery crawler ❌ ❌ ❌ ❌
Smart Contracts βœ… Auto-generated + e-sign ⚠️ Basic ❌ ⚠️ Basic βœ…
API Access βœ… Full REST API ⚠️ Partial ❌ ❌ βœ…
Self-Hosted βœ… Docker Compose ❌ ❌ ❌ ❌
Open Source βœ… AGPL 3.0 ❌ ❌ ❌ ❌
Platform Fee 🟒 3-5% πŸ’° 10-20% πŸ’° ~2x markup πŸ’° 20% πŸ’° Custom
i18n βœ… 11 languages βœ… βœ… βœ… βœ…
Learning Curve 🟒 Low 🟒 Low 🟑 Medium 🟒 Low 🟑 Medium

What Makes Team@Once Unique?

  1. Fully open-source and self-hostable -- No vendor lock-in, no data leaving your infrastructure, AGPL 3.0 licensed
  2. AI-native from day one -- Matching, assessments, contract generation, and content analysis all powered by AI
  3. All-in-one platform -- Replaces 5+ separate tools (marketplace + PM + chat + video + payments + contracts)
  4. Developer-first learning -- Built-in courses, certifications, and learning paths make it a growth platform, not just a gig board
  5. Pluggable architecture -- Swap search providers (Qdrant/Meilisearch/Typesense), storage (S3/MinIO), AI (OpenAI/Ollama), and email with config changes

πŸ“Š Project Activity & Statistics

GitHub Activity

GitHub Stars Forks Contributors Last Commit

Open Issues Open PRs Closed Issues Closed PRs

Community Metrics

Metric Status Details
Total Contributors Contributors Growing community of developers worldwide
Total Commits Commits Active development across all modules
Monthly Commits Commit Activity Consistent monthly development cadence
Code Quality Code Quality TypeScript strict mode, ESLint, Prettier
Documentation Docs API docs, module READMEs, Swagger/OpenAPI

Language & Code Statistics

Top Language Language Count Repo Size License

Recent Activity Highlights

  • βœ… Invoicing system -- Full invoice generation and tracking
  • βœ… Portfolio module -- Company and developer portfolio showcase
  • βœ… Install wizard -- Interactive setup wizard for new deployments
  • βœ… Multi-provider video -- Pluggable video conferencing providers
  • βœ… 11-language i18n -- Full internationalization coverage
  • βœ… Docker one-command setup -- Single docker compose up starts everything

Quick Start

Docker (Recommended)

Run the entire platform with a single command -- no Node.js, no database setup:

git clone https://github.com/teamatonce/teamatonce.git
cd teamatonce
docker compose up --build

The first build takes a few minutes (downloading images + installing dependencies). Subsequent starts are much faster thanks to Docker layer caching.

Database migrations run automatically on startup. Once you see Team@Once Backend is running on: http://localhost:3001, open:

Service URL
Frontend http://localhost:5173
Backend API http://localhost:3001
API Docs (Swagger) http://localhost:3001/api-docs

To stop everything:

docker compose down

To stop and remove all data (clean start):

docker compose down -v

Optional services can be enabled with profiles:

# Enable Meilisearch and local email capture
docker compose --profile meilisearch --profile maildev up --build

Available profiles: meilisearch, typesense, minio, maildev, ollama

Manual Setup

Click to expand manual setup steps

Prerequisites: Node.js >= 18, Docker (for databases)

1. Start infrastructure services

# Start PostgreSQL, Redis, and Qdrant
docker compose up -d postgres redis qdrant
Without Docker (manual install)

Install and start PostgreSQL, Redis, and Qdrant yourself, then update backend/.env with your connection details:

# PostgreSQL -- create the dev database
createdb -U postgres teamatonce_dev

# Update DATABASE_PASSWORD in backend/.env to match your PostgreSQL password

2. Backend

cd backend
cp .env.example .env    # credentials already match docker-compose.yml
npm install
npm run migrate
npm run start:dev

3. Frontend (new terminal)

cd frontend
cp .env.example .env
npm install
npm run dev

Features

Team@Once Seller Dashboard
Seller Dashboard β€” Company details, team members, performance metrics, and quick actions

πŸͺ Marketplace

  • Company Profiles -- Showcase portfolios, team skills, and certifications
  • AI-Powered Matching -- Intelligent company-to-project matching based on skills and track record
  • Data Engine -- Web crawling and pipeline for company discovery and enrichment
  • Escrow Payments -- Secure milestone-based payments via Stripe
  • Developer Profiles -- Skill-verified profiles with assessment scores and certificates

πŸŽ“ Learning & Certification

  • Course Management -- Create and manage technical courses with modules and lessons
  • AI Assessments -- AI-generated quizzes and skill evaluations
  • Certificates -- Verifiable achievement certificates
  • Learning Paths -- Structured skill development routes
  • Achievements -- Gamification with badges and progress tracking

πŸ’¬ Collaboration

  • Real-Time Chat -- Channels, direct messages, and file sharing via Socket.io
  • Video Conferencing -- LiveKit-powered calls with screen sharing
  • Project Management -- Kanban boards, milestones, deliverables, and time tracking
  • Collaborative Whiteboard -- Real-time shared drawing and diagramming
  • Discussion Forums -- Community discussions and knowledge sharing
  • Meeting Scheduling -- Calendar integration and meeting management
  • Collaborative Notes -- Shared note-taking within projects

πŸ“ Contracts & Payments

  • Smart Contracts -- Auto-generated contracts with customizable templates
  • E-Signatures -- Built-in electronic signature workflow
  • Escrow -- Milestone-gated fund release via Stripe
  • Invoicing -- Invoice generation, tracking, and payment history
  • Subscriptions -- Tiered platform subscription plans

βš™οΈ Platform

  • AI Integration -- OpenAI-powered content generation, analysis, and matching
  • Vector Search -- Qdrant semantic search for companies, skills, and content
  • Admin Dashboard -- Platform administration, analytics, and user management
  • Multi-language -- 11 languages with automatic browser detection
  • Blog & Content -- CMS for articles, guides, and landing pages

Tech Stack

Team@Once Tech Stack
Modern, production-ready technologies powering Team@Once

Layer Technology
Backend NestJS 11, TypeScript, PostgreSQL (raw SQL), Redis, Qdrant, Socket.io
Frontend React 19, Vite, TypeScript, Tailwind CSS, Radix UI, Zustand
AI OpenAI (GPT-4o-mini, embeddings)
Payments Stripe (escrow, subscriptions, invoicing)
Search Qdrant (vector search)
Video LiveKit (conferencing, screen share)
Real-Time Socket.io with Redis adapter
Deployment Docker Compose

Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                      Frontend                           β”‚
β”‚          React 19 Β· Vite Β· Tailwind Β· Zustand           β”‚
β”‚              Port 5173 (development)                    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                       β”‚ REST API + WebSocket
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                      Backend                            β”‚
β”‚              NestJS 11 Β· TypeScript                     β”‚
β”‚              Port 3001 Β· 34+ modules                    β”‚
β”‚                                                         β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚   Auth   β”‚ β”‚Marketplaceβ”‚ β”‚ Learning β”‚ β”‚  Payment  β”‚  β”‚
β”‚  β”‚   JWT    β”‚ β”‚ AI Match  β”‚ β”‚ Courses  β”‚ β”‚  Escrow   β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚  Comms   β”‚ β”‚ Projects β”‚ β”‚Contracts β”‚ β”‚   Admin   β”‚  β”‚
β”‚  β”‚Chat/Videoβ”‚ β”‚ Kanban   β”‚ β”‚ E-Sign   β”‚ β”‚ Analytics β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β””β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
    β”‚              β”‚             β”‚            β”‚
β”Œβ”€β”€β”€β–Όβ”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β–Όβ”€β”€β”€β”  β”Œβ”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”
β”‚ Postgresβ”‚   β”‚  Redis   β”‚  β”‚ Qdrant β”‚  β”‚ Stripe  β”‚
β”‚  :5433 β”‚   β”‚  :6379   β”‚  β”‚ :6333  β”‚  β”‚  (API)  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Backend (/backend) -- NestJS 11 API with 34+ feature modules, raw PostgreSQL queries, WebSocket gateway, and BullMQ job queues.

Frontend (/frontend) -- React 19 SPA with Vite, Tailwind CSS, Radix UI primitives, Zustand state management, and i18n for 11 languages.


Integrations

Team@Once ships with pluggable provider support across these categories:

Category Providers
Search Qdrant (default), Meilisearch, Typesense
Storage AWS S3, MinIO (self-hosted)
AI OpenAI (default), Ollama (local LLMs)
Email Nodemailer (SMTP), Maildev (local dev)
Video LiveKit
Payments Stripe
Auth JWT, Google OAuth, GitHub OAuth
Notifications Firebase Admin (push), WebSocket (in-app)

🌍 i18n

Team@Once supports 11 languages via i18next with automatic browser language detection:

English, ζ—₯本θͺž, δΈ­ζ–‡, ν•œκ΅­μ–΄, EspaΓ±ol, FranΓ§ais, Deutsch, PortuguΓͺs, Ψ§Ω„ΨΉΨ±Ψ¨ΩŠΨ©, ΰ€Ήΰ€Ώΰ€¨ΰ₯ΰ€¦ΰ₯€, Русский

Want to add a new language? See the translation guide -- just add a JSON file to frontend/src/i18n/locales/.


πŸš€ Why Contribute to Team@Once?

Team@Once is more than just another open-source project -- it's an opportunity to build the future of how software teams find and work with each other.

What You'll Gain

πŸ“š Learn a Modern Tech Stack

  • NestJS 11 -- Enterprise-grade Node.js framework with modular architecture
  • React 19 -- Latest React with hooks, suspense, and concurrent features
  • PostgreSQL (raw SQL) -- Learn to write performant queries without ORM abstractions
  • Qdrant -- Vector databases and semantic search, a high-demand skill
  • Stripe -- Payment integration, escrow, and subscription billing
  • Socket.io -- Real-time WebSocket communication at scale

πŸ’Ό Build Your Portfolio

  • Contribute to a production-ready platform with 34+ modules
  • Work on features that appear on your GitHub profile
  • Get recognition in our contributor hall of fame
  • Build expertise in marketplace platforms and AI integration -- highly valued skills in 2026

🀝 Join a Growing Community

  • Connect with developers from around the world
  • Get code reviews from experienced maintainers
  • Learn best practices in software architecture
  • Participate in technical discussions and design decisions

🎯 Make Real Impact

  • Your code will help businesses and developers connect more efficiently
  • See your features being used in production environments
  • Influence the direction of open-source outsourcing tools

⚑ Quick Onboarding

  • Docker Compose gets you running in under 5 minutes
  • Well-documented codebase with module-level READMEs
  • Friendly maintainers who respond to PRs promptly
  • "Good first issue" labels for newcomers

🎯 Quick Contribution Guide

Get started contributing in under 10 minutes:

Step 1: Set Up Your Environment

# Fork the repository on GitHub, then clone your fork
git clone https://github.com/YOUR_USERNAME/teamatonce.git
cd teamatonce

# Start with Docker (easiest way)
docker compose up --build

# Access the app
# Frontend: http://localhost:5173
# Backend API: http://localhost:3001
# API Docs: http://localhost:3001/api-docs

That's it! You're running Team@Once locally.

Step 2: Find Something to Work On

Choose based on your experience level:

🟒 Beginner-Friendly

🟑 Intermediate

  • πŸ§ͺ Write tests for existing modules
  • πŸ”Œ Add new integration providers
  • πŸš€ Performance improvements
  • πŸ“– Write module-level documentation

πŸ”΄ Advanced

  • πŸ€– AI matching algorithm improvements
  • βš™οΈ Core engine enhancements
  • πŸ—οΈ Architecture improvements
  • πŸ” Security features and hardening

Step 3: Make Your Changes

# Create a new branch
git checkout -b feature/your-feature-name

# Make your changes
# - Backend code: /backend/src/modules/
# - Frontend code: /frontend/src/
# - Translations: /frontend/src/i18n/locales/

# Test your changes
cd backend && npm run lint
cd frontend && npm run lint

# Commit with a clear message
git commit -m "feat: add your feature description"

Step 4: Submit Your Pull Request

# Push to your fork
git push origin feature/your-feature-name

# Open a PR on GitHub
# - Describe what you changed and why
# - Link to any related issues
# - Add screenshots if it's a UI change

What happens next?

  • βœ… Automated CI checks run on your PR
  • πŸ‘€ A maintainer reviews your code
  • πŸ’¬ We may suggest changes or improvements
  • πŸŽ‰ Once approved, your code gets merged!

Contribution Tips

✨ Start small -- Your first PR doesn't need to be a huge feature

πŸ“– Read the code -- Browse existing modules for patterns and conventions

❓ Ask questions -- Open a Discussion if you're stuck

πŸ§ͺ Write tests -- PRs with tests get merged faster

πŸ“ Follow conventions -- Use Conventional Commits format


Contributing

We welcome contributions! See our Contributing Guide to get started.

Ways to contribute:

  • Report bugs or request features via GitHub Issues
  • Submit pull requests for bug fixes or new features
  • Add new integration providers (search, storage, AI, email)
  • Improve documentation
  • Add translations

Contributors

Thank you to all the amazing people who have contributed to Team@Once! πŸŽ‰

Want to see your face here? Check out our Contributing Guide and start contributing today!


πŸ’¬ Join Our Community

Connect with developers, get help, and stay updated on Team@Once's latest developments!

GitHub Discussions

Where to Find Us

Platform Purpose Link
πŸ’‘ GitHub Discussions Ask questions, share ideas, feature requests Start Discussion
πŸ› GitHub Issues Report bugs, request features Open Issue
🌐 Website Documentation, guides, blog teamatonce.com

Community Guidelines

  • 🀝 Be Respectful -- Treat everyone with respect and kindness
  • πŸ’‘ Share Knowledge -- Help others learn and grow
  • πŸ› Report Issues -- Found a bug? Let us know on GitHub Issues
  • πŸŽ‰ Celebrate Wins -- Share your success stories and deployments
  • 🌍 Think Global -- We're a worldwide community with 11+ languages

Security

Please report security vulnerabilities responsibly. See SECURITY.md.


License

This project is licensed under the GNU Affero General Public License v3.0.

Copyright 2025 Team@Once Contributors.


Acknowledgments

Built with NestJS, React, PostgreSQL, Qdrant, Stripe, LiveKit, Socket.io, and Tailwind CSS.


Website | Discussions | Contributing


Built with ❀️ by the Team@Once community

If you find this project useful, please consider giving it a star! ⭐

Star on GitHub

About

Open-source AI-driven development outsourcing marketplace - intelligent team matching, escrow payments, skill assessments, learning paths. Self-hosted alternative to Toptal, Upwork & Fiverr for dev teams.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages