Architecture · CTO

What tech stack you would recommend for building a social network alike app and how much does it cost?

Radu Daniel cv30 - changing the way professionals find work. Searching - full stack dev, UX growth mk.

August 7th, 2017

I have a project for creating a website alike a social network where users can

  • create account
  • post text, pics and videos
  • follow other users
  • receive notifications
  • create a profile (text, pic, and video)
  • Comment and like other posts
  • Post a question to a section similar to this Q&A forum on cofounderslab

For the time being I want a MVP. without native apps on Android and iOS, but a mobile presence to send push notifications is necessary.


So my questions to the community are:


1. what is you recommendation (back end, front end, database, server, mobile framework, notification system, etc) and why?


2. if the MVP is ok, what programming language allows for easy future development?


3. how much time do you estimate?


thank you

Mariia Berezhna Developing a better future

August 7th, 2017

Hi Radu,

you might find this article useful for your questions.It is about estimating social media apps.

Regarding your questions, you can use the cross-platform technologies (Xamarin or Ionic) which allow you to reduce cost and time of the development.

For further development better continue using the technologies which are in MVP.

In case you have the technical documentation the estimation takes 3 working days, but if you don't have a specification longer( around a 1,5 week).


If there any questions, or you would like to get the approximate estimation, will be glad to help :)

Shadab Khatib A Builder who can build technical product from an idea phase with least costs and fast

August 7th, 2017

As per my view I can do it in php codeigniter framework with a android and iOS native presence.

For the database side mysql would be sufficient


Php CodeIgniter based mysql web app - 3 weeks

Android App 2 weeks

iOS App 2 weeks


Sam Colwill Owner/Chairman at BathroomsByDesign Retail Ltd and Owner/CEO at KADware Ltd

August 7th, 2017

Hi Radu,


Check out https://www.socialengine.com


Seems you can buy most functionality you requested as modules, and source expertise within their network to answer some of the more intricate questions you have and bring it all together.


Good luck!


cheers

Sam

Anonymous Founder

August 7th, 2017

Question 1

Use technology your team is comfortable with. In the beginning, the language will not matter until you want to scale. More important is how fast can you get it up so you can test and itterate.


From a tech point of view, I would recommend a NodeJS Backend because you can use socket.io for real time events without needing to click refresh to see latest posting. Build on a serverless technology like AWS lambda for easy scaling because social networks grows exponentially and monolithic architecture is hard to scale.


For frontend, any frontend javascript like Angular, React or VueJS. They have large following and it is easy to get support.


For database, most social networks will use JSON format and data schema can vary. I would recommend a NoSQL like MongoDB.


For mobile framework, you could use Ionic or React Native. Native apps if you have the resources.


For Notification Systems to Mobile, you can use push notification build into Android or IOS. Or native apps if you have the resource to build and maintain.


Question 2

The above will be great and easy to scale. But more than programming language, it is about your architecture. How you design the system before you start writing your code.


Question 3

Depends on your architecture and how complex your frontend. How big is your team and how experienced are they with the above technology ? Do you need testing ? What level of testing ? Documentation ? Do you build just for development speed or do you build for scalability ?


Fast 1 month. Slow, can be up to 3 months.


Cost ? Depend where you live.


Advice, look for a good tech co-founder. Itteration is very natural for a startup. A freelancer might not be able to accomodate quick it itteration as your business model changes.

Paul Muhami Founder and Director, Nairobi Institute of Entrepreneurship and Enterprise Development

August 8th, 2017

Wow, what a great platform. Am delighted to be here. Let's keep sharing and sharpening each other.

God bless you all.

Gideon Appoh Cofounder & CEO @eziteksolutions

Last updated on August 8th, 2017

Hello Radu,


Looking at your system I will recommend that you:


  • Implement the backend as a REST API. Don't bother about the language much but I will recommend using Laravel (PHP) or Express (Node JS).


  • PHP 7 and Node JS are very efficient currently either of them can handle a lot of requests and also do multi-threading*. However if your application grows and becomes very large say 1 million concurrent requests per second then maybe you might extend some services into Java or C++.


  • It depends on the developers and the number of features and styles needed in the MVP. But for a very good architecture, it can take 2 or 3 months of full time (40 hours) development with testing.

Naiem Yeganeh

August 10th, 2017

I recently discovered how amazing Firebase + React stack is for quickly developing an MVP. Could easily shave months off development. Once you grew over many thousands of users then think about slow re-architecture of the product to a more traditional stack.