---
title: "DotHack Overview"
description: "AI-Native Hackathon Operations Platform - manage hackathons end-to-end with AI-powered features"
canonical: "https://docs.ainative.studio/docs/dothack/overview"
last-updated: "2026-11-02T18:12:43.468Z"
---

# DotHack Overview

Source: https://docs.ainative.studio/docs/dothack/overview

> AI-Native Hackathon Operations Platform - manage hackathons end-to-end with AI-powered features

## DotHack

**DotHack** is AINative's hackathon operations platform. It provides a complete backend API for creating, managing, and running hackathons with AI-powered features like semantic search, smart judging recommendations, and real-time leaderboards.

## Base URL

```
https://dothack.ainative.studio
```

**API Documentation (Swagger):** [https://dothack.ainative.studio/v1/docs](https://dothack.ainative.studio/v1/docs)

## Authentication

DotHack uses **AINative Authentication**. If you have an AINative account, you can use it immediately - no separate registration required.

### Login with AINative credentials

```bash
curl -X POST https://dothack.ainative.studio/api/v1/auth/login \
  -H "Content-Type: application/json" \
  -d '{
    "email": "you@example.com",
    "password": "your-ainative-password"
  }'
```

**Response:**
```json
{
  "tokens": {
    "access_token": "eyJhbG...",
    "refresh_token": "eyJhbG...",
    "token_type": "bearer"
  },
  "user": {
    "id": "user-uuid",
    "email": "you@example.com",
    "name": "Your Name"
  }
}
```

### Using your token

Include the access token in all subsequent requests:

```bash
curl https://dothack.ainative.studio/api/v1/hackathons \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
```

### API Key authentication

For server-to-server integrations, use your AINative API key:

```bash
curl https://dothack.ainative.studio/api/v1/hackathons \
  -H "X-API-Key: YOUR_AINATIVE_API_KEY"
```

## Core Concepts

| Concept | Description |
|---------|-------------|
| **Hackathon** | The main event entity with schedule, tracks, and prizes |
| **Track** | Categories within a hackathon (e.g., "AI/ML", "Web3") |
| **Participant** | A user with a role: organizer, builder, judge, or mentor |
| **Team** | Group of builders working on a submission |
| **Submission** | A team's project entry with files and metadata |
| **Rubric** | Scoring criteria used by judges |
| **Prize** | Awards for winning submissions |

## API Modules

| Module | Endpoints | Description |
|--------|-----------|-------------|
| [Authentication](/docs/dothack/authentication) | 3 | Login, refresh tokens, get current user |
| [Hackathons](/docs/dothack/api-reference#hackathons) | 4 | Create, read, update, list hackathons |
| [Tracks](/docs/dothack/api-reference#tracks) | 5 | Manage hackathon categories |
| [Prizes](/docs/dothack/api-reference#prizes) | 5 | Configure awards and prizes |
| [Participants](/docs/dothack/api-reference#participants) | 4 | Join hackathons, manage roles |
| [Teams](/docs/dothack/api-reference#teams) | 6 | Create teams, manage members |
| [Submissions](/docs/dothack/api-reference#submissions) | 6 | Submit projects, upload files |
| [Judging](/docs/dothack/api-reference#judging) | 5 | Score submissions, view leaderboard |
| [Search](/docs/dothack/api-reference#search) | 2 | Semantic search across hackathons |
| [Dashboard](/docs/dothack/api-reference#dashboard) | 4 | Role-based analytics dashboards |
| [Analytics](/docs/dothack/api-reference#analytics--export) | 2 | Statistics and data export |

## Quick Start

### 1. Login

```bash
## Get your access token
TOKEN=$(curl -s -X POST https://dothack.ainative.studio/api/v1/auth/login \
  -H "Content-Type: application/json" \
  -d '{"email":"you@example.com","password":"your-password"}' \
  | jq -r '.tokens.access_token')
```

### 2. Create a hackathon

```bash
curl -X POST https://dothack.ainative.studio/api/v1/hackathons \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "AI Innovation Challenge 2026",
    "description": "Build the future with AI",
    "start_date": "2026-07-01T00:00:00Z",
    "end_date": "2026-07-03T00:00:00Z",
    "status": "DRAFT"
  }'
```

### 3. Add tracks and prizes

```bash
## Add a track
curl -X POST https://dothack.ainative.studio/api/v1/hackathons/{hackathon_id}/tracks \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name": "AI/ML", "description": "Machine learning and AI projects"}'

## Add a prize
curl -X POST https://dothack.ainative.studio/api/v1/hackathons/{hackathon_id}/prizes \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name": "Grand Prize", "amount": 5000, "currency": "USD"}'
```

### 4. Participants join and build

```bash
## Join as a builder
curl -X POST https://dothack.ainative.studio/api/v1/hackathons/{hackathon_id}/join \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"role": "builder"}'

## Create a team
curl -X POST https://dothack.ainative.studio/api/v1/hackathons/{hackathon_id}/teams \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name": "Team Awesome", "description": "We build cool things"}'
```

## Tech Stack

- **API:** Python FastAPI
- **Database:** ZeroDB (tables, vectors, files, events)
- **Auth:** AINative Studio
- **Search:** Semantic search via ZeroDB Embeddings API
- **Real-time:** Go WebSocket service for live leaderboards
- **Hosting:** Railway
