From 0f207f4cddb18dcf7910a6caa0c2b477702238c0 Mon Sep 17 00:00:00 2001 From: Gabriel Kaszewski Date: Sat, 11 Jul 2026 23:05:40 +0200 Subject: [PATCH] pocket chords --- lib/data.ts | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/lib/data.ts b/lib/data.ts index 789d847..1c51cc5 100644 --- a/lib/data.ts +++ b/lib/data.ts @@ -455,6 +455,27 @@ export const projects: Project[] = [ thumbnails: ["/images/galeria_rumia.avif", "/images/galeria_rumia2.avif"], commercial: true, }, + { + id: 25, + name: "PocketChords", + short_description: + "Self-hosted chord chart library for playing music on the go.", + description: + "A rip-off of Ultimate Guitar without ads or subscriptions. Import chord sheets from UG HTML, transpose chords (including slash chords like G/B), view piano and guitar chord diagrams — all optimized for phone use while playing.\n\n**Highlights:**\n- Import from Ultimate Guitar URLs or HTML files (bulk import)\n- Server-side transposition with slash chord support\n- Piano keyboard and guitar fretboard chord diagrams\n- Auto-scroll, section navigation, wake lock for hands-free playing\n- Favorites, adjustable font size, capo support\n- JWT auth (register/login/refresh/logout)\n- OpenAPI docs at /docs\n- Single binary serves both API and SPA\n\n**Technical details:**\n- **Architecture:** Hexagonal (Ports & Adapters) with DDD/CQRS\n- **Backend:** Rust, Axum, SQLx\n- **Frontend:** React Router 7 (SPA), TailwindCSS, shadcn/ui\n- **Database:** SQLite\n- **Auth:** JWT + Argon2", + category: "Web", + github_url: "https://git.gabrielkaszewski.dev/GKaszewski/pocket-chords", + visit_url: "https://chords.gabrielkaszewski.dev/", + download_url: null, + technologies: [ + "Rust", + "Axum", + "React", + "TailwindCSS", + "SQLite", + "Docker", + ], + thumbnails: [], + }, { id: 24, name: "Movies Diary",