210 likes
·
9.0K reads
22 comments
This is exactly what I was thinking of building myself because I found myself always opening a ton of browser tabs to check on every social media number.
Awesome job 👌
Will surely be a user!
Haha that is awesome to hear Igor!
That's pretty much the exact situation that lead me to create this too, 😂 opening up so many tabs and then getting distracted!
Let me know how you find it! Open to any suggestions you might find.
You've literally made a great product Jarrod Watts! I really loved it and I ain't gonna use YT Studio anymore 😅!
There are a few suggestions I would like to give though 😊
Adding a progress bar on the app, like this while navigating through pages, you can use this package for that as you're using Next.js.
Add a page for feedback where users can send you feedback to improve the app
Thank you so much Usman!
Those are some great ideas, I'll definitely add a progress bar for page changes and some way of sending feedback too.
Will let you know when they get added!
Thanks! Waiting for those ✌️! Jarrod Watts! You can take inspiration from this feedback box
I have checked the product on Product Hunt ;) You have done an amazing work 🤝
Thanks a tonne Eleftheria! It's my first time posting on Product Hunt, so that really helps me out :)
Really really awesome job on this product Jarrod Watts! I'm a big fan of Firebase myself and so I love reading about how you built this with so much Firebase products~
Upsocial is an amazing product! You clearly begin with an end in mind for it! Great job! Kudos 👍 👍
Thank you Victoria! Hopefully I'll be able to write some more about Firebase soon too!
Amazing & also inspiring work!
Thanks Abhay! So happy to hear you found some inspiration from it 🥰
this is so relevant. I too get suckered into scrolling or watching crap when I visit a social network "for important reasons" such as monitoring content performance
Hahaha yeap me too! I can't resist clicking that juicy notifications button, and then - instantly distracted!
Really glad to hear that resonated with you too Arthur, thanks for reading!
Thanks for such an insightful article Jarrod Watts :)
Thanks Lalit! Really glad you enjoyed it :)
Thank you so much for sharing all this wonderful info. It is so appreciated!!! “You always have good humor o in your posts/blogs. So much fun and easy to read!
Thank you! That is amazing feedback :)
"I also find it super cool that I can pass a function that returns a function as a parameter to another function!"
This is why JavaScript is so hard to maintain. I can't even imagine how long that will take for another guy (even a JavaScript guru) to understand your code. It's very fun when you write it, it's hell when you have to maintain such code. And when you did not write this, you juste hate the developer who wrote this. So, no, IMHO, it's not super cool to be able to write complex things that will take hours for others to understand and debug when needed.
Definitely some valid feedback Olivier. I'm working on this solo at the moment, but I can imagine it could potentially be confusing to work on for someone else.
Although, this pattern isn't necessarily something unique to JavaScript (or Typescript in this scenario), this treatment of functions as first class entities is one of the principles of functional programming in general.
For some more information, this sentence refers to a function I wrote, which is meant to write data to Firestore for a social media profile. In a function called writeSocialProfile
, which accepts a function socialApiRequestFunction
as a parameter.
This enables me to run different functions depending on the social media platform I'm looking at.
Essentially it just says "run getYoutubeProfile
if socialName is youtube
", and repeat that for each social media in a switch statement.
It definitely might not be as clean to read for new devs to the project, but it has a few benefits that IMO make it worthwhile.
It sped up my workflow of adding new social media platforms to the app, as my workflow could simply be:
- Write a new function
xyz
to get a user's profile from a new social media platformabc
. - Write integration tests in Jest for this new isolated function (Jest was probably not ideal for this)
- Once the tests pass, add a case in the existing switch statement, for this new function
xyz
to be returned when the value ofsocialName
isabc
Definitely agree it might not be pretty to look at for people new to the codebase, but it made the flow a lot easier for me, with some added benefits of easy testing.
Jarrod Watts With adequate comments this should be ok ;)
And you're right, all other languages I've used allow such things: C, C++, C#, Go, Java, Php and Python.
The problem is always: the limits of maintainability vs fast coding.
Because you always end up with debugging someone else's code, I've chosen Python as my language for my job: it's much harder (still possible unfortunately...) to write "hard-to-understand" code.
This is so amazing learned a ton lot ;). Amazing man.
Great post, thanks for sharing!