shiru

About

An osu!mania discovery and growth platform for understanding your current skills and choosing the most useful map to play next.

What shiru does

  • Search and preview osu!mania maps by title, mapper, bid, key count, analysis rating, tags, dan estimate, and skill demand.
  • Analyze map patterns, components, strain, and analysis rating with the vendored ManiaMapAnalyser V1.6.0 pipeline.
  • Build a six-skill player profile and progress history from matched osu! scores.
  • Recommend the next useful map from skill gaps, predicted accuracy, key mode, saved maps, and player feedback.

Technology

App
Next.js 16 App Router, React 19, TypeScript, Tailwind CSS
Analysis
ManiaMapAnalyser V1.6.0, analysis rating, skill demand, pattern and component analysis
Player model
Calibrated six-skill profile, predicted accuracy, weak-skill recommendations, and progress snapshots
Data
Neon Postgres for maps and player history; Cloudflare R2 for submissions and the OSZ mirror
Platform
osu! API v2 OAuth and score history, Vercel serverless routes, Sentry, and structured logs

Data boundaries

  • osu! plays and favourites stay separate from shiru recommendation, download, save, and feedback counters.
  • Player-submitted tags and pack claims are stored separately until trusted or curated.
  • Player skill and progress snapshots are stored without osu! access tokens.
  • Large files such as .osz packages, audio, and backgrounds are not stored in Postgres.

Planned

  • Expand analyzed Ranked and Loved coverage across key modes and skill bands.
  • Progression paths, training packs, and guided learning paths.
  • Community-curated collections and reusable practice packs.
  • Calibrate skill and recommendation models with player feedback.