San Francisco, CA

Hello World!

I’m meiorz. I study computer science and linguistics, and I build small tools I want to use myself.

Lull gives every website a calm dark theme in Chrome and Firefox. HopOut gets the cursor out of quotes and brackets in VS Code. Material Icons Inline puts Google’s Material Icons into Obsidian notes.

Seeking a software engineering internship for summer 2027.

Email me Read the résumé GitHub

Projects

What I’ve built, newest first.

Lull

A Chrome and Firefox extension that gives every website a soft, predictable dark theme. I designed it for autistic people and people with ADHD: no white flashes, no pure black or pure white, no vivid color, and no movement you did not ask for. It is on the Chrome Web Store and on Firefox Add-ons, for Firefox on desktop and Android.

  • No white flash: the page is dark before any script runs, and a test records every painted frame to check it.
  • Colors are mapped in OKLCH. Backgrounds and text stay inside narrow bands and saturation is capped, so hue survives: a warning is still reddish and a link still bluish.
  • Calm by default: style-sheet animations stop, autoplay pauses and GIFs freeze until you ask for them. An optional reading ruler shades everything but the lines near the pointer.
  • No per-site fix list: CSS variables, cascade layers, nesting, shadow roots and style sheets on other origins are handled generically.
  • No account, analytics, remote code or server. No dependencies and no build step.
  • 138 checks load the extension into real Chrome and look at what pages are like afterwards.

JavaScript · Chrome (Manifest V3) and Firefox extension · Chrome Web Store · Firefox Add-ons · github.com/meiorz/lull

HopOut

A VS Code extension that moves the cursor outside the nearest enclosing quote, bracket or paren. It puts that on Tab, but only where Tab has nothing better to do. Open source (MIT).

  • Tab hops past the closing delimiter ahead of the cursor, and Shift+Tab undoes the hop. Ctrl+' leaves the enclosing pair from anywhere inside it, across lines.
  • It stays out of the way: the key is gated on a context key, so an ordinary Tab never reaches the extension. It yields to suggestions, snippets and inline AI completions.
  • It scans the code structure (escaped quotes, nested brackets, comments, multi-character delimiters) instead of single characters, so it only ever hops out of a pair, never into one.
  • Works with multiple cursors, and pairs can be set per language.
  • Written after reading the issue trackers of the existing tab-out extensions; the README lists each reported problem and what HopOut does about it.
  • Unit tests cover the scanner, and integration tests press real keys inside VS Code.

TypeScript · VS Code extension · github.com/meiorz/hopout

Material Icons Inline

An Obsidian plugin that renders Google’s Material Icons inside notes: write !icon[home] and the icon appears in the text. It is listed in Obsidian’s community plugins. Open source (MIT).

  • All 2,500+ icons, by the names shown on Google’s icon site.
  • Live Preview works like an image embed: the icon renders as you type, and the raw syntax comes back while the cursor is inside it. Built on CodeMirror 6 decorations.
  • Icons also render in reading view and in exported notes.
  • Works offline: the icon font is bundled with the plugin, so there are no network requests and no API key.
  • Icon size and color are settings, and any CSS length or color works.

TypeScript · Obsidian plugin · Obsidian community plugins · github.com/meiorz/material-icons-obsidian

Tweet sentiment classification with BERT

My Inspirit AI Scholar project from spring 2022, in Python and PyTorch.

  • Fine-tuned Google BERT on a labeled tweet corpus: preprocessing, tokenization, training and evaluation.
  • Presented the approach, results and error analysis at Inspirit AI Demo Day.

Spring 2022 · Python · PyTorch · transformer models

Skills

Languages
C++, Java, Python, JavaScript, TypeScript, SQL, Kotlin, Bash/Shell, MIPS Assembly
Systems
Linux, Docker
Tooling
Git/GitHub, GitHub Actions (CI/CD), automated unit and integration testing, debugging, CLI development, code review
AI & data
ML fundamentals, NLP, transformer models (Google BERT), LLM-assisted development workflows
Spoken & signed
English (fluent), Japanese (fluent), American Sign Language (limited to STEM communication)

Education

City College of San Francisco, since summer 2022: Computer Science, and linguistics through American Sign Language.

Other coursework: Calculus I–II (MATH 110A/110B).

Inspirit AI: AI Scholar program, completed April 2022.

Certifications

Experience

Computer Science Tutor / Teaching Assistant

City College of San Francisco · Sep 2024 – present

Inspirit AI — Ambassador & AI Scholar alum

Mar 2023 – Aug 2024

Contact

Email
business@meiorz.tech
GitHub
github.com/meiorz
LinkedIn
linkedin.com/in/mei-o-525a0b227
Résumé
resume.txt (plain text)
Seeking
A software engineering internship for summer 2027
Location
San Francisco, CA

Play

This site used to be a terminal, and a small one still lives here. It runs two programs. The terminal and its games need JavaScript.

obby · tiny platformer

Mini Obby: a small obstacle course on a text grid, with checkpoints, conveyors and jump pads. It’s Luau-flavored but written in JavaScript: the course itself is a real Luau module, parsed at runtime. Not affiliated with Roblox.

read obbycourse.luau

meiorz-cli · scripted command line

meiorz-cli answers questions about this site and its projects. It is scripted: no AI and no network calls, and every reply is pre-written.