After choosing, press Enter to go to that page

SU HAO

Apps, websites, videos, tools and other things I make.

Works

14 works

  1. Tool,

    hanzi-kanji

    A tool and library that turns Chinese (Traditional or Simplified) into Traditional or one of four kanji glyph modes (common and preferred forms closer to Japanese). It runs in the browser; the text is never sent. Split out of CanIRun.ai.

    PageSpeed Insights MobilePerformance 100, Accessibility 100, Best practices 100, SEO 100DesktopPerformance 100, Accessibility 100, Best practices 100, SEO 100

    • Web
    • Multilingual
    • JavaScript
  2. Website,

    osuha.com

    oSUHA's homepage and this personal space. Seven languages (four of them kanji glyph forms), one keyboard-friendly navigation bar on every page, and static pages with no third-party resources.

    PageSpeed Insights MobilePerformance 100, Accessibility 100, Best practices 100, SEO 100DesktopPerformance 100, Accessibility 100, Best practices 100, SEO 100

    • Web
    • Multilingual
    • Accessibility
  3. Music video, 2:36

    P(DOOM) QUEST

    A music video where every lyric line becomes a different retro game: a virtual pet, a role-playing game (RPG) battle, falling blocks, Pong… 48 scenes in all. Every frame is drawn live in JavaScript.

    PageSpeed Insights MobilePerformance 93, Accessibility 100, Best practices 100, SEO 100DesktopPerformance 94, Accessibility 100, Best practices 100, SEO 100

    • AGI
    • AI
    • Pixel art
    • Canvas
    • JavaScript
    • Web
    • Multilingual
    • Accessibility
    • Fan-made

    Contains flashing images

  4. Website,

    CanIRun.ai (external site)

    Your browser checks your computer and tells you which artificial intelligence (AI) models it can run locally. A fork of midudev/canirun.ai (MIT licence), with Japanese, Chinese and English added, and a choice of Chinese character forms.

    • AI
    • Web
    • Multilingual
  5. Website,

    oSUHA Status

    One page that shows whether each oSUHA service is working right now, measured on the server itself. In seven languages.

    PageSpeed Insights MobilePerformance 100, Accessibility 100, Best practices 100, SEO 100DesktopPerformance 100, Accessibility 100, Best practices 100, SEO 100

    • Web
    • Multilingual
  6. App, In progress

    MetaScope

    Paste the address of a public page and it reads the title, description, author and images, and keeps them as a card you can search. An iPhone app.

    • iOS
    • Swift
  7. App, In progress

    TokenMeter

    Shows how much of your Claude Code and Codex allowance is left, in the Mac menu bar and as a widget.

    • macOS
    • Swift
    • AI
  8. App, In progress

    oSUHA

    The oSUHA plan's app: native apps for iPhone, iPad and Mac, plus a web version you can install, in the making.

    • iOS
    • macOS
    • Swift
    • Web
    • Multilingual
  9. Website, In progress

    Drupal Sites

    Learning to build sites with Drupal: my own site dev.osuha.com, and a practice site for a shopping street, built by following a book.

    • Drupal
    • Web
  10. Graphic, Not public

    Like Sticker

    An animated “like” sticker. Every frame is vector art, so changing the text or the size never blurs it. Its colours meet the highest web accessibility level (WCAG 2.2 AAA). It carries a school logo, so it is not public.

    • Accessibility
  11. Study notes, Not public

    Study Notes

    What I am learning: notes on how the internet routes traffic (BGP), Swift basics, and a 30-day plan for reading technical English.

    • Swift
  12. Infrastructure, Not public

    osuha-infra

    The server setup behind all my sites, this page included: Docker and Caddy on Amazon Web Services (AWS), plus the tools for deploying, checking, monitoring and backups.

    • Docker
    • Web
  13. Website, Not public

    Drupal 1.0 Museum

    Drupal 1.0 from 2001, running again in Docker: 102 files, 6,392 lines of code, and not one JavaScript file. The old code is not safe, so it only runs on my own computer.

    • Drupal
    • Docker
  14. Tool, Discontinued

    obsvec

    A tool that searches my Obsidian notes by meaning, entirely on my own computer, shared by Claude Code, Codex and me. Retired in September 2026 in favour of keyword search.

    • AI