Go Pro!Bootcamp


Study group

Collaborate with peers in your dedicated #study-group channel.

Code reviews

Submit projects for review using the /review command in your #code-reviews channel

Build a Mobile App with Firebase

Enroll for freeGet started!

Join 9743 other students

Log in to get

Access to all our free courses
Interactive hands-on content
100s of code challenges
Join a friendly community
Enroll for free
Subscribe to access!Subscribe to access!

Subscribe to access to this course and ALL other courses. You get a 30-day money-back guarantee, no questions asked.

Subscription includes

All courses and career paths
100s of coding challenges
Certificates of completion
Exclusive Pro members chat
The course creator Rafid Hoda

with Rafid Hoda

Course level: Intermediate

Build your first mobile app using HTML, CSS and JavaScript + Firebase. Firebase is a magical database service that lets you easily make realtime apps.

You'll learn


Firebase: initializeApp

Firebase: getDatabase

Firebase: reference

Firebase: push

Firebase: onValue

Firebase: snapshot

Firebase: remove


Object → Array


Flexbox: flex-wrap

Flexbox: gap


Setting the viewport


Web Application Manifest

You'll build

Shopping List App

Easily create a shopping list for your home with your partner, family or flatmates.



Before taking this course, you should have a basic understanding of HTML, CSS, and JavaScript. Below are our suggested resource to get you up to speed.

Meet your teacher

The course creator

Rafid Hoda

Been obsessed with the computer ever since I was a young kid. It was my first love. Created my first video tutorial in 2005 at the age of 14. Almost 20 years later and I'm doing the same here at Scrimba. Hah take that mom and dad! Who's wasting their life on the computer now?

Why this course rocks

Have you ever thought, "It would be so cool if I could make an app to solve a problem in my life!"

No? You haven't huh? Oh... ok then maybe this course isn't for you.

But! If you're part of the group that answered 'YES!', then please keep reading.

In this course, we'll build a sweet shopping list app using HTML, CSS, JavaScript and Firebase. Firebase will allow us to use a realtime database to store our app's data.

So if you've always wanted to learn about databases but were waiting for the right course to come along, then this is it!

But I'll give you something even better. By using a special technique, we're going to transform our web app into a mobile app!

Now it won't be a native mobile app, but show it to anyone you know and they will not be able to tell the difference. What we'll be building is technically called a PWA, or Progressive Web App. It's pretty mind-blowing how simple it is to do this.

By the end of this course, you'll have learned how to set up your own Firebase Realtime Database, hook it up to your project, add data to the database, pull the data from the database in realtime, display it in your app (this one is magical), and finally, delete the data from the database.

In classic Scrimba fashion, there will be many challenges to keep you busy and ensure that you understand the material.

You'll finish with a good understanding of how the Firebase Realtime Database works and you'll be able to venture off on your own to discover all the other awesome features that Firebase has to offer.

F to the A oracle to the Q
What is Firebase?

Firebase is a set of cloud services that are very helpful for any kind of developer. Be it saving data in a database, uploading files, or using authentication. Firebase is owned by Google and is used by millions of developers around the world. In this course, we'll be learning about the Realtime Database that Firebase offers - a super simple database that is an absolute joy to work with.

Are we really making a mobile app?

You got me. It's true, what we'll be building is not a native mobile app. However, by using a special technique, we're going to turn our web app into something that looks and feels exactly like a mobile app. These kinds of apps are popularly referred to as PWAs or Progressive Web Apps.