---
title: Build apps with Stacks
description: Authenticate users, sign transactions and store data with the Stacks blockchain
sidebar_position: 3
sidebar_label: Build apps
---

## Introduction

Apps built with the Stacks blockchain give users control over their digital identities, assets, and data.

Unlike most cloud-based apps, they are "decentralized" since they don't depend on any centralized platform, server, or database to function. Rather, they use the Stacks blockchain to authenticate users and facilitate read and write requests for them without any single point of failure or trust.

Stacks provides three main functions for building apps:

<!-- markdown-link-check-disable -->

- **Authentication**: Register and sign users in with identities on the Stacks blockchain
- **Transaction signing**: Prompt users to sign and broadcast transactions to the Stacks blockchain
- **Data storage**: Save and retrieve data for users with [Gaia](../gaia)
<!-- markdown-link-check-enable-->

All three of these integrations can be used together to create powerful new user experiences that rival or exceed those of traditional apps—all while protecting your users' digital rights.

While integration is possible for any type of app, most of the resources available here are for web developers experienced with JavaScript. See [Hiro developer docs](https://docs.hiro.so) for more information on the available app development libraries for Stacks.

## [References](references)

[Authentication](references/authentication)

[BNS](references/bns)

[Gaia](../gaia/)

