--- title: 'Tutorial: Introduction' sidebar_title: Introduction --- import Highlight from '~/components/plugins/Highlight'; import { SnackInline } from '~/ui/components/Snippet'; import Video from '~/components/plugins/Video'; import { BoxLink } from '~/ui/components/BoxLink'; import { BookOpen02Icon } from '@expo/styleguide-icons'; We're about to embark on a journey of building universal apps. In this tutorial, we'll create a universal app that runs on Android, iOS, and the web; all with a single codebase. Let's get started! ## About this tutorial The objective of this tutorial is to get started with Expo and become familiar with the Expo SDK. It'll cover the following topics: - Create an Expo App - Break down the app layout and implement it with flexbox - Use each platform's system UI to select an image from the media library - Create a sticker modal using the `` and `` components from React Native - Add touch gestures to interact with a sticker - Use third-party libraries to capture a screenshot and save it to the disk - Handle platform differences between Android, iOS, and web - Finally, go through the process of configuring a status bar, a splash screen, and an icon to complete the app These topics will provide a good foundation for learning the fundamentals of building a mobile app. The tutorial is self-paced and can take two to three hours to complete. To keep it beginner friendly, we divided the tutorial into eight chapters so that you can follow along or put it down and come back to it later. Each chapter also contains all the necessary code so that you can follow along by creating an app from scratch or using Snack examples to copy and paste the code if you get lost. Before we get started, take a look at what we'll build. It's an app named **StickerSmash** that runs on Android, iOS, and the web: