logoalt Hacker News

Show HN: Gitdot – a better GitHub. Open-source, written in Rust

114 pointsby baepaulyesterday at 4:52 PM107 commentsview on HN

What works now: user signups, org creations, private/public repos, and importing GitHub repositories (both as read-only mirrors and full migrations). So basically, you can create, push and pull to a repo, but we don't have many features quite yet (issues, PRs, CI).

What is a bit unique is: 1) we built it in Rust and 2) the website is a little odd. Its design is inspired by CLIs (e.g., fzf, broot, vim) instead of web apps, and as such, lacks some affordances that you might typically expect in favor of keyboard-driven instant navigations (we have the very ambitious goal of an FCP of 100ms). In case you're curious, here's how we we built it: https://gitdot.io/designs

We recognize that we're making some bold claims here and are also well aware that we have much to learn. Building software is still hard, and that's a fact we seem to relearn everyday.

But we wanted to share what we built so far nonetheless.

Cheers, thank y'all for reading, and till the next —paul & mikkel.


Comments

applfanboysbgonyesterday at 11:31 PM

What happened to your team's previous abandoned vibe-coded project[1][2], and why should people trust the new one when it claims that the goal is to build "a business that lasts"? Are you not going to throw it away when you get bored of prompting Claude to write your "anti-AI" platform?

[1]https://news.ycombinator.com/item?id=45013572

[2]https://github.com/bkdevs/async-server

show 1 reply
HyperL0giyesterday at 10:42 PM

> What is a bit unique is: 1) we built it in Rust

The first unique characteristic is that it was built in Rust? Why does it matter from a user perspective? I was expecting the first point to be something that would convince me to check it out.

Unless the goal is to find people to collaborate on building the software. I got a bit confused.

Looking good regardless :)

show 4 replies
keyleyesterday at 11:52 PM

We've built a better SpaceX! says kid with cardboard rocket in the backyard. In Rust we trust!

Common man, you're not even 5% of a Github replacement. Don't act like one. You've built a Git web UI with accounts, the easy part.

> Building software is still hard

You don't say.

domtron_voxyesterday at 10:45 PM

I signed up and the code email went to spam. A quick look at the DNS seemed to show you were lacking DKIM and DMARC records.

If I'm not mistaken about that, you should remedy that to ensure email providers don't dump your emails to spam.

show 1 reply
graypeggyesterday at 9:54 PM

Interesting stuff! I really like the design philosophy you're applying here, where the browser/web behaviour is actually part of the UX. Pretty rare for web application nowadays!

If I could make one suggestion, I really like the old MacOS "inspector" pattern. Basically a consistent way to get meta-information about any "thing" the user chooses to inspect. Your right sidebar is going towards that, but it would need some work to make it more consistent between views.

GitHub's UI has these weird meta-states/restrictions that are so badly explained in the UI they feel like bugs. Each line gets a [...] menu in github which lets you see the blame/spawn a issue linking to it/get a permalink/etc. It's a totally different UI in the diff view, and then totally different again if you're looking at a comment referencing a line in a diff AND different if it's referencing a permalink to a line in a file, even if it's the same code that would be in that diff!

I want the UI to have obvious "nouns". If the UI is showing me a line of code, even if it's in a diff view, let me "inspect" it and get the exact same meta-info + tools I get for lines of code anywhere. It's "a line", not a weird meta state of "a line, but you're in the comment of a PR linking to this line".

Same concept applies to comments/commits/authors/etc. If the UI shows me a username, I should be able to pull up a "who is that again" inspector. Going into github's commit view, clicking on a name... and being sent to a filtered list of that person's commits makes zero sense to me because this is the ONLY place where that happens. That behaviour should be a "recent commits" button inside some "user inspector".

show 1 reply
usrbinenvyesterday at 10:48 PM

No mobile version, but I'm visiting from a tablet, should work at least if switch to "Desktop" in the browser manually. I don't care if I get horizontal scroll - not showing your visitors anything at all is an automatic "I'm out".

Second, when I browsed from an actual desktop, and clicked on links for files it was all slow as hell - specifically the part when you click on a file an expect it to just load, you instead get: 1) some layout switch which looks like page reload 2) then it says "loading..." for several seconds.

After looking at the source code, it appears to be React or similar frontend framework... Ugh. I don't know why people choose to use that stuff, just have a regular SSR which would work a hundred times faster and is more pleasant. And if you really want an SPA, don't use React, Vue or Svelte (and similar), it's horrible and always slow.

Finally, since this appears to be a YC company, it shouldn't matter what's it written in. In fact, I don't even know why Rust would be a good thing here when Go or even Rails/Django would work just fine - but again, it just reinforces the meme that if it's written in Rust, you'll surely hear about it.

Overall, the minimalism idea is welcomed, but it supposedly should appeal to people like myself and it doesn't for all the reasons I mentioned above.

show 1 reply
abathologistyesterday at 9:26 PM

Would be interested in a comparison with https://sourcehut.org/ (which has a comparable minimal aesthetic, but also has the deep benefit of being FOSS.

skrtskrtyesterday at 9:25 PM

Love the idea of someone tackling this space in Rust, but please just make a normal UI, I have no idea what I am looking at.

show 1 reply
garbagepatchyesterday at 9:15 PM

I like the terminal aesthetics but please, for accessibility's sake, make input boxes look more like input boxes and buttons look like buttons.

show 1 reply
edfletcher_t137yesterday at 11:47 PM

> 7. How does gitdot make money?

> We don't.

This cannot last forever. What's the plan when it runs out?

mckee_plus_plusyesterday at 11:49 PM

Paul & Mikkel work at GitHub and are trying to offload traffic from gh

TazeTSchnitzelyesterday at 9:04 PM

The minimal look feels very refreshing, and yet it's not disorienting like many minimal web git UIs are in my experience; I actually feel like I know how to navigate this thing. Site feels very snappy too, especially with those instantly loading file previews when you hover. Congrats!

show 1 reply
Sailemiyesterday at 10:34 PM

Big fan of the design! Different but easy to get a hand of. Having /profile also be linked on the homepage with the other main pages for ease of navigation would be nice, the profile link at the bottom feels like it clashes with the rest of the UI to my eyes.

screamingninjayesterday at 8:56 PM

> 5. What features will gitdot not have?

> AI.

> We view AI as an implementation detail — and do not think that using it is necessarily good.

> In fact, we think it makes many products worse by acting as a bandaid for poor design.

> That isn’t to say we are blind to it, but that we will be judicious in our use of it instead.

Not sure I follow. What feature are the developers referring to? I understand that AI will power tools that may or may not fit a particular use case. How is AI a feature and what does it mean to be anti-AI?

show 3 replies
eqvinoxyesterday at 8:48 PM

What's the differentiation against Forgejo going to be?

show 1 reply
flexagoonyesterday at 9:57 PM

Feels weird to ship a website without mobile support in this day. The desktop version looks nice though

show 1 reply
NetOpWibbyyesterday at 11:14 PM

Did you guys just make my own git forge plans useless? This looks great!

I was gonna call mine EOL and I already bought the domain eol.sh...then again, I could just do mine in TypeScript and launch it anyway.

Ciericyesterday at 9:18 PM

Seems interesting an I'll take more of a peek after work, but one thing that stood out to me is the only way back to the home page after navigating to a repo is the back button. Going back to the home page via the back button also doesn't retain that "new" was selected. But I agree with others, I do like the simplicity of the site.

show 2 replies
Kiroyesterday at 8:56 PM

I think you're in an interesting space where there's a real opportunity to create something fresh. When people are actively looking for alternatives it will be easier to break out of the established norms.

What does anti-AI mean? Don't really see anything about it in the design doc except "no AI copilot".

show 1 reply
jacques_chesteryesterday at 9:21 PM

It is ... problematic ... to lead with "anti-AI" and then bury terms like "judicious in our use of it" in the fine print.

IMO a team like yours can either:

* Use LLMs, in which case you aren't "anti-AI".

* Not use LLMs currently, but the non-use is not due to following a principle, in which case you aren't "anti-AI".

* Not use LLMs and promise never to do so.

I'm happy you are trying something new. But you hurt yourself by engaging in something very old: disingenuity.

(edits for presentation and grammar)

show 2 replies
applfanboysbgonyesterday at 10:01 PM

This is a violation of Git's trademark, and your usage of it is expressly prohibited by their policy.

https://git-scm.com/about/trademark

> [...] you may not use any of the Marks as a syllable in a new word or as part of a portmanteau (e.g., "Gitalicious", "Gitpedia") used as a mark for a third-party product or service.

> Please be aware that GitHub and GitLab are exceptions to this Policy because they are subject to explicit licensing arrangements that pre-date, and thus take precedence, over this Policy.

You might've known that if you hadn't vibe-launched this while for some reason marketing it as anti-AI, but here we are in a world where basic research is a dead art.

show 4 replies
ramon156yesterday at 9:46 PM

A lot of fuss that needs to be chiseled out first. There's an idiom that is followed a bit too black and white, but the grey is grey.

No loading animation, but my screen jitters while loading in stuff. My internet speed is fine, so it's a performance/bug issue.

I also did not initially understand the UI, but that'll come as I use it more

show 1 reply
gerdesjyesterday at 11:27 PM

Big Brother seems to be built in to us humans.

git itself is decentralised - all repos are equal. Mr T designed it that way because ... well that's all that was needed for Linux kernel development back in the day and it still seems to work. The management stuff can be managed quite well via email and some choice socials. Obviously that nonsense cannot possibly scale to the size of your enterprise thingies!

Yet again we have a better Big Brother than Big Brother ... this time with Rust, yum!

syngrog66yesterday at 11:39 PM

unfortunate name: very similar to Godot at passing glance. my brain already stumbles going back and forth between seeing LLVM and LLM, IP (Internet protocol) and IP (Intellectual property). Don't me started on X vs X vs X vs ...

I do like that it reinforces this rule of thumb:

  Q: "How do you know if any given piece of software is written in Rust?
  A: "Oh they'll tell you. They *will* tell you. Upfront and over and over again."
Simon-curtisyesterday at 11:11 PM

This project looks awesome. I’ve really enjoyed your blogs about the design process and learnings. Brave to jump into Rust while learning a new domain but very commendable. Wish I had a close programmer friend to do this stuff with, sounds like a great asset to have such great chemistry.

You seem to be experienced devs, so I’m sure you already know, but don’t listen to the contrarians on HN. They’ll suck the life out of you because it’s not 100% the way they like it.

moojacobyesterday at 10:02 PM

I love the design. Clean and refreshing - you start at the left and every sub element goes to the right. Like a file browser. And the commit screen is dense but super readable. I would move the summary column from the right of the README to the left of the README on the /home screen (and call /home the /README).

Loading files is very slow but I assume that's because HN is hammering the server.

I am not a believer in negative advertising. So I don't give a poop you are anti-ai. Or "better" than Github (better for who??). Just imply you are a code forge thats made for serious developers who need something engineered to be fast and reliable.

I wish you the best of luck, I can see Linear coming out with git repos after coming out with a diff reader. I have a suspicion there's space for many code forges in the market as you build out more features, especially if you lean into your products hacker-y-ness

hntizyesterday at 10:41 PM

Just one minor piece of feedback that's unlikely to be a priority. I cannot fully navigate when browsing in a terminal browser (chawan in my case, haven't tried with w3m or lynx). For example the "h" keymap for going home does not work.

That said though, one of my pet peeves around browsing Github Web from the terminal was having to click "skip to content" just to get the body. So you definitely delivered there (after having read your design post). Good luck with the rest of the year.

show 1 reply
sigmonsaysyesterday at 11:23 PM

that UI is way too opinionated

SwiftyBugyesterday at 9:11 PM

I absolutely love the minimalist UI.

I see code reviews is in the roadmap, I can't wait to try it.

show 1 reply
selectnullyesterday at 11:06 PM

> Install gitdot-cli to push and clone private repos

Hmmm... no. Why should I? Just let me use git.

7moritz7yesterday at 9:40 PM

There is a dozen CLAUDE.md in the gitdot source. The "Anti-AI" in your title seems a bit disingenuous.

umanwizardyesterday at 8:45 PM

Why does it have to be a website? Why merely "CLI-inspired" and not actually CLIs?

show 2 replies
purple-leafyyesterday at 10:19 PM

I mean, no offence but nothing is more of a signal of marketing fluff to me than saying “built in Rust” or “anti-AI”

Tell us why we should care outside of the marketing fluff - these aren’t highlights - if anything they are quite off putting.

Your project needs to stand on its own actual merits.

Critique over, congratulations on launching something or building something anyway.

But what makes this different? And why have you chosen that philosophy - outside of marketing fluff

chwzryesterday at 6:17 PM

the design looks neat. + for hexagonal pattern on the backend - that fits perfectly!

show 1 reply
mathisdev7yesterday at 6:24 PM

I hate that when we scroll through a codebase files, it changes the file we are hovering, I'd rather having to click to see the file

show 2 replies
Imustaskforhelpyesterday at 5:19 PM

This is really interesting. Especially as its open source and I really liked the UI design of it.

I was thinking about creating my own git forge given the unreliability of Github and I wouldn't be able to create just at the moment incredibly reliable software like git forge although I could use AI to create a minimalist piece of software, I didn't because I didn't want to create yet another AI slop fighting another AI slop (github/gitlab).

Forejo is incredible but I have always wanted to get more alternatives in this field.

Much thanks for making it. I have signed up and I have high hopes for it too and I will try to either self host this on my servers or gitdot.io as well as Github

I recommend making a small community in matrix (preferred), fluxer.gg, discord etc. as I'd like to join it.

PS: small personal thing that I have made which helps in making communities: https://mirror.forum

I am definitely interested in gitdot.io! This seems incredible

I wish nothing but the best for you folks. Gonna create a local copy of the source code of gitdot.io right now!

Thanks for open-sourcing the efforts too. I really appreciate it :-D The software is so nice!

I genuinely hope that you guys and the project blows up and if you guys might ever hire a junior dev, I hope you all could remember me as the world right now needed such software that you have made!! :-D (Although I am more interested in managing servers/golang but that's because rust is hard to learn as a beginner but that's different topic but I like rust's ideas too and rust is a great/preferred language with golang for this type of service :-D)

show 1 reply
daishi55yesterday at 10:16 PM

> anti-AI

> mobile support to come

Cmon lol. Give opus 20min and it will give you a mobile site throw in a better-looking desktop site for fun.

triyambakamyesterday at 11:14 PM

Sorry but the name is too hard to say. At least it's not as bad as Forgejo

isattyyesterday at 9:40 PM

Maybe it’s the HN effect but /files takes a while to load.

Personally while I appreciate something not being AI slop, writing something in Rust has no meaning to me.

show 1 reply
denysvitaliyesterday at 10:00 PM

> Mobile support to come.

In 2026 not being mobile first is a bit of a disappointment to be honest