Skip to content

Repository files navigation

quicksvg

License: MIT Version Node pnpm Python Docker

Convert PNG, JPEG, and WebP images to clean SVG vectors. Self-hosted and fast.

A small monorepo with two parts:

  • apps/web/SvelteKit frontend for upload, preview, and download.
  • apps/api/FastAPI backend that does the actual vectorization with vtracer.

Docs

Quick start

Prerequisites

  • Node.js = 25 (see .node-version)
  • pnpm ≥ 11
  • uv — Python package manager
  • Python = 3.14

Install

pnpm install
cd apps/api && uv sync && cd ../..
cp apps/web/.env.example apps/web/.env

The default API_BASE_URL=http://localhost:8000 works out of the box for local dev.

Run (dev)

pnpm dev

This runs both dev servers in parallel via Turborepo:

Docker

docker compose up --build

Persistent volumes (api_data, api_logs) survive container restarts. Add -v to docker compose down to wipe them.

For production deployment notes (TLS, auth, volume backups), see ARCHITECTURE.md → Deployment.

Useful scripts

Command Description
pnpm dev Run both apps in development mode
pnpm build Build both apps for production
pnpm start Start the production builds
pnpm format Format code (Prettier + Ruff)
pnpm lint Lint code (ESLint + Ruff)
pnpm typecheck Type-check both apps
pnpm clean Clean .turbo caches and build artifacts

License

MIT — Copyright (c) 2026 Harsh Thakur.

About

An image to svg converter

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages