Veud is a media tracker for movies, television, anime, and manga. It combines configurable watchlists with catalog discovery, social profiles, recommendations, and AI-assisted search.
- Detailed desktop watchlist grids and compact mobile list cards
- Movie, television, anime, and manga catalog search
- Tip of My Tongue text and image matching
- Ratings, progress, diary history, reviews, collections, and favorites
- Profiles, follows, activity, notifications, and moderation tools
- Local TMDB and MyAnimeList catalog ingestion
Veud uses React Router, React, TypeScript, Prisma, PostgreSQL, SCSS, Tailwind, AG Grid, Vitest, and Playwright. Local development and tests use SQLite; production uses PostgreSQL.
Requirements:
- Node.js 22
- npm
npm install
cp .env.example .env
npm run prisma:generate:sqlite
npx prisma migrate deploy
npx prisma db seed
npm run devFill in only the provider credentials needed for the feature being developed.
Never commit .env files or credentials.
npm run lint
npm run typecheck
npm run test -- --run
PORT=4122 npm run test:e2e:runThe complete release gate is:
npm run validate:releaseSee Testing for browser ports, visual baselines, and PostgreSQL validation.
- Architecture
- Catalog operations and provider policy
- Deployment and operations
- Testing
- Contributing
- Security policy
Host-specific commands remain beside their implementation:
Veud uses metadata from TMDB, MyAnimeList, AniList, and Trakt. Provider attribution and source links are preserved in the application.
Veud is licensed under the GNU Affero General Public License v3.0. Provider data, trademarks, and third-party assets remain subject to their respective owners and terms. Copyright © 2024–2026 Aaron Carlson.