ページ

2026年8月5日水曜日

領収書をメールで送るシステムを、あえて1,180行で作った理由 — 非エンジニアが育てられる土台として

領収書をPDFで発行して、ダウンロードURLをお客様へメールで送るシステムを公開しました。

kinvoice — コードは MIT License で無償公開しています。

デモも触れます(https://proto.exbridge.jp/kinvoice/・パスワード demo2026)。

作るときに決めたことがひとつあります。完成品にしないことです。

このシステムは、全部で約1,180行です。ファイルは5つ。

この大きさは、意図してこうしています。

これ以上減らすと、本番で必要なもの(認証・排他制御・CSRF・レート制限)が抜け落ちます。おもちゃになる。

これ以上増やすと、買った人が最後まで読めなくなります。読めないコードは、改変できません。改変できないものは、完成品と同じで、渡された瞬間から劣化していきます。

「全部読めるサイズ」が、育てられるかどうかの境目だと考えました。

顧客名・金額・メールアドレスは、JSONファイルに flock で書いています。PDFは、仕様を直接書いて生成しています。

この記事は要約版です。続き(残りの話題・実装の詳細)は元記事でどうぞ:

領収書をメールで送るシステムを、あえて1,180行で作った理由 — 非エンジニアが育てられる土台として