Inspiration

Developers should have the freedom to choose how they host their code. Not every project needs to live on GitHub or GitLab, sometimes you just want to spin up a local server, share a repo with your team across the room, or keep everything in-house. We built GitPort to give developers that choice without the complexity of traditional Git server setups.

What it does

GitPort turns any Git repository into a self-hosted server accessible over your local network. With just a few commands, you can:

  • Host a repository from any directory (new or cloned)
  • Share it with teammates via SSH with customizable permissions
  • Monitor and manage everything through a built-in terminal dashboard, no extra software needed

Anyone with admin access can SSH into the server and view commit history, adjust permissions, and check logs, all from a clean terminal interface.

How we built it

We built GitPort in Go for its speed, clean syntax, and excellent library ecosystem. Key libraries from Charmbracelet powered the terminal UI, while specialized tools like fsnotify enabled real-time file watching. The architecture uses bare repositories as the server-side storage, with all configurations managed through a .gitport folder.

Challenges we ran into

The biggest challenge was bridging newly initialized repositories (which have no remote) and cloned GitHub repos (which point elsewhere) to our local bare repository. We also wrestled with building an intuitive terminal UI from scratch and managing race conditions when multiple processes needed to read/write configuration files simultaneously.

Accomplishments that we're proud of

We created a genuinely seamless experience, repository setup takes seconds, and collaboration happens instantly. We're especially proud that we used GitPort during development: once we had an MVP, we used it to collaborate on itself.

What we learned

This project was a deep dive into Git and SSH internals, hooking into their authentication flows, building permission systems, creating terminal UIs with Bubble Tea, and handling concurrent file operations safely. We learned that the best tools get out of your way, which became our design philosophy.

What's next for GitPort

We want to expand the dashboard with activity visualizations, commit graphs, contribution heatmaps, and richer statistics. We'll also continue refining the onboarding flow and exploring features that make local collaboration even more powerful.

Built With

Share this project:

Updates