Skyhitz is a music and media platform with blockchain integration, allowing creators to tokenize and monetize their content. The platform includes a Next.js web app and an API deployed on Cloudflare Workers.
Monorepo with API and Web app plus shared packages:
skyhitz/
├── packages/
│ ├── api/ # GraphQL API (Cloudflare Workers)
│ └── solito/ # Web/Mobile apps and shared code
│ ├── apps/
│ │ ├── next/ # Web app (Next.js + OpenNext Cloudflare)
│ │ └── expo/ # Mobile app (React Native/Expo)
│ └── packages/
│ └── app/ # Shared components and functionality
- Cloudflare Workers (Wrangler)
- Apollo Server (GraphQL)
- Stellar/Soroban SDK (smart contracts)
- Algolia, Stripe, Postmark, JWT
- Next.js 15 (React 19) for web
- OpenNext Cloudflare runtime (
@opennextjs/cloudflare) - React Native/Expo for mobile (optional)
- TailwindCSS
- Node.js and Yarn
- Cloudflare Wrangler CLI
yarn install
- API (Cloudflare Worker dev server):
yarn api:dev
- Web (Next.js):
cd packages/solito/apps/next && yarn dev
- Mobile (Expo):
cd packages/solito && yarn native
Wrangler config: packages/solito/apps/next/wrangler.toml
From repo root:
yarn cf:build # Build web for Cloudflare
yarn cf:preview # Preview locally using CF
yarn cf:deploy # Deploy (default env)
yarn cf:deploy:staging # Deploy to staging
yarn cf:deploy:production # Deploy to production
Environments configured in wrangler.toml:
- production:
skyhitz-app - staging:
skyhitz-app-staging
Wrangler config: packages/api/wrangler.toml
From repo root:
yarn api:deploy
Or from packages/api/:
yarn deploy
Use Wrangler environment variables or .dev.vars for local dev.
ALGOLIA_ADMIN_KEYALGOLIA_APP_IDISSUER_SEEDJWT_SECRETPOSTMARK_SERVER_TOKENSTRIPE_SECRET_KEYSTRIPE_WEBHOOK_SECRETSTELLAR_NETWORK(e.g.testnet|mainnet)
NEXT_PUBLIC_EXPO_SKYHITZ_ENV(e.g.production|staging|test|local-prod)NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY
These can be set per-environment under [env.<name>.vars] in packages/solito/apps/next/wrangler.toml.
Located under packages/api/contract/.
Testnet:
yarn workspace @skyhitz/api testnet:contract:setup
yarn workspace @skyhitz/api testnet:contract:upgrade
Mainnet:
yarn workspace @skyhitz/api mainnet:contract:setup
yarn workspace @skyhitz/api mainnet:contract:upgrade
yarn workspace @skyhitz/api mainnet:contract:bindings
- API uses Wrangler v4 with
nodejs_compatenabled inpackages/api/wrangler.toml. - Web app is built and deployed with OpenNext for Cloudflare.
- Email provider is Postmark.
Copyright © Skyhitz, Inc.
