We want to make it possible to build a complete scalable app in an afternoon. We'll make it 100x easier to build applications and bring the ability to write software to a billion people. We're starting by making it easy to build a backend. Today, the complexity of building distributed applications far exceeds the complexity of an app's design. This unnecessary “accidental complexity†takes up the vast majority of application development time and limits who can make software. Modern architectures make even simple applications hard. We make API calls using REST and HTTP/AJAX, but we also need queues, authentication, transactions, retry logic, error handling, and rate limiting. We have to choose infrastructure – Docker and CoreOS and Kubernetes and more (after all, It's The Future). We need to deploy: check your code into git, run your tests, and integrate your continuous delivery tool, all before enabling your code with a feature flag. All this complexity is a tax on software development. 2009's startups had easy monoliths built on top of mature open-source software and simple cloud hosting. By contrast, today's startups rely on microservices and third-party APIs and services, brittly held together with string. A project that should take an hour actually takes weeks, because we spend all the time writing the same low-level distributed systems code again and again – and that's before maintenance, operations, monitoring, security, etc. All that time spent on solving accidental complexity is time that can't be spent on making delightful products for your users, and solving important business problems.