{"id":47754200,"url":"https://github.com/developedbydev/overlay-web","last_synced_at":"2026-04-03T04:01:50.797Z","repository":{"id":347204810,"uuid":"1133644268","full_name":"DevelopedByDev/overlay-web","owner":"DevelopedByDev","description":"Your personal AI operating system","archived":false,"fork":false,"pushed_at":"2026-03-27T08:42:51.000Z","size":11225,"stargazers_count":27,"open_issues_count":0,"forks_count":4,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-27T14:09:28.003Z","etag":null,"topics":["ai","ai-agents","automation","convex","devtools","openclaw","productivity","vercel"],"latest_commit_sha":null,"homepage":"https://getoverlay.io/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DevelopedByDev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-01-13T16:19:07.000Z","updated_at":"2026-03-27T14:07:55.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/DevelopedByDev/overlay-web","commit_stats":null,"previous_names":["developedbydev/overlay-web"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/DevelopedByDev/overlay-web","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevelopedByDev%2Foverlay-web","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevelopedByDev%2Foverlay-web/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevelopedByDev%2Foverlay-web/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevelopedByDev%2Foverlay-web/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DevelopedByDev","download_url":"https://codeload.github.com/DevelopedByDev/overlay-web/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevelopedByDev%2Foverlay-web/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31333229,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-03T03:20:36.090Z","status":"ssl_error","status_checked_at":"2026-04-03T03:20:35.133Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","ai-agents","automation","convex","devtools","openclaw","productivity","vercel"],"created_at":"2026-04-03T04:01:06.357Z","updated_at":"2026-04-03T04:01:50.781Z","avatar_url":"https://github.com/DevelopedByDev.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Overlay Web App\n\nOverlay is a Next.js + Convex application that combines a public marketing site with a\nsigned-in AI workspace. The product is centered around chat, notes, memories, knowledge,\nprojects, and media generation.\n\nThis repository contains the web surface for Overlay:\n\n- The landing site and pricing/legal pages.\n- The authenticated `/app/*` product experience.\n- Next.js API routes for auth, Stripe, file/media flows, and AI interactions.\n- The Convex backend schema and functions that power app data, usage tracking, and\n  server-side integrations.\n\n## What You Can Do In Overlay\n\n- Chat with multiple model providers.\n- Save and retrieve notes, memories, files, and project context.\n- Run \"Ask\" and \"Act\" flows with tool calling.\n- Generate images and videos.\n- Connect external tools through Composio.\n- Manage subscriptions and entitlements with Stripe.\n\n## Tech Stack\n\n- `Next.js 15` with the App Router.\n- `Convex` for backend functions, data, and realtime state.\n- `WorkOS` for authentication.\n- `Stripe` for billing and subscription events.\n- `Vercel AI SDK` plus provider SDKs for OpenAI, Anthropic, Google, Groq, xAI, and OpenRouter.\n- `TipTap`, `react-markdown`, and KaTeX for rich editing and rendering.\n\n## Repository Layout\n\n```text\n.\n├── convex/                  # Backend schema, queries, mutations, actions, HTTP routes\n├── src/app/                 # Next.js pages, layouts, and API route handlers\n├── src/components/          # Marketing and app UI components\n├── src/lib/                 # Shared auth, model, tools, Stripe, and helper code\n├── scripts/                 # Sanity scripts and one-off checks\n├── docs/                    # Product and implementation docs\n├── ENV_SETUP.md             # Environment setup guide\n├── SECURITY.md              # Security policy and reporting guidance\n└── TESTING_CHECKLIST.md     # Manual Stripe/subscription test notes\n```\n\n## Important Product Areas\n\n### Public site\n\n- `/` is the animated landing page.\n- `/pricing`, `/manifesto`, `/privacy`, and `/terms` are public content pages.\n\n### Authenticated app\n\n- `/app/chat`\n- `/app/notes`\n- `/app/memories`\n- `/app/knowledge`\n- `/app/projects`\n- `/app/outputs`\n- `/app/integrations`\n- `/app/voice`\n\n### Key API surfaces\n\n- `src/app/api/auth/*` for sign-in, SSO, callback, session, desktop/mobile handoff, and refresh.\n- `src/app/api/app/conversations/*` for Ask/Act chat flows.\n- `src/app/api/app/files/*`, `memory`, `notes`, `projects`, `skills`, and `outputs`.\n- `src/app/api/webhooks/stripe/route.ts` for Stripe webhooks.\n\n## Local Development\n\n### Prerequisites\n\n- Node.js 20+\n- npm\n- A Convex account and separate dev/prod deployments\n- WorkOS app credentials if you want auth enabled\n- Stripe test credentials if you want billing flows enabled\n\n### Install\n\n```bash\nnpm install\n```\n\n### Configure environment variables\n\n1. Copy `.env.example` to the env files you need.\n2. Fill in the placeholders with your own deployment URLs and secrets.\n3. Read `ENV_SETUP.md` for the full setup matrix across web, Convex, mobile, and desktop.\n\n### Run the app\n\n```bash\nnpm run dev\n```\n\n### Build locally\n\n```bash\nnpm run build\nnpm run start\n```\n\n## Convex Workflow\n\nThis repo expects separate Convex environments for development and production.\n\n```bash\nnpm run convex:push:prod\nnpm run convex:push:dev\nnpm run convex:push:all\n```\n\nIf you change anything inside `convex/`, push both deployments so the web app and backend\nstay aligned.\n\n## Available Commands\n\n| Command | Purpose |\n| --- | --- |\n| `npm run dev` | Run the Next.js development server |\n| `npm run build` | Create a production build |\n| `npm run start` | Serve the production build |\n| `npm run lint` | Run ESLint |\n| `npm run test:unified-tools` | Run the unified tools sanity script |\n| `npm run convex:push:prod` | Push Convex changes to production |\n| `npm run convex:push:dev` | Push Convex changes to dev |\n| `npm run convex:push:all` | Push Convex changes to both deployments |\n\n## Ask / Act Tooling\n\nOverlay merges several tool layers into chat:\n\n- Overlay-native tools from `src/lib/tools/build.ts`\n- Composio tool integrations from `src/lib/composio-tools.ts`\n- AI Gateway / Perplexity search when enabled\n\nPrimary orchestration happens in:\n\n- `src/app/api/app/conversations/ask/route.ts`\n- `src/app/api/app/conversations/act/route.ts`\n\nSuccessful and failed tool calls can also be recorded into Convex usage/audit tables.\n\n## Models And Generation\n\nModel catalogs live in `src/lib/models.ts` and include:\n\n- Text chat models\n- Image generation models\n- Video generation models\n\nThe app supports capability-aware model metadata such as:\n\n- reasoning\n- vision\n- search\n- cost tier\n\n## Integrations\n\nOverlay currently includes integration surfaces for:\n\n- WorkOS auth\n- Stripe billing\n- Composio-connected tools\n- OpenRouter\n- Vercel AI Gateway\n\n## Security Notes\n\n- Public docs use placeholders instead of live deployment identifiers.\n- Local Cursor state files are ignored and should not be committed.\n- Session cookies are encrypted and signed before storage.\n- Transfer tokens are short-lived, encrypted before storage, hashed for lookup, and can be bound to a client-provided verifier.\n- Provider key export is isolated behind a dedicated `PROVIDER_KEYS_SECRET`; the Next.js server reads provider env vars directly.\n- Client-supplied `systemPrompt` values are treated as lower-priority extensions and cannot override operator instructions.\n- Sensitive logs are redacted in higher-risk chat and billing flows.\n- See `SECURITY.md` for reporting guidance and secure contribution expectations.\n\n## CI / Repository Safeguards\n\nGitHub Actions includes a security workflow that:\n\n- runs `gitleaks` for secret scanning\n- blocks `NEXT_PUBLIC_*` variables that look like secret-bearing env names\n\n## Open Source Expectations\n\nIf you plan to contribute:\n\n- do not commit real secrets, tokens, or customer data\n- keep public docs on placeholders\n- treat `NEXT_PUBLIC_*` values as public\n- prefer adding new backend logic in `convex/` and corresponding web handlers in `src/app/api/`\n\n## Related Docs\n\n- `ENV_SETUP.md`\n- `SECURITY.md`\n- `TESTING_CHECKLIST.md`\n\n## Status\n\nThis repository is actively evolving. Expect product-specific architecture, auth, billing,\nand tool integrations to change as the system is hardened and prepared for broader\nopen-source collaboration.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevelopedbydev%2Foverlay-web","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevelopedbydev%2Foverlay-web","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevelopedbydev%2Foverlay-web/lists"}