What's the best headless CMS for creating a social media platform?

Hi guys, was wondering about my options for a headless CMS to create user profiles and add comments to things. I'd be using React. I know there is no best, but was wondering what my options were and what works for you guys. This would be for freelancing so I need something that's easy to set up but secure and flexible Honestly though, I've never worked with a headless CMS so I'm not sure if that's even the best tool to use. I just want something that's easy to create user profiles and add comments in a production environment pretty much. I'd appreciate any insight you guys have
21 Replies
13eck
13eck13mo ago
I've heard good things about Strapi, Sanity, and Keystone. https://jamstack.org/headless-cms/ has a good list of potential HCMSs to take a look at. I've not used any myself, so I can't give an unqualified opinion.
vince
vince13mo ago
Thank you 🙂
13eck
13eck13mo ago
Wait, I lied. I used Keystone for like 2 weeks a number years ago when I tried to make a webapp before I learned back-end and gave up
vince
vince13mo ago
Haha, I know backend but I'm not confident handling authentication and authorization in a production environment... I also just need something that's easy to use as well so using a headless cms seems like the best option for me personally
13eck
13eck13mo ago
If you don't want to worry about auth then use OAuth2 and have your users log in via Microsoft, Discord, Twitter, GitHub, etc. Let them deal with auth and you only need to store logged in sessions
vince
vince13mo ago
I don't have experience with OAuth2 but I've use Auth0 and it was such a pain in the 🍑 to get it working that I don't even wanna deal with it anymore 😂
13eck
13eck13mo ago
OAuth2 takes a bit to get used to, as there are a lot of steps. The user logs in via the OAuth service, which redirects them to your website with a token that you need to then make a request back to the service with the token to get the user info. The difficulty comes in with the various scopes and what not, and Microsoft's docs are 💩 so it's near impossible to learn without hours of failing…but that may just be my personal experience and a Real Dev™️ wouldn't have that issue :p
vince
vince13mo ago
Ah, gotta love bad docs. I think I'll try Strapi and see how it goes haha I do have a friend that does a lot of backend stuff and uses OAuth a lot though so I could ask him 🤔🤔
13eck
13eck13mo ago
OAuth isn't bad, MS is bad at their docs. One of the reasons I don't like C#. Everything else I've learned about the language makes me like it but the docs are just 🤮 They read more like a PhD thesis than any sane documentation >_<
ErickO
ErickO13mo ago
I'm confused here what do you want the CMS for?
create user profiles and add comments in a production environment
manually? oh I think I get it, you basically want a ready solution that gives you auth and basic db functionality not sure if that's the best choice because idk what you're trying to make exactly, CMS are flexible but not that flexible also just to chime in with the OAuth talk, if you ever need auth ready solutions there's really good options like Supabase or Pocketbase even local ones like next-auth which I think changed their name to something else recently they're easy to use and come with a bunch of login options, lots of social media and also email/password, or even magic links
vince
vince13mo ago
Awesome, thank you Erick 🙂 Yeah I'm not sure if CMS is good either, I think what you suggested is probably better I've never used Next yet but should be fun to learn, and I already know React so should be pretty easy to pick up Also heard good things about Supabase
ErickO
ErickO13mo ago
you'll have to consider your options, first you should design your app on paper, what will it need and use and do? then based on that check what seems to make it easier to make CMS can be pretty straight forward but cause a lot of issues, while doing your own db/api logic is harder and more hands-on but it's a lot more flexible
vince
vince13mo ago
Yea for sure, I'm just worried about production tbh. I can make basic CRUD apps, but not confident in securing user sensitive data ya know? I don't have that experience yet, and rather not chance it while doing freelancing, which is why I'm trying to find business solutions
ErickO
ErickO13mo ago
if you're comfortable with all of it except auth then 100% supabase is a good way to go, specially cause they have row-level security (RLS) which makes it so you can only access a row on your table if the user has authorization for it buuuut, for freelancing? if you're doing this type of site a lot you might want to go for whatever needs less manual work
vince
vince13mo ago
yea that's pretty much it tbh, at least from what i know, i can figure the rest out if i need to I just really am not comfortable handling auth myself 😂
ErickO
ErickO13mo ago
in freelancing is less about the perfect tech and more about whatever tech can get you from idea to prod in the least amount of time (while also considering clients want to change everything about a site all the time)
vince
vince13mo ago
yea that's why i was thinking about headless cms's kinda like wordpress but i can just make my own frontend but i never used one before so im not sure what limitations/capabilities they have
ErickO
ErickO13mo ago
idk, I only tried using a cms once and ditched it so fast lmao so yeah... idk give it a go, try using both and see which one is better for your needs either way as you get more clients you will 100% change your methods don't marry a method just yet
vince
vince13mo ago
good advice cause I've been kinda doing that and i need to stop 😂
ErickO
ErickO13mo ago
it be like that
vince
vince13mo ago
Strapi offers authentication and authorization built in, you just interface with the api with it to create users Super nice so far, seems heavy handed if I don't need the full CMS functionality though, so might look into Supabase for other projects if I don't need a lot of the cms stuff