shiru

About

osu!mania map search, SR analysis, and recommendations.

What shiru does

  • Search osu!mania maps by title, mapper, bid, key count, SR, tags, and dan estimate.
  • Analyze maps with the vendored ManiaMapAnalyser V1.3.1 pipeline and sunnyxxy rework output.
  • Group ranked, loved, mappack, and tournament collections without mixing trusted data and player submissions.
  • Estimate player range from osu! score history, saved maps, and feedback.

Technology

App
Next.js 16, React 19, TypeScript, Tailwind CSS
Analysis
Vendored ManiaMapAnalyser V1.3.1, sunnyxxy rework SR, pattern and skill summaries
Data
Neon Postgres for metadata and feedback; object storage/CDN for large map assets
osu!
osu! API v2 OAuth, beatmap metadata, score history, package and preview links
Deploy
Vercel, serverless routes, structured submit 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.
  • Large files such as .osz packages, audio, and backgrounds are not stored in Postgres.

Planned

  • Ranked and loved precompute into the production database.
  • Mappack and tournament collection pages.
  • Dark mode based on the original technical palette.
  • Player calibration and recommendation feedback loops.