本文へスキップ
Ruminbo工房
MOBILE APP

たのしん簿

毎日すこしずつ「今日使えるお金」が増えていく、封筒方式の家計簿アプリ。

開発中 / MVP実装 / 要件 v1.1
React NativeExpoTypeScript(strict)Zustandexpo-sqliteExpo Routerexpo-notificationsJest
たのしん簿 の画面
PROBLEM

解決した課題

家計簿は「記録すること」が目的になりがちで続きません。使ったお金を後から入力するのではなく、毎日すこしずつ残高が増える感覚をつくって、記録ではなく行動のほうが変わるツールにしたい——というのが出発点でした。

APPROACH

設計アプローチ

中央プール(今日使える財布)・封筒(用途別の予算目標)・貯蓄・負債の4つの箱で資金を仕分け、収入を原資に日次で中央プールへ「滴らせ」ます。日次ドリップ・単価推定・再分配・月末ロールオーバーという4つの計算を純粋関数の domain 層へ切り出し、UI と永続化から独立させました。完全オフライン・銀行連携なしで、端末内だけで完結します。

HIGHLIGHTS

技術的に難しかった点

  • 月額をちょうど配りきる日次ドリップ

    営業日割り/暦日割り、月の途中から始めたときの日割り、月中に稼働日を増減したときの「残額 ÷ 残りの稼働日」での再計算。どの経路を通っても、月末までに総額をちょうど配りきることを保証する。

  • 欠落日のキャッチアップと冪等性

    数日アプリを開かなくても、起動時・0時跨ぎ・復帰時に前回以降の欠落日を逆算して個別に補完する。同じ日に二重で走っても追加が0になる冪等な設計にしている。

  • 締めた月に後から支出を入れたときの遡及範囲

    前月(締め済み)への後入れ・訂正では、スナップショットのうち事実に属する項目(支出合計・封筒別支出・収支・繰越)だけを直し、配分・自動返済・負債・貯蓄は遡及させない。どこまでを過去として固定するかの線引きが設計の要になった。

  • 最小二乗法による時給・単価の推定

    「手取り = 固定分 + 単価 × 時間」として実績から単価を推定する。データが足りないときは推定不能を結果型で返し、呼び出し側が手入力へフォールバックできるようにしている。

SCREENS

画面

他の制作実績を見る

同じような開発を相談する

「こういうアプリを作りたい」のご相談、歓迎です。内容をお聞かせください。
フォームへ進む