A simple website for explaining anything in plain language — paste a topic, URL, YouTube video, or image and get an explanation anyone can understand.
Paste any topic, URL, YouTube video, or image and get a clear explanation that anyone can understand. Results are shareable via URL.
# Install dependencies
bun install
# Set up environment
cp .env.example .env
# Add your environment variables
# Run database migrations
bun db:migrate
# Start dev server
bun devSee .env.example for the full list with inline notes. Summary:
| Variable | Required | Purpose |
|---|---|---|
DATABASE_URL |
Yes | PostgreSQL connection string |
PUBLIC_BASE_URL |
Yes | Public base URL (auth callbacks, share links, OG tags) |
AUTH_SECRET |
Yes | better-auth session signing secret (openssl rand -base64 32) |
GOOGLE_CLIENT_ID |
Yes | Google OAuth sign-in |
GOOGLE_CLIENT_SECRET |
Yes | Google OAuth sign-in |
OPENROUTER_API_KEY |
Yes | AI generation |
POLAR_ACCESS_TOKEN |
Yes* | Polar organization access token |
POLAR_ENVIRONMENT |
Yes* | sandbox or production |
POLAR_PRODUCT_ID_MONTHLY |
Yes* | Product ID for the monthly Pro plan |
POLAR_PRODUCT_ID_YEARLY |
Yes* | Product ID for the yearly Pro plan |
POLAR_WEBHOOK_SECRET |
Yes* | Polar webhook signing secret |
PARALLEL_API_KEY |
No | Webpage content extraction (URLs work without it) |
REDIS_URL |
No | Resumable streams shared between users |
* Required for checkout and subscriptions (the Polar integration).
- Google OAuth — create credentials in the Google Cloud Console. Add
<PUBLIC_BASE_URL>/api/auth/callback/googleas an authorized redirect URI. - OpenRouter — API key from openrouter.ai/keys.
- Polar — access token, two products (monthly/yearly), and a webhook pointed at
<PUBLIC_BASE_URL>/api/auth/polar/webhooks. Use sandbox.polar.sh withPOLAR_ENVIRONMENT=sandboxfor local development. - Parallel (optional) — API key from parallel.ai for pre-fetching webpage content.
| Command | Description |
|---|---|
bun dev |
Start development server |
bun build |
Build for production |
bun db:generate |
Generate database migrations |
bun db:migrate |
Run database migrations |
SvelteKit, Bun, PostgreSQL, Drizzle, better-auth (Google OAuth), Polar (payments), OpenRouter (Gemini), Tailwind, shadcn-svelte
