# 🌸 Petal

A self-hosted, privacy-first writing editor with warm bubbly design, auto-save, and
local-LLM grammar/ESL suggestions. See [`petal-spec.md`](./petal-spec.md) for the full
design spec and [`BUILD_PLAN.md`](./BUILD_PLAN.md) for build progress.

## Stack
Go + chi backend · SQLite (modernc, pure Go) · React + Vite + Tiptap + Tailwind v4 frontend ·
local vLLM/Ollama for AI suggestions. Single-binary deployment (frontend embedded via `go:embed`).

## Local development

Two processes during development:

```bash
# 1. Backend (serves /api on :8080)
go run ./cmd/server

# 2. Frontend dev server (HMR on :5173, proxies /api → :8080)
cd web && npm install && npm run dev
```

Open http://localhost:5173 while developing.

## Production build (single binary)

```bash
cd web && npm run build      # emits web/dist (embedded by the Go binary)
cd .. && go build -o petal ./cmd/server
./petal                      # serves UI + API on :8080
```

Configuration is via environment variables — copy `.env.example` to `.env`.

## Status
Early build, multi-session. Auth (Authentik), Copyleaks plagiarism, and Docker/Traefik
deployment are deferred — see `BUILD_PLAN.md`.
