Skip to content

srizzon/git-city

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

163 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Git City

Your GitHub profile as a 3D pixel art building in an interactive city.

thegitcity.com

Git City — Where Code Builds Cities


What is Git City?

Git City transforms every GitHub profile into a unique pixel art building. The more you contribute, the taller your building grows. Explore an interactive 3D city, fly between buildings, and discover developers from around the world.

Features

  • 3D Pixel Art Buildings — Each GitHub user becomes a building with height based on contributions, width based on repos, and lit windows representing activity
  • Free Flight Mode — Fly through the city with smooth camera controls, visit any building, and explore the skyline
  • Profile Pages — Dedicated pages for each developer with stats, achievements, and top repositories
  • Achievement System — Unlock achievements based on contributions, stars, repos, referrals, and more
  • Building Customization — Claim your building and customize it with items from the shop (crowns, auras, roof effects, face decorations)
  • Social Features — Send kudos, gift items to other developers, refer friends, and see a live activity feed
  • Compare Mode — Put two developers side by side and compare their buildings and stats
  • Share Cards — Download shareable image cards of your profile in landscape or stories format

How Buildings Work

Metric Affects Example
Contributions Building height 1,000 commits → taller building
Public repos Building width More repos → wider base
Stars Window brightness More stars → more lit windows
Activity Window pattern Recent activity → distinct glow pattern

Buildings are rendered with instanced meshes and a LOD (Level of Detail) system for performance. Close buildings show full detail with animated windows; distant buildings use simplified geometry.

Tech Stack

Getting Started

# Clone the repo
git clone https://github.com/srizzon/git-city.git
cd git-city

# Install dependencies
npm install

# Set up environment variables

# Linux / macOS
cp .env.example .env.local

# Windows (Command Prompt)
copy .env.example .env.local

# Windows (PowerShell)
Copy-Item .env.example .env.local

# Fill in your environment variables

# Run the dev server
npm run dev

Open http://localhost:3001 to see the city.

Environment Setup

After copying .env.example to .env.local, fill in these values:

  • NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_ANON_KEY, SUPABASE_SERVICE_ROLE_KEY
  • GITHUB_TOKEN
  • ADMIN_GITHUB_LOGINS if you want access to /admin/ads

Where to find the Supabase values

Open your Supabase project dashboard, then go to Project Settings -> API.

  • NEXT_PUBLIC_SUPABASE_URL: your project URL
  • NEXT_PUBLIC_SUPABASE_ANON_KEY: the public anon key
  • SUPABASE_SERVICE_ROLE_KEY: the service role key for server-side admin access

For local GitHub login to work, you also need to configure the GitHub OAuth provider in Supabase and add your local callback URL if required by your setup.

Where to find the GitHub token

Open GitHub and go to Settings -> Developer settings -> Personal access tokens.

  • Fine-grained tokens are recommended if you only want to grant the minimum repository/profile access this app needs.
  • Classic tokens also work if that fits your setup better.

Create a token, copy it once, and place it in GITHUB_TOKEN inside .env.local.

License

AGPL-3.0 — You can use and modify Git City, but any public deployment must share the source code.


Built by @samuelrizzondev

About

Your GitHub profile as a 3D pixel art building in an interactive city

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

  •  

Packages

 
 
 

Contributors