Desktop/web chord-chart editor for Karen and Myanmar song charts.
- The legacy HTML monolith in
index.htmlis the primary UI surface for the current workstream. - The React/Vite files remain as migration artifacts unless the operator explicitly switches the target back to them.
- The project-specific Codex prompt pack lives under
prompts/. - For multi-issue annotation dumps, follow
prompts/project/issue-priority.mdafter the source-of-truth docs.
- FastAPI backend
- SQLite data layer with migrations
- Vite + React + TypeScript frontend
- PyWebView desktop shell
python -m pip install -r requirements.txt -r requirements-build.txt
npm installStart the backend:
python app.pyIn a second shell, start the frontend dev server:
npm run devOpen http://127.0.0.1:5173.
npm run build.\packaging\build_windows.ps1 -InstallBuildDepsThe packaged app opens the local FastAPI server in a WebView window and preserves the existing songs database.
- Click Import to see accepted formats, recognized fields, chart notation, image-quality guidance, privacy boundaries, and the review policy.
- Import Karen Music JSON, text/ChordPro chart code, PNG/JPG/WEBP images, or PDFs.
- JSON and text formats parse locally; images and PDFs use the first configured Gemini, NVIDIA, or OpenAI vision provider that succeeds.
- Review confidence, recognized and missing fields, warnings, sections, and measures before filling the editor.
- The filled editor remains an unsaved draft until the operator reviews it and presses Save.
- The app no longer depends on Flask.
- Existing
songs.dbfiles are migrated in place. - Legacy song exports remain readable through the normalized schema.