This is how I would summarise what this project is about:
A project to create a location-based federated social app to actively destroy Grindr monopoly over the LGBTQI+ community
The name is not final. Fedigrindr is right now a clear placeholder that shows what it is attempting to be.
I hate Grindr with a burning passion and I think our social lives shouldn't be on the hands of a private company. There needs to be a federated, owned by no one, open-source, ad-free SPACE for us to meet other LOCAL people.
UPDATE 14th of August 2023 and tldr: I'm learning Elixir, I'm focused on the backend and how things would operate between servers and users. One of the many things I hate from grindr is how it, by design, loses messages.
Right now just dumping random thoughts on this while trying to get a requirements document somewhere that coudl allow me to organise my thoughts on something I could convert into Agile user stories.
I'm compiling random ideas so far using the tag #fedigrindr in my fediverse account (publically accesible toots) in Blahaj.zone
I don't want to just design this project, but to create a template of how I design any project that requires multiple disciplines.
From time to time I might back to those toots and organise those thoughts here in this README file or whatever I use to gather all the user stories or random ideas of the project. TBF I think I'm too into brainstorming right now as to write any user stories.
I'm a visual person, my ideas get shape easier when I can see what I have in mind as a prototype. So I've gone to find a wireframing tool and decided on this Mockup tool.
Everything. Backend, cloud, frontend, android/ios app. I've done it before with Survation's Panel.
How do I want to design it:
- I want to use Rust for the server but I first want to create a prototype in either Python or TypeScript. My two main languages. The reason to choose Rust is because I want to learn it and learn it well with a real world example. Also I want the server/instances to be able to run in PCs with VERY little power. If this is a federated Grindr, we need to think how could it run in places where being LGBTQI+ is an issue or there are state-run firewalls to block actual Grindr. Federation solves that only as far as a user can plug to an undetected server (TOR integration even?)
- The first iteration or proof-of-concept (PoC) needs to be TypeScript.
- Front-end needs to be platform agnostic, hence why I'm thinking in either ReactNative or NativeScript with Angular (I know both).
- Backend choice of DB for a proof-of-concept is sufficient with SQLite...for now. I'm a Mongo lover though. NoSQL gives me flexibility I can't find in SQL-based ones. I might go even simpler and use REDIS for the PoC.
- Centralisation.
- Ads & bots.
- Lack of moderation.
- Lack of encryption.
- A community based on who has the biggest biceps. It shouldn't be pic oriented. Even if there's a grid where people are organised by relative closeness, it should discourage headless torsos.
Initial idea came from this toot by Fedo and the conversation that followed it.