# Storefront apps

Source: https://developers.swell.is/storefronts/storefront-app-guide

Storefront apps are the foundation of a Swell store, and the recommended approach to building merchant storefront solutions. They can take many forms, while [Proxima](https://developers.swell.is/storefronts/proxima-app) is designed to emulate the familiar Shopify model, there's no limit to the structure and capabilities that a storefront app might implement.

> **Tip:** For a a deeper dive on building apps, see the [App development](https://developers.swell.is/apps/app-development) guide.

### Use cases

Swell's goal is to enable a wide range of customer-facing solutions with storefront apps, beyond the usual catalog store.

- **Industry-specific** – Every business has unique needs and an opportunity to differentiate by optimizing for a their own industry. For example, a wholesale business may prefer to display products in a bulk interface, while a fashion brand might want to optimize engagement and inventory sell-through with a daily deal site.
- **Merchant-specific** – Developers are often hired by merchants to create bespoke solutions. Storefront apps create an opportunity to build experiences that are tailored for a merchant from the ground-up, while packaging the solution in a way that can easily be offered to similar companies without managing custom infrastructure.
- **Add-ons** – Because there's no limit to the kind of functionality a storefront app can implement, developers can build add-ons to a full catalog store. For example checkouts, customer portals, content-based subscriptions, and more.

> **Note:** **Coming soon**: Swell is planning a feature to combine multiple Storefronts into a single online store, called **Portals**. This exciting development will allow storefront apps to serve a niche purpose and create a cohesive customer experience for multiple use cases in one.

## Structure

The structure of a storefront app is the same as any other type, with the only requirement being that they implement a [Frontend](https://developers.swell.is/apps/frontend). Development workflow, versioning, installation, and upgrade process is otherwise the same.

A storefront app frontend can implement any route structure and functionality relevant to its purpose. It may also implement [Data models](https://developers.swell.is/apps/models), [Content models](https://developers.swell.is/apps/content), and [Settings](https://developers.swell.is/apps/settings) for a seamless integration with the Swell dashboard.

## Themes

Themes offer a way for merchants to customize the look and feel of their storefront visually with the Swell Theme Editor. While offering theme support may seem daunting, there are a couple of ways to achieve it.

- **Built-in theme** – The app can offer its own theme by adding a `theme/` folder to its code base with the necessary structure and default configurations. **Note: Support for built-in themes is currently a work in progress.**
- **Standalone themes** – For the ambitious developer, this approach is allows independent theme developers to create unique designs for your storefront app. [Proxima](https://developers.swell.is/storefronts/proxima-app) is a production-ready open-source example of this approach.

## Next steps

- Read the [Getting started](https://developers.swell.is/apps/getting-started) guide for Swell Apps.
- Learn how to support advanced storefront features with the [Apps SDK](https://developers.swell.is/apps/swell-apps-sdk).
