Geek Culture
Published in

Geek Culture

Introducing Appwrite for Android. The Open-Source Firebase Alternative That Is Easy to Self-Host 🚀

Today I’m thrilled to introduce Appwrite to the Android developer community. Appwrite is an entirely open-source and self-hosted Firebase alternative that is extremely easy to deploy. We’ve been working on Appwrite for quite a while now, and we’re super excited to announce our support for native Android development with the release of Appwrite 0.9 and our official Android SDK.

What is Appwrite?

Appwrite is a self-hosted backend as a service that is packaged as a set of Docker micro-services. Appwrite provides you with all the core APIs needed to build a modern application and abstracts all the boiler plate code to allow you to focus on creating awesome and innovative solutions.

You can use Appwrite to build applications without writing any backend code at all! But this isn’t the only way to use it. Appwrite wasn’t designed to replace your backend team, instead to give you a better starting point for your project and a great developer experience.

Although Appwrite is still in beta ( working hard on getting to 1.0 🤞), we’ve already got a majority of BaaS features, and it just keeps getting better all the time, backed by an awesome community of thousands of developers, over 250 contributors and just recently, over 10,000 GitHub stars (!). ✨

Authentication and Users

The Appwrite Accounts and Users services exposes your client to an API that allows you to interact with your app’s logged-in accounts and easily manage your app’s users from the Appwrite Android SDK or the Appwrite console.

Appwrite Account service lets you manage your user’s active sessions.

The Accounts service allows your users to update their account-related information and save their private preferences like their UI language, timezone, or favorite theme. In addition, you can allow your users to securely store all their preferences.

You can also use the API to get a list of all active user sessions, including information about the session location, device, operating system, and user-agent. You can even let your users review their latest logins, password recoveries, and other security-sensitive events.


The Appwrite Database API is a simple REST API that allows you to add persistency to your application. For example, you can create collections of documents and handle which user has read or write access both at the collection and document levels.

Currently, Appwrite uses MariaDB as the database under the hood. In the upcoming release however, we’re adding support for MongoDB and other databases giving you complete freedom and flexibility to use the technology that your team feels most comfortable with.


Everything you need for managing your app and users’ files

The Appwrite Storage service is the easiest way to let you or your app users upload and manage their files securely. The API takes advantage of the same simple read and write permissions mechanism that the database uses. This allows you to easily grant read and write access to all users, specific users, and even teams of users.

Appwrite also takes care of your file compression, encryption and even provides you with built-in anti-virus scanning. Security and privacy are at the heart of everything we do at Appwrite.


The Appwrite Teams service allows you and your users to create teams and share permission to different API resources, such as files, functions, or documents. This is a great and simple way to implement complex access control requirements for your product.

Each team member can also be granted different roles to give you even greater flexibility. You can also use your Appwrite console and backend SDKs to manage your teams easily.


The Appwrite Functions API allows you to easily extend your Appwrite API behavior and capabilities in any coding language that you’d like to use, including Java and Kotlin as part of our new support for Android developers.

You can trigger your custom functions using the Appwrite API, console, or using a CRON schedule. You can even trigger your functions on any system event like user creation or when a new file is uploaded.

Get Started

Appwrite is packaged as a set of Docker microservices that can run anywhere Docker can run. This allows you to deploy Appwrite fairly easily using a single CLI command.


docker run -it — rm \
— volume /var/run/docker.sock:/var/run/docker.sock \
— volume “$(pwd)”/appwrite:/usr/src/code/appwrite:rw \
— entrypoint=”install” \


docker run -it --rm ^
--volume //var/run/docker.sock:/var/run/docker.sock ^
--volume "%cd%"/appwrite:/usr/src/code/appwrite:rw ^
--entrypoint="install" ^


docker run -it --rm ,
--volume /var/run/docker.sock:/var/run/docker.sock ,
--volume ${pwd}/appwrite:/usr/src/code/appwrite:rw ,
--entrypoint="install" ,

Once your Appwrite API and console are up, getting started with the new Android SDK is fairly easy. You can check out our Android Quick Start Guide for making your first Appwrite API call from your Android application.

What’s Next?

If you’re new to Appwrite, you should join our Discord community, where we chat about Appwrite non-stop. You should also check out the Appwrite Awesome repository, where you’ll find lots of resources about Appwrite, including text and video tutorials and many ( many ) demo applications.

We also really like Github stars. So if you like what we do, we’d love you to drop a ⭐️ on our Github repo.



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Eldad A. Fux

Eldad A. Fux


Entrepreneur, Software Architect, open source enthusiastic and the creator of You can follow me on twitter: