Studio Toriumi

Work & Pricing

Studio Toriumi · updated 2026-09

A one-person studio. I take projects from planning through launch and ongoing operation. Everything below is live and in use. The numbers are real operating figures, not projections.

Turning this portfolio into freelance services: platforms, delivery and earnings after fees →

Selected work (10, same format)

Each entry follows the same order: the problem, what was built, the stack, and where it stands now.

01

Namaegao

Problem
"I remember the face but not the name." Train that, as a game.
Built
A memory-matching trainer pairing faces with names. Android app and web version from one codebase, with cosmetic and ad-free in-app purchases.
Stack
Flutter/Dart, Firebase, AdMob, Google Play signing and review, web delivery on Cloudflare Workers.
Numbers
Live on Google Play, updated through the 2.1 series, generating AdMob revenue.

FlutterPlay ConsoleAdMobIAP

02

toriumis.com (this site)

Problem
Put 30+ apps and long-form pieces in one place, and take view counts, comments, and inquiries without third-party services.
Built
Project index, popularity sorting, moderated comments, an inquiry box with email notification, a newsletter API, and an admin panel. All in-house.
Stack
Cloudflare Workers + D1 (SQLite) + KV, Resend, build-time baking of sitemap/hreflang/OG, Japanese and English side by side.
Numbers
20+ subdomains run on the same Worker pattern. Hosting cost: ¥0/month on the Workers free tier.

Cloudflare WorkersD1KVResend

03

Inemuri Guard (drowsiness alarm)

Problem
Night shifts, monitoring desks, and long drives: catch the person nodding off, without sending video anywhere.
Built
Uses the device camera to judge eye closure on-device and sounds an alarm when the eyes stay shut. No video leaves the device. Web and Android versions, with glasses/mask false-positive handling.
Stack
In-browser face landmark estimation, PWA, Android (Kotlin).
Numbers
Five real-device bugs fixed before release. B2B validation in progress.

PWAKotlinOn-device ML

04

BCI WATCH / FREE WILL WATCH / IMMORTAL WATCH

Problem
Follow new papers and news on brain–computer interfaces, free will, and longevity every day with no manual work.
Built
Three tracker sites sharing one skeleton. Every morning at 07:00 JST they pull from paper APIs and news, bake static HTML, redeploy, and send an email digest.
Stack
Python, GitHub Actions (cron), OpenAlex / Google News, Cloudflare Workers, Resend.
Numbers
Three sites updating unattended daily; 4,600–18,000 characters of body text baked static so search engines can read it.

PythonGitHub ActionsAuto-collectionEmail digest

05

AI WATCH

Problem
News from AI labs, communities, and student programs is scattered with no single place to follow it.
Built
A tracker that collects updates from each source automatically into one list. Japanese and English.
Stack
Collection on GitHub Actions (to stay under the Workers cron limit), delivery on Cloudflare Workers.
Numbers
Updating unattended since launch.

GitHub ActionsCloudflare WorkersJA/EN

06

Quantum Draw

Problem
Show that a drawing is fair in a way anyone can verify, not just "trust us."
Built
Winners are chosen from a random pool sampled on real IBM quantum hardware; the verification script is published so anyone can recompute the result.
Stack
IBM Quantum, Cloudflare Workers, a public verify.js with tests.
Numbers
Draw logic pinned by tests; the fairness argument is readable on the page itself.

IBM QuantumVerifiableWorkers

07

Okiro! Alarm

Problem
An alarm clock that works without installing an app, with sounds that aren't stock samples.
Built
A PWA alarm with six alarm tones synthesized from equations. A native Android version lives in the same repository.
Stack
PWA, Kotlin, Python for sound synthesis, six languages.
Numbers
Web version live in six languages.

PWAKotlini18n

08

Pagedive (book-scanning PWA)

Problem
Turn a video of flipping through a book into a PDF with no duplicate pages, automatically.
Built
Analyzes video frames, detects page turns, and produces a PDF. Web and Android from one codebase.
Stack
Svelte 5, Capacitor, duplicate detection on downscaled frames.
Numbers
Android build passing.

Svelte 5CapacitorImage processing

09

GHOST / DIVE Cyberbrain Lab

Problem
No self-study path takes a non-science adult from zero to consciousness science and BCI in a sensible order.
Built
A 33-sector course from mathematical foundations through consciousness theories to BCI, with sources and confidence labels.
Stack
Static HTML, structured data, Japanese and English.
Numbers
33 sectors. The most-shown page in search across this whole site family.

Curriculum designSEOJA/EN

10

Play the Mechanics of Board Games

Problem
Let people feel what makes a board game work, in a browser, without infringing anyone's rights.
Built
Twenty small games that isolate a single mechanic each, with the rights boundary stated explicitly. A sister site reviews 50 board-game apps.
Stack
Plain JavaScript, baked to static HTML at build time (7,000 characters of searchable body text).
Numbers
20 games live, 50 apps surveyed.

JavaScriptGamesStatic baking

Pricing

The first consultation and estimate are free. Figures below are guidelines before tax; a fixed quote follows once requirements are settled.

Landing page / brochure site¥100k–300kOne to a few static pages. Includes JA/EN, OG image, sitemap, and a contact form. 2–4 weeks.
Small app¥300k–800kA Flutter mobile app, or a Cloudflare Workers + D1 web app. From scoping through store submission and launch. 1–3 months.
Self-updating site¥200k–500kLike the WATCH sites above: collect from fixed sources daily and bake into a static site plus email. Designed to run at ¥0/month.
Research / long-form writing¥50k–200kWritten from primary sources, with evidence graded by strength. Cited, JA/EN available.
Consultation onlyFree (30 min)Whether what you want is feasible, and roughly what it would take.

What I take on, and what I don't

Get in touch

Use the form below or email info@toriumis.com. An undecided budget is fine. Replies within a few days.

Submissions are not displayed publicly. Used only to reply, per the privacy policy.