Skip to content

aqilaziz/parrit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

542 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Parrit 🦜

Coverage

Professional-grade pairing for modern teams. A ground-up rebuild of the collaborative pairing board workflow.

Created and maintained by Michael Ketiku.

The Story

When the original parrit.io was taken down in 2025, it left a void for many engineering teams (including mine). I've been pairing for about two years now and have seen the professional benefits firsthandβ€”it increases code quality, eliminates silos, and makes engineering more human.

I wanted to build a modern successor that felt "alive"β€”using real-time sync, a good-looking interface, and a modern architecture. Parrit was built to ensure that simple rotation logic remains accessible to the community.

Features

  • Workspace-based Auth: Sign up with a workspace name only β€” no emails, no PII required.
  • Smart-Pair Algorithm: A rotation engine that uses historical data to suggest optimal pairs, with randomization fallback.
  • Per-Board Goals & Links: Each board supports multiple daily goals and a clickable meeting (Zoom) link.
  • Dynamic Themes: Tropical-inspired themes ("Macaw Elite", "Night Parrot") with consistent brand/accent tokens.
  • Persistent Pairing Boards: Create, rename, and delete boards. Drag-and-drop saves automatically.
  • Real-time Sync: Changes appear live across all open tabs and teammates in the same workspace.
  • Team Management: Add, edit, and remove team members with custom avatar colours.
  • Advanced Drag & Drop: Multi-select (Shift+Click) and bulk drag to move people between boards.
  • Session History: Save daily snapshots of your pairing configuration and delete old ones.
  • Premium UI/UX: Light/dark mode, hover tooltips, smooth animations.

Tech Stack

Getting Started

Prerequisites

  • Node.js 24+ (ships with npm, used to install Bun)
  • Bun β€” npm install -g bun
  • A Supabase project

1. Clone and install

git clone https://github.com/mketiku/parrit.git
cd parrit
bun install

2. Configure environment variables

cp .env.example .env

Edit .env and add your Supabase credentials:

NEXT_PUBLIC_SUPABASE_URL=https://your-project.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key

3. Set up the database

Database setup files are located in the supabase/ directory.

  • Primary Setup: Run supabase/schema.sql in your Supabase SQL Editor.
  • Admin Setup: Run supabase/admin_setup.sql to enable the admin role and audit logging.

Then in Supabase β†’ Authentication β†’ Providers β†’ Email, disable:

  • βœ… Confirm email
  • βœ… Secure email change

4. Start the development server

bun run dev

Project Structure

src/
  features/
    auth/       # Workspace sign-in/sign-up + auth store
    pairing/    # Drag-and-drop workspace, boards, store
    team/       # Team member management
    settings/   # Workspace settings
    static/     # About page
    admin/      # Admin portal core
  components/
    layout/     # AppLayout, header, footer
    ui/         # Shared UI primitives
  lib/          # Supabase client

supabase/
  schema.sql       # Full database setup
  admin_setup.sql  # RBAC and audit logging setup

Deployment

The app deploys to Vercel with automatic CI/CD from GitHub.

Quick steps

1. Push to GitHub

git remote add origin git@github.com:YOUR_USERNAME/parrit.git
git push -u origin main

2. Import to Vercel Go to vercel.com/new, import the GitHub repository.

  • Framework: Next.js (auto-detected)
  • Build command: bun run build

3. Set environment variables In Vercel β†’ Settings β†’ Environment Variables, add:

Variable Value
NEXT_PUBLIC_SUPABASE_URL Your Supabase project URL
NEXT_PUBLIC_SUPABASE_ANON_KEY Your Supabase anon key

4. Add redirect URL in Supabase In Supabase β†’ Authentication β†’ URL Configuration β†’ Redirect URLs, add your Vercel deployment URL (e.g. https://parrit.vercel.app).

Architecture Decisions

See docs/adr/ for documented decisions:

  • ADR-0001 β€” Workspace pseudonym authentication strategy
  • ADR-0002 β€” Historical snapshot design

Design & UX

  • UX Principles β€” Core design patterns and interaction principles to guide future development

Contributing

Contributions are welcome, but the project is opinionated about product quality, architecture. Read AGENTS.md and the documentation in docs/ before making large changes.

Please also see CONTRIBUTING.md for workflow and repository guidelines.

Acknowledgements

This project is a spiritual successor to the original Parrit. We are grateful for the inspiration provided by the original creators.

Maintenance & Health

  • Backups: We are currently investigating an automated backup strategy for the Supabase Free Tier. Contributions or suggestions are welcome.
  • Safety: Always follow the Database Management guide when making schema changes.

License

This project is maintained by Michael Ketiku.

About

Pair Programming Management App

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors