Welcome to the codebase for the Spark Social mobile app.
Get the Spark Social app:
This repo contains the mobile client for Spark Social. This is a Flutter app, written in Dart, using MaterialApp as its base.
Spark is an open source shortform social app for photos and videos built on AT Protocol. It's an open alternative to closed platforms like Instagram and Tiktok.
We support stories, reusable sounds, DMs, and we have a built-in photo and video editor powered by pro_image_editor.
The app is organized with a feature-first structure and uses Riverpod + GetIt + Freezed + AutoRoute. We also utilize the open source atproto.dart client libraries.
lib/
main.dart
src/
core/ # shared infrastructure (network, routing, utils, theme, etc.)
features/ # feature modules
<feature>/
data/
providers/
ui/
widgetbook/ # widgetbook workspace package
fonts/ # local font package
assets/ # local assets package
Spark Social is built on AT Protocol, a protocol for decentralized social networks. This allows for unprecidented amounts of user-autonomy and data ownership, and ensures no one entity is in charge of the network.
The lexicon schemas for the records published and APIs used by this app are
under the so.sprk.* namespace.
The API server or "AppView" this app uses can be found in the
server repo, and contains the
sprk.so.* lexicon schemas used in this client.
See CONTRIBUTING.md for guidelines.
MIT Licensed. See LICENSE.