OpenSakura
MekaHime's first AI companion, now open source. 26 emotions, her real voice, real-time replies and memory, running on your own PC. Discord mode coming soon.
Discover what your music taste says about your friends.
Translation pending
SocialGitHub @yb-g-personalOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Repository information has not been collected yet.
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗A cross-platform music taste blending app built with Next.js, TypeScript, Tailwind CSS, Anime.js, and Supabase.
Use Vercel + Supabase for the full app. Vercel's free tier runs the Next.js pages, server actions, and API routes; Supabase's free tier provides authentication and PostgreSQL.
Install the current LTS release from https://nodejs.org/ . Then restart VS Code and confirm:
node --version
npm --version
From this folder:
npm install
npm run typecheck
npm run build
supabase/migrations/20261020000000_initial.sql, and click Run.profiles, friendships, groups, group_members, blends, tracks, blend_tracks, provider_connections, listening_signals, and refresh_jobs tables exist.The migration enables Row Level Security and creates the required policies. It also:
For local development, copy .env.example to .env.local and fill in the two public Supabase values. Add SUPABASE_SERVICE_ROLE_KEY only if a server-side feature explicitly needs an administrative client.
npx vercel
NEXT_PUBLIC_SUPABASE_URL
NEXT_PUBLIC_SUPABASE_ANON_KEY
SUPABASE_SERVICE_ROLE_KEY
LASTFM_API_KEY
vercel.app URL.Netlify Drop, Cloudflare Pages' direct upload, and similar drag-and-drop hosts are suitable for a static HTML export only. They cannot run this full sinq app's server actions, Supabase session handling, or Last.fm refresh route by simply uploading the source files.
For the full application, the closest easy process is:
After the first deployment, pushing changes to GitHub redeploys automatically.
Without Supabase environment variables, sinq shows clearly labelled sample data so the UI can still be explored. Authentication, persistence, provider refresh, and server actions require the Supabase variables.
With Supabase variables configured, the home, blends, groups, friends, services, and settings screens use live database data. Users can update their profile, send friend requests by username, create groups, save a Last.fm username, and sync recent Last.fm listening signals. The generated blend calculations and playlist exports remain follow-up product work; the current sync stores provider signals and refresh metadata for those features.
npm run dev
Open http://localhost:3000 .