Announcing Pushin
Hi folks, welcome back! Let me apologize for the delay since my last blog post with a software-related dad joke:
You can’t prohibit agile software development
But you Kanban it!
Alright, now let's talk about Pushin.eu.
Announcing Pushin
I've been working on a pretty big project over the last 6 months, a project that I hope will become a proper company and ideally change the way we Europeans store our code.
I call it Pushin.eu, as in Push (your code) in Europe or Pushing Europe (forward).
Pushin is a git hosting platform built and run entirely in Europe and by Europeans, for now by me (German) and my dog Bella (Dutch) with emotional support by my fiancée (Portuguese). It is not only for Europeans though. Everyone who respects others is welcome.
I built Pushin because I was tired of the 500s, the CI failures, the slow UIs, and the general lack of innovation from the current git platforms. Instead of fixing their massive availability issues, the platforms bolted yet another AI button onto the UI. Instead of protecting their users from the slopocalypse, they encouraged it and used it as an excuse for their decreasing availability. Then there's the whole geopolitical drama happening for absolutely no good reason. A drama – and a risk – that we Europeans have been blind to for far too long. When others burned the contracts and agreements that made us feel safe, we held up the rule book and said "but ... but ... you can't do that! What about the rules!" But I digress.
Pushin aims to make this situation better. To provide a platform that respects you, the developer, the human at the keyboard.
But it is not anti-AI. I use LLMs every day and they have quickly become the most powerful and frankly – exciting – tools in my belt. Pushin is largely built by LLMs with me in the driver's seat, reviewing most of the code, guiding the design and architecture and fixing the many subtle bugs LLMs introduce. They're what allowed me to build a product of this scale in the first place. Pushin wouldn't exist without them.
Pushin is firmly against slop though. If you just point your LLM at a repo and tell it to "go fix all the bugs and open PRs for everything" without reviewing any of your so-called "contributions": get lost. That's just disrespectful of the maintainer's time and energy. Nobody wants to read a 1000-word PR description you didn't bother to read yourself, or review code you didn't bother to look at. I have my own LLM that can spit out slop. I don't need yours. The point is: it's not about whether you use LLMs or not; it's about whether you misuse them. Just be conscious about your contributions and your use of AI and above all: be respectful of others. That's all.
Pushin runs entirely on European infrastructure. The servers, database, S3 buckets, and transactional emails run on Scaleway, a French company, currently only in the Paris region, but soon also in Amsterdam. The email accounts and domain registry are on Hostinger, a Lithuanian company. Logs and telemetry monitoring with Grafana run on Hetzner, a German company. The only noticeable exceptions are the error tracking, which runs on Sentry, an American company, but in the Europe region, and the CDN running on BunnyCDN, which is a Slovenian company but with a global network of servers, so it does not run exclusively on European servers.
This approach allows Pushin to avoid the US CLOUD Act, which grants the American government and law enforcement access to the data hosted by hosting providers subject to US jurisdiction, even if the data is hosted on servers outside the US. The act applies to American companies, but also European companies that have a US subsidiary or significant operations in the US. The CLOUD Act requires a warrant court order, but the FISA Section 702 does not. Under FISA, US providers must hand over the data of non-US citizens and non-US companies targeted by the intelligence agencies, without individual warrants and without notice to the user.
This means that a German company running on a server hosted in Germany but by an American company is at risk of having its data – and trade secrets – extracted without its knowledge. In times of waning trust between allies, this is a concerning position to be in. Pushin aims to provide an alternative.
Lastly, git hosting companies are infrastructure companies, whether they want to believe it or not. Infrastructure companies that want to stay in business must have one goal above all: be available at all times. We notice a lack of water, power, or internet immediately and our daily lives depend on them. It's the same with code hosting for us developers. Without it, we can't ship, can't review, can't do our jobs. That's why Pushin sees itself as an infrastructure company first, where every minute of downtime is unacceptable. Of course, this is easier said than done, but it's what I'm striving for. It's what defines the architecture, the product roadmap, the daily focus. And if I fuck up (and I will and already have), at least I will be transparent about it and not hide behind polished uptime metrics.
So with that, I'd like to invite you to try out Pushin.eu. Please don't hesitate to give me feedback, ideally through issues on the pushin repo.
Just a caveat: Pushin is still in beta until early 2027, when I'll move it to GA (general availability) if all goes well. But your bytes are already safe today. I made sure of that :)