Why I moved from BaaS to Appwrite (self-hosted Backend)

Why I moved from BaaS to Appwrite (self-hosted Backend)
April 13, 2020 - Originally posted on Dev.to


I am a frontend developer who is working in his spare time on an app that is used for creative writing and managing of novels. I also offer the possibility to synchronize projects via the cloud and make them available on all devices.

GitHub logo TorstenDittmann / OmniaWrite

A text editor engineered for creative writing.

Backend decision

When I was looking for a provider or software that would provide a backend for my needs, I was quickly overwhelmed.

Basically all providers offer the same functions and features and differ only in pricing and service.

After I created about 10 prototypes for the providers on my shortlist, I decided to go for one that satisfied all my needs in the free plan and didn't make any high price jumps if I should make use of it.

After running this backend for about a year and growing my app, the realization came.

For the following reasons I was not completely satisfied with it:


BaaS providers take work off your hands, but this dependence comes at a price. Also when I think back a few years to Parse.com, where a service simply shuts down and leaves its users standing in the rain makes me wanna move away from providers.


I had no control over my data and the data of my users, which ended up in me creating my own solutions for backups, for example. The solution of the provider was unfortunately linked to a paid plan.


I realize right now that when I go too deep into detail it gets a little exhausting to read. So I'm gonna leave the two reasons.

Then I came across this article by chance

I read through the documentation of Appwrite and was immediately thrilled that there is a solution that meets all my needs and at the same time is still available free of charge.

I joined the official Discord, which you should absolutely do when you are interested in using Appwrite, and asked a few questions regarding some minor concerns.

Immediately the creator himself answered me and suggested to implement some of my points in the next release.

So I set out to create a proof of concept and waited eagerly for the next release to completely rewrite my app for Appwrite.

Wait a minute, what can Appwrite actually do?

Let me quote from their site:

Appwrite provides developers with a set of easy-to-use and integrate REST APIs to manage their core backend needs.

  • Database
  • Storage
  • Users
  • GEO & Localization
  • Scheduled Tasks
  • Console
  • Privacy
  • Security

Everything ready with a "one-liner" to try out on your local machine.

GitHub logo appwrite / appwrite

Appwrite is a secure end-to-end backend server for Web, Mobile, and Flutter developers that is packaged as a set of Docker containers for easy deployment 🚀

Appwrite Logo

A complete backend solution for your [Flutter / Vue / Angular / React / iOS / Android / *ANY OTHER*] app

Discord Swag Store Docker Pulls Build Status Twitter Account

Appwrite 0.8 has been released! Learn what's new!

Appwrite is an end-to-end backend server for Web, Mobile, Native, or Backend apps packaged as a set of Docker microservices. Appwrite abstracts the complexity and repetitiveness required to build a modern backend API from scratch and allows you to build secure apps faster.

Using Appwrite, you can easily integrate your app with user authentication & multiple sign-in methods, a database for storing and querying users and team data, storage and file management, image manipulation, Cloud Functions, and more services.


Find out more at: https://appwrite.io

Table of Contents:


Appwrite backend server is designed to run in a container environment…


Liquid error: internal
Last week I moved the production to Appwrite and came to the following result:

Average API calls per month: ~120.000
Total users: ~560
Average total Bandwidth: ~500 mb
Storage used total: ~80 mb

All this can be handled by small virtual servers and costs you only a small amount compared to service providers.

PS: Of course this solution is not for everyone, because not everyone is willing or has enough knowledge to manage their own server. Also, you have a little more work in the beginning, because you have to manage things like server security, email server, possible updates, etc. Also Appwrite is still in beta, which can lead to breaking changes in future releases.