haruki - 0x
0:00 - commissions open --:--

~/haruki · tournament organizer & developer

haruki

I run AimCup, an osu! relax tournament series, and build the tools around it: mappool planners, stats sites and Discord bots. Outside osu! I make things for Uma Musume players, like UmaCore and UmaStudio.

I also take commissions. If your tournament needs a website or a better way to run its mappool, I can build it.

See what I can build
fetch ~/haruki
haruki@byharuki.dev
map
-
mapper
-
objects
-
cs / ar
-
loop
-
theme
tokyo night
uptime
-

2 work

Things I've built

All of these are in use today. Click a screenshot to see it full size.

desktop app · open source · new

UmaStudio

A pose and render tool for Uma Musume. It loads characters straight from your installed game: pick a pose and an expression, give her a prop and a background, then save a PNG, GIF, video or a .glb model.

  • 90+ Umas and their chibis, 4,000+ poses, 500+ hand props
  • Uses the game's own hair and cloth physics
  • Custom pictures on props, e.g. your tournament's badge on a box
  • Python
  • three.js
  • WebView2

web app · private, for tournament staff

AimCup Pool Planner

Replaces the mappool spreadsheets. Mappers claim slots, upload their .osz and tick off a checklist; poolers, QA and playtesters each get their own view of the pool. Shown here with demo data.

  • Pool layout per stage, map claims and holds
  • .osz uploads are parsed: BPM, CS, AR, OD come from the file
  • QA board, playtesting, pooling suggestions, exports
  • Next.js
  • PostgreSQL
  • osu! OAuth
  • osu! API v2

web app · live

osu! tournament stats

Feed a stage its MP links and it pulls every score, lets an admin review them, and publishes the stats: per map, per player and per team, plus a scouting view for the next match.

  • Mappool pages with top plays and pick / ban rates
  • Seeding by zipf, ranked by accuracy or score
  • Head-to-head scouting between any two teams
  • Next.js
  • PostgreSQL
  • osu! API v2

discord bot + dashboard · live

UmaCore

Club management for Uma Musume. The bot tracks every member's daily and monthly fan quota and posts reports; the dashboard lets club leaders and members check it without Discord.

  • Used by 370+ clubs and 9,000+ members
  • Course maps showing where each skill fires
  • Verified Discord app
  • Python
  • discord.py
  • Next.js
  • PostgreSQL

3 hire

Commission me

I build web tools for osu! tournaments. Just message me on Discord with what you need.

01

Tournament web package

A website for your tournament, from sign-ups to grand finals.

  • Player registrationosu! login, solo or team sign-ups
  • Schedulematch times, staff assignments and results
  • Mappoolevery stage's pool with mods, stats and downloads
  • Bracketdouble elimination, group stage or Swiss
  • Staff listevery role, linked to osu! profiles
  • And morerules, qualifier lobbies, stats and scouting, an admin panel
Mappool and stats pages from Aim Cup 5.

02

Mappool & custom map management

The Pool Planner from above, set up for your tournament and your staff.

  • Pool layoutstages, mod slots, best-of and bans in one place
  • Map claimsmappers claim or hold a slot, poolers see who is on what
  • Custom map tracking.osz uploads, progress, checklist, hitsounds
  • QA & playtestingnotes per map, playtest replays, a QA board
  • Poolingsuggest maps by beatmap id or link, flag ones used before
  • Roles & exportadmin, pooler, QA, mapper, playtester; copy the final pool out
Pool Planner with demo data.

Something else?

Discord bots, dashboards and small tools, like UmaCore or beatmap-downloader above.

  1. 01Message me on Discord with what you need.
  2. 02The price depends on what you need, how big it is and how much time it takes. If I have to design the whole frontend myself without a GFX artist, it costs more.
  3. 03A full year of support: revisions and bug fixes included, no major redesigns.

4 contact

Message me on Discord

Quickest way to reach me. Add me or send a DM with what you have in mind.

© haruki · bg: beatmap