Skip to main content
grayswork
—Writing

Things written down

The parts of a project worth writing down: the traps, the reasons behind a choice, and the things that only made sense afterwards.

2026

  1. 06

    Bundle Watch: when a discount quietly stops working, the merchant is the last to know

    10 min

    A Shopify bundle app that models bundles as discounts rather than as bundle products, and tells the merchant when another promotion eats the bundle discount — plus why a bundle torn in half is worse than one that never applied, why conflict detection depends on your api_version, and one failure that happened all on its own.

    Bundle Watch / Shopify / Cloudflare Workers / Product

  2. 05

    Jot: write a thought down in three seconds, from anywhere

    6 min

    A quick-capture notes tool that lives in the macOS menu bar: press ⇧⌘J, type, press Return — the note is saved and the panel is gone. No account, no network, no "which notebook does this go in". Plus why Chinese search needed a different tokenizer, and three keyboard bugs that only showed up once the app was actually driven.

    Jot / macOS / Swift / SQLite

  3. 04

    Stop conda from auto-activating base in every new shell

    1 min

    One line — conda config --set auto_activate false — takes (base) out of your prompt. Plus which file it writes, the older key name, and why this is more than tidiness.

    conda / Python / Tooling

  4. 03

    Orthoshot: ten standard views of a part, in one drag and drop

    6 min

    When a quote needs part views, the person who needs them usually has no CAD licence. This is a browser tool that opens STEP, measures it, estimates its weight and exports ten standard views in one click — with nothing uploaded, because the geometry belongs to someone else.

    Orthoshot / CAD / three.js / WebAssembly

  5. 02

    Why lexical retrieval for Chinese cannot use tsvector

    5 min

    PostgreSQL full-text search cannot segment Chinese; the whole sentence becomes one token. So the lexical arm runs on character trigrams, fused with vector search by RRF — and then I measured it, and the win was smaller than I expected.

    RAG / Retrieval / PostgreSQL / Enterprise RAG Assistant

  6. 01

    Paper Anchor: an open-source paper reader that pins every answer to the page

    3 min

    A self-hosted two-pane reader for papers: every claim the LLM makes is a clickable citation that jumps back to the highlighted source on the PDF. MIT, bring your own key, embeddings can stay entirely local.

    Paper Anchor / RAG / Open source

04Contact
Where
New Taipei, Taiwan · UTC+8
Status
Graduating June 2026 · open to software engineering roles

Say something specific

Email is fastest. I reply within a working day, usually with more questions than answers.

Or leave a message here
Gray Tsao© 2026 · Last updated October 2026