Skip to content

KataLab

KataLab is a human-in-the-loop GenAI Agent system built with Google AI tools to solve costly and slow company onboarding challenges.

Core trick

An agent reads company documents and profiles, then generates a custom kata repository for the new hire with human review.

Tags

Description

KataLab is a human-in-the-loop GenAI Agent system built with Google AI tools to solve costly and slow company onboarding challenges. It receives company documents and employee profiles to generate custom, production-grade coding challenges (Katas) that serve as tailored learning tools for the new employee. This solution accelerates new engineers' time-to-first-contribution, ensuring they are productive and integrated faster than traditional training allows.
perelloliver/katalab★ 00 forksPythonCreated Dec 13, 2025 · last push Dec 14, 2025

README excerpt

# Katalab


<img width="1379" height="786" alt="Screenshot 2025-12-13 at 17 47 10" src="https://github.com/user-attachments/assets/b3732c09-dbaa-4b58-adfa-3dc930bab3a4" />

Turn company documents into coding katas for custom employee team onboarding.

Built entirely with Antigravity and Google AI Studio for the DeepMind x Cerebral Valley LDN hack.

**We had fun building and liked the idea, so this repo is currently being taken from hack to MVP.**

## Overview

Katalab parses company context (CVs, engineering blogs, job specs) and uses an Agent to design and generate a custom "Coding Kata" repository tailored to that company's stack and values.

## Structure

- **Backend**: FastAPI application (`src/backend`)
- **Frontend**: Vanilla JS/CSS web interface (`src/frontend`)
- **Agent**: Gemini powered planning and generation.

## How to Run

The frontend is served statically by the backend, so you only need to run the Python application.

1.  **Install Dependencies**:
    ```bash
    uv sync
    ```

2.  **Set Environment Variables**:
    Ensure you have a `.env` file with `GOOGLE_API_KEY`.

3.  **Run the App**:
    ```bash
    uv run uvicorn src.backend.main:app --reload
    ```

4.  **Access the UI**:
    Open [http://localhost:8000](http://localhost:8000).

## Usage

1.  Upload documents.
2.  Review the generated plan.
3.  Provide feedback to refine the plan.
4.  Click "Approve & Build" to generate and download the Kata repository.

Team