トTommy Slettvold
Projects

Things I build

Mostly tools I wanted for myself while learning Japanese, built and shipped under the name SlettvoldSec.

Oni Dojo

A complete Japanese course from kana to JLPT N1, taught by Kurenai, a mischievous oni sensei. 140 guided lessons, over 15,000 voice recordings, spaced-repetition flashcards, graded stories, speaking practice and conversations you answer out loud. Out now on Google Play: kana and N5 free, Premium for N4 to N1.

WindowsAndroidElectron · Capacitor · Supabase
Visit Oni Dojo
Home: today's dojo
Home: today's dojo
Hiragana with sound and writing
Hiragana with sound and writing
A lesson: new words
A lesson: new words
Conversations with Kurenai
Conversations with Kurenai
Graded story with known-word meter
Graded story with known-word meter
Spaced-repetition flashcards
Spaced-repetition flashcards
The lesson trail
The lesson trail
Honest progress page
Honest progress page

How it's built

On the learner's deviceWindows PCElectronAndroidCapacitor 8One shared JavaScript app· Works offline· 140 lessons, flashcards, stories· 15,797 pre-recorded voice clips· Progress stays on the deviceSupabase · Frankfurt (EU)Authemail code · password resetPostgres + RLSaccounts · access · purchasesEdge Functionspurchases · feedback · deletionStoragesigned lesson updatesResendaccount emails (EU)Google PlayBilling on the phoneDeveloper API checksGitHub Actionstests · signed buildssign inpurchase checksigned updatesverifyemails

Rireki Studio

Rireki Studio on a phone: the 履歴書 preview with the edit and preview tabs

A free tool for foreigners applying for jobs in Japan. Fill in one form in English or Japanese and get a correct 履歴書 (on the 2021 government form or the classic JIS form) and 職務経歴書 as an A4 PDF. A checker catches about 30 common mistakes, such as old dates, abbreviations like ㈱, or more than 28 hours a week on a student visa, and a guide in 11 chapters explains every box.

Everything stays in your browser: no account, no server, no tracking. I made it for my own job search, and my own CVs were its first test.

Open Rireki Studio

WebVanilla JSPrint to PDFEN / 日本語

Tokoyami Oni Radio

Japanese internet radio in one player: local and community stations from all over Japan, sorted by region, with the same neon oni look as my other apps. I listen to it all day for Japanese practice. It started as a Windows app and is now rebuilt natively for Android.

Station list grouped by region, with a 'starting soon' reminder and the mini player
Stations by region, favourites and a "starting soon" reminder.
Player with the current programme, time left, next programme, translate and romaji buttons
What's on now, time left and what's next. One tap translates or shows romaji.
Programme guide for one station in Japan time, with reminder bells
The full programme guide in Japan time, with a bell for start reminders.
Full-screen visualizer: a glowing red oni mask in a dark dojo, with the station and programme name
Turn the phone sideways for the full-screen visualizer.
Android (Kotlin, Jetpack Compose, Media3)Windows

Onibi

火

Coming soon

My next app: fuel prices near you, compared live on a dark map, with directions to the cheapest station. Prices come from official open data where countries publish it, and from drivers who report what they see at the pump.

It is in development now. Want to know when it's ready, or test it early? Send me a message.

Android (Kotlin, Jetpack Compose)SupabaseOpenStreetMap

Security research

Bug-bounty work through Intigriti: reconnaissance, attack-surface analysis and responsible disclosure. Details stay private, as they should.

This website

Hand-written HTML on GitHub Pages, built by a small Python script: self-hosted fonts, a strict Content-Security-Policy that only runs scripts from this site, no cookies, no analytics and no third-party requests. The contact form posts straight to my own Supabase function in the EU.