Web / JavaScript / 法律
奥さんが司法書士事務所に勤めている。相続の仕事では「誰がいくら受け取れるか」——法定相続分(民法で決まっている相続の割合)を素早く正確に計算する場面が日常的にある。
市販のツールや計算サイトはあるが、「LINEで送れるくらい軽く、サーバーなし、APIなし」で動くものが手元にほしかった。それならHTMLとJavaScript(ブラウザ上で動くプログラミング言語)だけで作れるはず——そう考えてクラリスと作り始めた。
最終的に完成したのは約35KBのHTMLファイル1枚。民法887・889・900・901条に準拠した、プロの実務に耐えるツールだ。
相続には複雑なルールがある。いくつか整理すると——
順位がある — 配偶者は常に相続人。子(第1順位)がいれば親(第2順位)は相続しない。子も親もいなければ兄弟姉妹(第3順位)が相続する。
代襲相続がある — 子が先に亡くなっていた場合、その子の子(孫)が代わりに相続する。これを「代襲相続(だいしゅうそうぞく)」という。ただし相続放棄(相続を断ること)は代襲の原因にならない、という細かいルールもある。
半血兄弟のルール — 父が同じで母が違う(異母)の兄弟姉妹は「半血兄弟(はんけつきょうだい)」と呼ばれ、第3順位での相続では取り分が全血(両親とも同じ)の半分になる。ただし第1順位(子として相続する場合)では均等だ。
Phase 1(基本機能) では、配偶者・子・代襲相続・2段階相続(父が亡くなり、その後母も亡くなるケース)の全パターンに対応した。相続人の入力画面、分数での表示(LCM=最小公倍数で共通の分母に統一)、印刷機能も実装。
UIは司法書士が実務で使えるデザインに。ウォームベージュとテラコッタのカラーパレット、和文フォント(Shippori Mincho + Zen Kaku Gothic New)で仕上げた。
Phase 2(機能拡張) では、直系尊属(親・祖父母など)相続・兄弟姉妹相続の全順位に対応。入力エリアをタブ形式に刷新した。
そして最大の難関が、代襲相続のロジックのバグ修正だった。
連鎖バグから脱出できた理由は、「パッチを当てる」ことをやめたからだ。各相続人ノードに「自分の取り分(myShare)」を渡し、存命なら自分が受け取り・先死亡なら子の人数で割って渡す——という一貫した設計に書き直した。
そしてもうひとつ。35KBのHTMLファイル1枚が、サーバーなし・DBなし・フレームワークなしで、これだけの計算ロジックとUIを内包できる——「LINEで送れるツール」というコンセプトは、使う人のハードルを下げるうえで本当に大事だと改めて思った。
Phase 1(12ステップ)で基本ロジックを固め、Phase 2(5ステップ)で全順位対応・バグ3件を全部倒した。民法887・889・900・901条に完全準拠した計算ツールが、35KBのHTMLファイル1枚として完成した。
奥さんのために作ったものが、プロの実務に耐えるものになった。のっぱらに、法律の木を一本植えた。