The Technology Stack Behind The Coolest Startups
Have you ever wondered if you have what it takes to develop the next big thing in apps or websites? Doing so takes hard work, creativity, a great team, and most importantly, a great idea. You'll also have to build your app or site on a great infrastructure. The most important part of that infrastructure will be your technology stack. A technology stack is the framework that great startups such as Snapchat, Lyft, Facebook, and Pinterest use for development, customer relationship management, help desk, analytics, hosting, frameworks, app engines, and more.
Perhaps the best way to develop an app that is going to be the next big thing is to see what the big guys are using themselves. Let's take a look at the technology stack that the biggest startups are using.
Snapсhat
A few years ago, Snapсhat was almost exclusively known as an app that teenagers and young adults used to send pictures and messages that would conveniently disappear once they were viewed. Today, businesses, individuals, even celebrities use Snapсhat as a regular part of their social media efforts, and they see the app as an important part of their overall branding efforts. Here are some of the technologies that drive this wildly popular app.
Google Apps: Productivity and collaboration
Objective C: Development language
Google Analytics: Analyze website traffic and to collect data on the effectiveness of content marketing efforts
Google Compute Engine: Cloud hosting
Android SDK: Development framework
Zendesk: Customer support
Instagram
It is fair to say that Instagram was an instant success. Once the app was made available in 2010, it's soaring popularity was pretty much immediate. A good bit of that success can be attributed to the thoughtful engineering that went into the development of this app. Take a look at a few of tools and utilities that work behind the scenes at Instagram.
Python: Development language
Amazon S3: Cloud storage solution
NGINX: Web servers
Amazon EC2: Cloud hosting
Memcached, Cassandra, and PostGRESQL: Databases
Testflight: Beta testing
Pingdom: Website monitoring
Fabric: Server configuration
Sentry: Monitoring for exceptions and crashes
Pinterest
Pinterest is the third most popular social media website in the world. The only two websites ahead of Pinterest are Facebook and Twitter. It features a pinboard style interface where users can pin project ideas, inspirational quotes, recipes, and even business related items for future reference. Users can also search for pins, and follow friends, family members, or those who they simply find to be interesting. Even major brands have gotten in on the action by using Pinterest as part of their overall content marketing efforts. Now, let's see what technologies are behind this wildly popular social network.
Hbase, MySQL, Memcached, Hadoop: Databases
Amazon EC2: Cloud Hosting
Nginx: Web servers
Redis: In-memory databases
Amazon S3: Cloud storage
Qubole: Big data analysis
Java and Python: Development languages
Django: Framework for Full Stack development process
Backbone.JS: Javascript framework
Edgecast: Content delivery
Testdroid: Mobile testing automation
Pingdom: Website monitoring
Webpack: Javascript bundler
Zendesk: Help desk package
Asana: Project management tool
OneLogin: Managing passwords
Lyft
Lyft is an app that acts as an alternative to taxi services and public transportation. People who need a ride quickly can open up the app, and request a ride. In short order, a driver in the area shows up to deliver the customer to their destination. The entire transaction takes place via the app, including making payment and tipping the driver. The fact that the app is so convenient to use, and the company offers multiple tiers of service drives its popularity. Of course, none of this functionality would exist if it were not for a great technology infrastructure. Here are some of the technologies that are behind the Lyft app.
Android SDK: Development framework
Bootstrap: Front end design framework
PHP, HTML5, Java, Swift, Python, & C++: Development languages
React: Javascript UI libraries
Amazon EC2: Cloud hosting
Angularjs: Javascript MVW Framework
Google Analytics: Web traffic monitoring and analysis
PayPal: Payment processing
Stripe: Payment processing
Dropbox: File storage
Github: Develop collaboration and code management
Git: Version control
Virtualbox: Creating virtual development machines
Xcode: Integrated development environment
Testflight: Beta testing
Google Apps: Productivity
Jira: Bug tracking
Creating Your Own Stack
So, what will go into your stack?
Obviously the details of that depend upon what you want your app or website to do. You've probably noticed a few technologies in common between the three apps/websites we've presented in this article, and lots of differences. Clearly, the technology needs vary widely. The constant, however is that these brands all took the time, prior to launch, to carefully choose the technologies that make up the framework on which their businesses run. Here are a few questions to ask yourself, before you get your tech startup idea off of the ground:
How will members of my team communicate and collaborate?
Where will I store data?
How will I keep that data secure?
What development languages and frameworks are the best choice for what I want to accomplish?
How will I manage social media?
What about CRM and help desk support?
How will I handle testing?
What about versioning, code management, and deployment?
How will I monitor my website?
What technology will I use for bug tracking?
Once you have decide on what technologies will be in your stack, you can confidently move on to the design and development process. If you've made the right decisions, there is no reason to believe that you cannot develop something that is as wildly popular as any app discussed here.