Chordially is a music and fan engagement platform that helps creators connect with their audience through digital experiences, community-driven interactions, and Stellar-powered payment flows.
The project brings together a web app, mobile app, backend API, and dedicated Stellar service in a single TypeScript monorepo. The goal is to create a reliable foundation for building creator profiles, fan experiences, wallet-enabled interactions, and payment features across both web and mobile.
Chordially is designed for the modern creator economy, where artists, musicians, and creators need more direct ways to engage their fans, receive support, and build stronger digital communities.
Chordially focuses on the relationship between creators and fans.
Creators can use the platform to build their presence, manage their profile, and create engagement opportunities for their audience. Fans can discover creators, interact with them, support them, and participate in experiences that go beyond passive listening or following.
The Stellar integration allows the platform to support fast, low-cost payment primitives that can later power features such as:
- fan-to-creator payments,
- creator support,
- digital rewards,
- wallet-based interactions,
- payment confirmations,
- on-chain transaction tracking,
- creator monetization flows.
The project is structured to support both early MVP development and future expansion into richer creator and fan experiences.
Creators are the main users who build and manage their public presence on Chordially.
The creator experience may include:
- creator profile setup,
- creator bio and public details,
- music or content-related profile information,
- fan engagement tools,
- payment or support options,
- activity history,
- creator dashboard features.
The platform is intended to give creators a direct channel to connect with fans without relying only on traditional social media platforms.
Fans can use Chordially to discover creators, follow their activity, and engage with them through interactive experiences.
The fan experience may include:
- browsing creator profiles,
- engaging with creator content,
- supporting creators through Stellar-powered payments,
- viewing interaction or payment history,
- participating in creator-led campaigns,
- accessing mobile-first engagement flows.
The mobile app is especially important for fan interactions because many fan engagement flows are expected to happen quickly, casually, and on the go.
Chordially includes a dedicated Stellar service to keep blockchain-related operations separate from the main application logic.
This service is responsible for handling Stellar-specific workflows such as:
- wallet-related operations,
- transaction preparation,
- transaction submission,
- payment status checks,
- Horizon API communication,
- Stellar network configuration,
- payment and wallet abstractions used by the rest of the platform.
By isolating Stellar logic into its own service, the project remains easier to maintain and safer to extend as the payment layer grows.
Chordially is built with a modern full-stack TypeScript setup.
| Area | Technology |
|---|---|
| Web App | React / Next.js |
| Mobile App | React Native / Expo |
| Backend API | Express.js |
| Blockchain Service | Stellar |
| Language | TypeScript |
| Package Manager | pnpm |
| Architecture | Monorepo |
| Shared Code | Internal packages for config and types |
chordially/
├── apps/
│ ├── api/ # @chordially/api – Express modular monolith (auth)
│ ├── web/ # @chordially/web – Next.js web app (login/register)
│ └── mobile/ # @chordially/mobile – React Native / Expo foundation
│
├── packages/
│ ├── shared/ # @chordially/shared – shared types & validation schemas
│ └── stellar/ # @chordially/stellar – Stellar integration scaffold
│
├── docs/ # architecture, environment, testing, contributing
├── .github/workflows/ # per-package CI
└── README.mdSee docs/architecture.md for more detail on how these pieces fit together.
The API app is the main backend service for Chordially, built as an Express modular monolith (see docs/architecture.md).
Currently implemented:
modules/auth—POST /api/auth/registerandPOST /api/auth/login, backed by Prisma + SQLite, password hashing (bcrypt), and JWT issuance.modules/users— owns theUserpersistence layer used bymodules/auth.shared/middleware/auth.middleware.ts— JWT bearer verification (requireAuth), ready for future authenticated routes.
Future direction (see Core Product Areas above): user/creator/fan profile
APIs, payment request coordination with packages/stellar, and additional
modules following the same convention.
The web app provides the browser-based Chordially experience, built with Next.js (App Router).
Currently implemented:
/loginand/registerpages with client-side validation using@chordially/shared's zod schemas.AuthProvider/useAuthcontext for session state (token + user stored inlocalStorage).- A minimal home page reflecting authenticated vs. unauthenticated state.
Future direction: creator onboarding, dashboards, profile management, account settings, and wallet/payment UI.
The mobile app is a React Native (Expo) + TypeScript foundation for the Chordially mobile experience.
Currently implemented:
- Project tooling (Expo, TypeScript, ESLint, Jest via
jest-expo). - A pre-structured
src/{components,screens,navigation,hooks,services,utils,assets}layout for future feature work. - No authentication or screens yet — see Core Product Areas above for the intended fan/creator mobile experience.
Shared TypeScript types and zod validation schemas used by both apps/api
and apps/web, so request/response shapes and validation rules (e.g.
registerSchema, loginSchema, AuthUser, AuthResponse) stay in sync
across the stack.
A compile-only scaffold for the future Stellar payment layer described in the Core Product Areas section above. It currently exports placeholder types and interfaces only — no blockchain or Horizon integration has been implemented yet.
Before running the project, make sure you have the following installed:
- Node.js
- pnpm
- Git
- Expo tooling for mobile development
Clone the repository:
git clone https://github.com/your-username/chordially.git
cd chordiallyInstall dependencies:
pnpm installCopy the .env.example file for each app you want to run (see
Environment Variables below) before starting it.
Start the API service:
pnpm dev:apiStart the web app:
pnpm dev:webStart the mobile app:
pnpm dev:mobileFor local development, each app should usually run in its own terminal window.
Each app has a committed .env.example describing the variables it needs.
Copy it to the file the app loads locally and fill in real values:
apps/api/.env # from apps/api/.env.example
apps/web/.env.local # from apps/web/.env.example
apps/mobile/.env # from apps/mobile/.env.exampleSee docs/environment.md for the full list of variables per app.
Do not commit real secrets, private keys, or production credentials — only
.env.example files (and apps/api/.env.test, which holds non-sensitive
test-only values) are checked in.
Chordially is being built around a simple idea:
Creators should have a more direct, flexible, and rewarding way to connect with their fans.
The early product foundation is focused on:
- User authentication.
- Creator and fan profiles.
- Shared web and mobile user flows.
- Stellar-powered payment primitives.
- Creator support and fan engagement features.
- Reliable backend APIs.
- Clean separation between product logic and blockchain logic.
As the project grows, Chordially can expand into more advanced experiences such as campaigns, creator communities, digital rewards, exclusive fan interactions, and richer wallet-based features.
A typical Chordially flow may look like this:
- A creator creates an account.
- The creator sets up their public profile.
- A fan discovers or visits the creator profile.
- The fan chooses to support or interact with the creator.
- The platform prepares a Stellar-powered payment or engagement action.
- The Stellar service handles the transaction workflow.
- The API records the result and updates the relevant user activity.
- The creator and fan can both view the completed interaction.
This flow allows Chordially to combine familiar creator platform behavior with blockchain-powered payments behind the scenes.
When working on Chordially, keep the codebase clear, typed, and maintainable.
Recommended principles:
- Keep product logic readable and easy to follow.
- Use shared types where data crosses app boundaries.
- Keep Stellar-specific logic inside
packages/stellar. - Avoid duplicating API contracts across apps.
- Keep web and mobile flows aligned where possible.
- Prefer small, focused changes.
- Document important setup or architecture decisions.
- Do not commit secrets or private keys.
Common development commands:
pnpm install
pnpm dev:api
pnpm dev:web
pnpm dev:mobileWorkspace-wide checks (also run per-package in CI, see docs/testing.md):
pnpm lint
pnpm typecheck
pnpm test
pnpm build
pnpm check # lint + typecheck + testSee docs/contributing.md for the recommended development workflow.
License information should be added before public release.