Coding An Interacial Dating Mobile App with React Native for frontend and node js for backend.
In this blog post, i am updating my journey of coding my fourth production cross platform react native application. Due to the terms of my employer i cannot share the exact name of my application, but i can talk about the selection of the techstack and my way of implementing it. Social Networks always something that took my interests as dating falls under some sub category of a social network.
I don't want to start some rant on why i despise social networks because faking it to the top 10-20% in some category is really easy whereas real creators always get shat on by others paying their way into the platform. Therefore a dating app is something where some select users can buy their way to the top 10-20% Its beyond my abilites to question what the client wants clearly when they mention no two same race can match with each other but instead of focussing on the broad future goals for the app.
Always Start With An Node Backend (Said no sane developer ever)
Technologies Used
There was too much use of docker containers as i have come to stability with monolithic way of doing things where i work. Using Docker freed some part of my soul. All My ICE Servers and Turn Servers were just an config file curated for my backend were all hosted in portainer. Sorry but i was not comfortable with kubernetes at the moment. The main take away was to use any way to reduce my neck pain from staring at the screen for too long therefore some containers on the vps helps a lot.
Backend Language - Node js
- Express JS + Socket IO for signalling server
Prisma for MySql (I hated it doing it again in primsa, i swear i will go back to drizzle soon)
- S3 Bucket (Ofcourse its an dating app, its all about images)
I had been given an ubuntu vps for the node process, and to reverse proxy i have used nginx proxy manager again. typescript does help with faster development as it only took me a month to create everything and focus on the application.
Setting Up the React Native Project
Jotai + MMKV + React Query all these practically saved my life with server state and local state management.
Dating App is not what it seems its literally an place where by luck or chance you match up with the person you desire for, so henceforth my algorithm which makes it some what linent but not too linent than tinder or bumble to connect.
The hardest part in this app was it into a perfect copy of an copy of an copy because all the dating apps were the same and the client liked their swipe left and right, i guess its the norm for that now. I am not an racist either but developing it made me feel like on hope the clients app's idea pans out in the near future without attaching it a bad rep for the app.
I would like to finish this blog with some optimism that the mega social networks are all luck and influence, a dating app is just not enough to qualify itself to scale a lot to a million users and keep their retention. After that its an matter of being faded away like other dating apps in the appstore and playstore. After all this i now think its time to learn golang or c or rust backends and comeback with much better mindset on developing scalable backends.