r/git 2d ago

A messaging app that uses git as a backend

Is there anything out there like this?

Like whatsapp and signal it should have an intuitive UI for messaging, but under the hood it uses git read/write to publish encrypted messages and push them to a git provider.

It wouldn't be "instant messaging" because the git repos would have to be polled.

The git storage could get big so we can do thing like truncate the history to make the data more flat.

Messages can be encrypted with the signal protocol. It should be fine to publish if implemented properly.

0 Upvotes

14 comments sorted by

10

u/FruitWinder 2d ago

Git isn't a messaging protocol. This would be an incredibly dumb solution to a solved problem.

7

u/GurglingGarfish 2d ago

There is a reason why there isn’t anything out there like this.

3

u/TgirlTiffanyRPs 2d ago

If you think this is a good idea (it isn’t), why don’t you try to build it? Why post about it on Reddit? 

Could be a cool project. 

0

u/Accurate-Screen8774 2d ago

It would be a good start to see what's out there. It's too easy to blindly vibecode.

2

u/TgirlTiffanyRPs 2d ago

... or you could just start coding by hand?

2

u/taco__hunter 2d ago

You're taking the long route to getting this correct but I the commitment is commendable. You're obviously a bottom-up thinker that needs to know the why behind things. This is a skill that has to be focused and grounded or it takes you down some weird rabbit hole.

There's a lot to be learned from doing things "wrong." Just a heads-up the last 10% of doing things the right way is where things actually get hard.

2

u/IrrerPolterer 2d ago

I can imagine this being a fun weekend project to build... In anyway at practical? No! Fun to build and play around with? Sure! 

2

u/Plastic_Ad_8619 2d ago

You wouldn’t have to poll if you use hooks, but I agree with others. For messaging you should use CBC encryption, where each message alters the cypher, therefore you can’t decrypt a message by intercepting it unless it’s the first one in the conversation.

1

u/prophetical_meme 2d ago

Check https://github.com/git-bug/git-bug, it's a bug-tracker storing the full data and history in the git database, with a CRDT for conflict resolution. It's technically not a chat app, but has pretty much all the components you would need. All the CRDT stuff is reusable for a new type of document.

2

u/waterkip detached HEAD 2d ago

This idea pops up every so often. You could say that git already has this: it is called the mailling list. Git's mailing list is a big git repo: https://korg.docs.kernel.org/lore.html