SEANLU

Sean Lu

Information Management sophomore. I build tools and automation I actually use.

Work

Shell · ffmpeg · whisper.cpp

vid-for-agents

One command turns video into sampled frames and a local transcript that coding agents can read.

Problem
Agents read text. Video tutorials and screen recordings are a black box.
Approach
Reduce video to two things an agent can read: frames and text.
Trade-off
Speech-to-text runs locally on whisper.cpp. Slower, but no key, no upload, $0.
GitHub

Real output from the README (the CLI speaks Traditional Chinese)

$ vid ~/Downloads/demo.mp4
→ 時長 83s / 解析度 1280x720
→ 抽 12 張影格…
→ 轉逐字稿中(本機跑,長片要等)…

✅ 完成 → ~/media-out/demo-20260911-004512
├── README.md
├── frames/
├── transcript.txt
└── transcript.srt

Claude Code · Python · iOS Shortcuts

CountAgent

A personal expense agent on Claude Code. Siri appends one line of text; the agent later parses, categorises and deduplicates it.

Problem
The friction in expense apps is input. Open the app, pick a category, type the amount. Three steps and you quit.
Approach
Capture shrinks to one sentence. The agent handles interpretation later.
Budget
A month runs from the 24th to the 23rd, the credit-card cycle, so the budget matches the bill I actually pay. Quarters are three cycles.
Trade-off
Behaviour lives in CLAUDE.md, in plain language rather than code. Rules change without a code change. The price is non-determinism, so a human review step stays.
GitHub
CountAgent dashboard generated from the project's built-in demo data
Dashboard generated with the project's built-in demo data

Also built

  • Morph Motion

    One UI object morphing through 12 states, cut to a 120 BPM track and looping without a seam. Built with Claude Code from an 11-step motion-design spec: closed-form springs, sound effects placed by their measured peaks, and a loop that stays continuous in position and velocity.

    Claude Code · HTML/CSS/JS · NumPy · Playwright · FFmpegWatch with sound

  • Telegram → Groq → Obsidian capture pipeline. Jot a line on the phone; it gets tidied up and synced into Obsidian, and I decide what stays.Python · GitHub Actions · iOS Shortcuts
  • Threads video downloader, a small Python tool.Python
  • More work lives on GitHub.github.com/seanlu2006

About

“A tool I don't use myself isn't finished.”

I only trust demand I've felt. Now I build what I actually lack and would otherwise fix by hand.

Languages

  • Python
  • C++
  • C#
  • Java
  • JavaScript
  • HTML
  • CSS

Working on

  • XAUUSD discretionary tradingThere is a rule framework, but the calls are still mine. I'm working on quantifying and validating the subjective parts.
  • English-language X accountSelf-improvement and lifestyle, for writing practice and building a readership. @minhososerious

Outside work

Philosophy and epistemology. Narrative quality in games and film. My cat is part of the ideal day.

Write to me

Collaborations, projects, or just a conversation.