Home
build2 min read

Building a calendar and email assistant, then getting stuck on permissions and schemas

Lessons from connecting Google services to a personal AI assistant, including renewed OAuth consent and a missing items field in an array schema.

  • AI
  • OAuth
  • Google APIs
security2 min read

Binding email approval to a version of its recipients, body, and attachments

Invalidating old approval and pending delivery when content changes. Implementation notes on defining exactly what was authorized.

  • Authorization
  • State management
  • AI tools
build2 min read

My dashboard was fetching the same data three times

Consolidating the data behind overview, insights, and progress, while keeping measured results separate from expected performance improvements.

  • Database
  • Performance
  • Testing
build2 min read

The engraving preview looked right, but the toolpath was flipped

Notes from a Python V-carving tool, covering coordinate mismatches, slider updates, and why displaying the input does not validate the output.

  • Python
  • CNC
  • Tkinter
build2 min read

The save succeeded. Pressing it again returned a 500.

Making a project-linking operation safe to retry, without creating duplicate records or extra events.

  • Backend
  • Testing
  • Idempotency
build1 min read

Rebuilding this site with Astro and Keystatic

A full rebuild that added Japanese / English switching, writeups, and dark and light themes. Notes on the structure and the decisions along the way.

  • Astro
  • Keystatic
  • Vercel
bugbounty2 min read

How I write HackerOne reports

Reading the scope, trimming reproduction steps, and communicating impact. The rules I follow so that triagers can read a report in minutes.

  • HackerOne
  • Responsible disclosure
  • Reporting
security2 min read

A procedure for reviewing exported components in Android apps

From reading the manifest to invoking components with adb and checking permission boundaries. The first things I check when reviewing an Android app, written as a procedure.

  • Android
  • IPC
  • Methodology