Building a Git based hosting platform like Vercel

An attempt at building a Git based hosting platform

All code lives at https://github.com/luigimorel/opendeploy

If you are a developer, you’ve probably deployed a website by just performing a git push. It just works with no fuss.

I want to understand the complexity involved and the problems that one would have to solve to get such a platform up and running. The goal is not to end up with a production ready set of features, but rather a good enough demo whose concepts can actually be relied upon to build something substantial.

Here’s a little “Product Requirements Document” (PRD) that I will be following:

  • Connect a Git repository and configure deployment settings.
  • Trigger deployments automatically on every push to a configured branch.
  • Build projects in isolated environments with support for common frameworks.
  • Store and serve build artifacts over HTTP.
  • Assign each project a public URL with support for custom domains.
  • Track deployment status and expose build logs for debugging.
  • Support deployment history, including the ability to roll back to a previous successful deployment.
  • Handle build failures, concurrent deployments, and resource cleanup reliably.
  • Manage environment variables and secrets securely during builds and runtime.
  • Route incoming requests to the correct deployment and support HTTPS.