If smartphones and the internet were built by the people for the people. Create services on the EVY platform and get paid every time your contribution is used. The EVY app is privacy-focused, local-first and peer-to-peer.
Cross-platform contracts live in types/ at the repo root.
- Source of truth:
types/schema/— JSON Schema files for SDUI types and JSON-RPC payloads. - Generated:
types/generated/ts/(TypeScript) andtypes/generated/swift/(Swift). These are committed; do not edit by hand.
Commands (from repo root):
bun run types:generate— regenerate TS and Swift from schemas.
After changing any schema (including types/schema/data/), run bun run types:generate and commit the updated files under types/generated/.
For example, run Postgres via Docker and run the API and web app locally:
docker compose up --build postgres
bun install
bun run db:seed
cd api
bun install
bun run devIn another terminal, from the repo root:
cd web
bun install
bun run devUses pre-built images from GitHub Container Registry (requires authentication):
docker compose -f docker-compose.prod.yml upcd api
bun install
bun run devOr with Docker:
cd api
docker build -t evy-api .
docker run -p 8000:8000 \
-e DB_USER="user" \
-e DB_PASS="password" \
-e DB_PORT="5432" \
-e DB_DOMAIN="host" \
-e DB_DATABASE="evy" \
evy-apicd web
bun install
bun run devOr with Docker:
cd web
docker build -t evy-web .
docker run -p 3000:3000 evy-webSee individual README files for more details.