ðŸĨ Project Health Report (āļĢāļēāļĒāļ‡āļēāļ™āļŠāļļāļ‚āļ āļēāļžāļ‚āļ­āļ‡āđ‚āļ„āļĢāļ‡āļāļēāļĢ - 2026-07-15)

Project (āđ‚āļ„āļĢāļ‡āļāļēāļĢ): SplitDee
Role (āļšāļ—āļšāļēāļ—): Lead AI Engineer & CTO
Date (āļ§āļąāļ™āļ—āļĩāđˆ): 2026-07-15


📈 1. Overall Project Health Status (āļŠāļ–āļēāļ™āļ°āļŠāļļāļ‚āļ āļēāļžāļ āļēāļžāļĢāļ§āļĄāļ‚āļ­āļ‡āđ‚āļ„āļĢāļ‡āļāļēāļĢ)

  • Overall Status (āļŠāļ–āļēāļ™āļ°āļ āļēāļžāļĢāļ§āļĄ): ðŸŸĒ Healthy (Design Phase) | ðŸŸĒ āđāļ‚āđ‡āļ‡āđāļĢāļ‡āļŠāļĄāļšāļđāļĢāļ“āđŒ (āđ€āļŸāļŠāļāļēāļĢāļ­āļ­āļāđāļšāļš)
  • Status Details (āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āļŠāļ–āļēāļ™āļ°): There is currently no production codebase written (both backend and frontend are skeletons), meaning there is no code technical debt. The system architecture, API specifications, and database schemas are fully defined and documented. (āļ›āļąāļˆāļˆāļļāļšāļąāļ™āļĒāļąāļ‡āđ„āļĄāđˆāļĄāļĩāđ‚āļ„āđ‰āļ”āđ‚āļ›āļĢāļ”āļąāļāļŠāļąāļ™āđ€āļ‚āļĩāļĒāļ™āļ‚āļķāđ‰āļ™āļĄāļē āļ—āļąāđ‰āļ‡āļŦāļĨāļąāļ‡āļšāđ‰āļēāļ™āđāļĨāļ°āļŦāļ™āđ‰āļēāļšāđ‰āļēāļ™āđ€āļ›āđ‡āļ™āđ€āļžāļĩāļĒāļ‡āļ„āļĨāļēāļŠāđ‚āļ„āļĢāļ‡āļĢāđˆāļēāļ‡āļŠāđ€āļāđ€āļĨāļ•āļąāļ™ āļ—āļģāđƒāļŦāđ‰āļĒāļąāļ‡āđ„āļĄāđˆāļĄāļĩāļŦāļ™āļĩāđ‰āļŠāļīāļ™āļ—āļēāļ‡āđ€āļ—āļ„āļ™āļīāļ„āļ‚āļ­āļ‡āļ‹āļ­āļĢāđŒāļŠāđ‚āļ„āđ‰āļ” āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļĢāļ°āļšāļš āļŠāđ€āļ›āļ API āđāļĨāļ°āļ„āļ§āļēāļĄāļŠāļąāļĄāļžāļąāļ™āļ˜āđŒāļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨāđ„āļ”āđ‰āļĢāļąāļšāļāļēāļĢāđ€āļ‚āļĩāļĒāļ™āļĢāļ°āļšāļļāđ„āļ§āđ‰āļ„āļĢāļšāļ–āđ‰āļ§āļ™āļŠāļĄāļšāļđāļĢāļ“āđŒāđāļĨāđ‰āļ§)
  • Architecture Integrity (āļ„āļ§āļēāļĄāļ–āļđāļāļ•āđ‰āļ­āļ‡āļ‚āļ­āļ‡āļŠāļ–āļēāļ›āļąāļ•āļĒāļāļĢāļĢāļĄ): 100%. Follows Clean Architecture in both FastAPI and Flutter. Boundary layers are cleanly separated. (100% āļŠāļ­āļ”āļ„āļĨāđ‰āļ­āļ‡āļ•āļēāļĄāļŦāļĨāļąāļāļŠāļ–āļēāļ›āļąāļ•āļĒāļāļĢāļĢāļĄāļŠāļ°āļ­āļēāļ”āļ—āļąāđ‰āļ‡āļāļąāđˆāļ‡ FastAPI āđāļĨāļ° Flutter āđ‚āļ”āļĒāļĄāļĩāļāļēāļĢāđāļĒāļāļ‚āļ­āļšāđ€āļ‚āļ•āđ€āļĨāđ€āļĒāļ­āļĢāđŒāļ­āļĒāđˆāļēāļ‡āļŠāļąāļ”āđ€āļˆāļ™)

❓ 2. Open Questions & Assumptions (āļ‚āđ‰āļ­āļŠāļ‡āļŠāļąāļĒāđāļĨāļ°āļŠāļĄāļĄāļ•āļīāļāļēāļ™āļĢāļ°āļšāļš)

During our audit and design review, we identified several questions that must be resolved before/during implementation:
āļˆāļēāļāļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļšāđ€āļ­āļāļŠāļēāļĢāļāļēāļĢāļ­āļ­āļāđāļšāļš āđ€āļĢāļēāđ„āļ”āđ‰āļĢāļ°āļšāļļāļ„āļģāļ–āļēāļĄāļ›āļĢāļ°āđ€āļ”āđ‡āļ™āļŠāļģāļ„āļąāļāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āđ„āļ”āđ‰āļĢāļąāļšāļāļēāļĢāļ‚āļ­āļĒāļ·āļ™āļĒāļąāļ™āđ€āļžāļ·āđˆāļ­āļ™āļģāđ„āļ›āļāļģāļŦāļ™āļ”āļŠāđ€āļ›āļ:

  1. AI Slip Verification Service Cost & Vendor (āļ„āđˆāļēāļšāļĢāļīāļāļēāļĢāđāļĨāļ°āđ€āļ§āļ™āđ€āļ”āļ­āļĢāđŒāļĢāļ°āļšāļšāļ•āļĢāļ§āļˆāļŠāļ­āļšāļŠāļĨāļīāļ›āđ‚āļ­āļ™āđ€āļ‡āļīāļ™):
    • Question (āļ„āļģāļ–āļēāļĄ): Which bank confirmation API/vendor will be used for validating the Mini-QR data from slips? (e.g., EasySlip, SlipOK, or direct bank partner APIs). (āļˆāļ°āđƒāļŠāđ‰āļšāļĢāļīāļāļēāļĢāļĢāļ°āļšāļš API āļ˜āļ™āļēāļ„āļēāļĢāļ„āđˆāļēāļĒāđƒāļ”āđƒāļ™āļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļšāļ‚āđ‰āļ­āļĄāļđāļĨāļŠāļĨāļīāļ› āđ€āļŠāđˆāļ™ EasySlip, SlipOK āļŦāļĢāļ·āļ­ API āļ•āļĢāļ‡āļˆāļēāļāļ„āļđāđˆāļ„āđ‰āļēāļ˜āļ™āļēāļ„āļēāļĢ)
    • Impact (āļœāļĨāļāļĢāļ°āļ—āļš): Affects operational costs and infrastructure setup. (āļĄāļĩāļœāļĨāļ•āđˆāļ­āļ•āđ‰āļ™āļ—āļļāļ™āļāļēāļĢāļ”āļđāđāļĨāļĢāļ°āļšāļšāđāļĨāļ°āļāļēāļĢāđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­āđ€āļ„āļĢāļ·āļ­āļ‚āđˆāļēāļĒāļŦāļĨāļąāļ‡āļšāđ‰āļēāļ™)
  2. Firebase Cloud Messaging (FCM) vs In-App Local WebSockets (āļŠāļ–āļēāļ›āļąāļ•āļĒāļāļĢāļĢāļĄāļāļēāļĢāļĒāļīāļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄ):
    • Question (āļ„āļģāļ–āļēāļĄ): Should we use FCM exclusively for chat message notifications, or build WebSockets/SSE for real-time messaging and FCM only for background push alerts? (āļ„āļ§āļĢāđƒāļŠāđ‰ FCM āļŠāđˆāļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđāļŠāļ—āļ•āļĨāļ­āļ”āđ€āļ§āļĨāļē āļŦāļĢāļ·āļ­āđ€āļ‚āļĩāļĒāļ™āđ‚āļ›āļĢāđ‚āļ•āļ„āļ­āļĨ WebSockets/SSE āļŠāļ·āđˆāļ­āļŠāļēāļĢāļŠāļ”āđ€āļĄāļ·āđˆāļ­āđ€āļ‚āđ‰āļēāđāļ­āļ› āđāļĨāļ°āđƒāļŦāđ‰ FCM āļ—āļģāļŦāļ™āđ‰āļēāļ—āļĩāđˆāļŠāđˆāļ‡ Push Alert āļ•āļ­āļ™āļ­āļĒāļđāđˆāļŦāļĨāļąāļ‡āļšāđ‰āļēāļ™āđ€āļ—āđˆāļēāļ™āļąāđ‰āļ™)
    • Impact (āļœāļĨāļāļĢāļ°āļ—āļš): WebSockets are faster for active chats, FCM is better for background. (WebSockets āļ•āļ­āļšāļŠāļ™āļ­āļ‡āđ€āļĢāđ‡āļ§āļāļ§āđˆāļēāđƒāļ™āļ‚āļ“āļ°āđāļŠāļ—āļ„āļļāļĒ āļŠāđˆāļ§āļ™ FCM āļ›āļĢāļ°āļŦāļĒāļąāļ”āļžāļĨāļąāļ‡āļ‡āļēāļ™āđ€āļĄāļ·āđˆāļ­āļ­āļĒāļđāđˆāđ€āļšāļ·āđ‰āļ­āļ‡āļŦāļĨāļąāļ‡)
  3. Mochi Pet HP/Happiness Deduction Cron Schedule (āļ„āļ§āļēāļĄāļ–āļĩāđˆāđāļĨāļ°āđ€āļāļ“āļ‘āđŒāļāļēāļĢāļŦāļąāļāļžāļĨāļąāļ‡āļŠāļĩāļ§āļīāļ•āļ™āđ‰āļ­āļ‡āđ‚āļĄāļˆāļī):
    • Question (āļ„āļģāļ–āļēāļĄ): What are the exact thresholds for Mochi’s HP deduction? (e.g., -10 HP for every 24 hours of delay per user, or group-wide status). (āđ€āļāļ“āļ‘āđŒāļ„āļģāļ™āļ§āļ“āļŦāļąāļ HP āļ™āđ‰āļ­āļ‡āđ‚āļĄāļˆāļīāļ—āļĩāđˆāļ„āđ‰āļēāļ‡āļŠāļģāļĢāļ°āļĄāļĩāļŠāļđāļ•āļĢāļ­āļĒāđˆāļēāļ‡āđ„āļĢ āđ€āļŠāđˆāļ™ āļŦāļąāļ -10 HP āļ—āļļāļāđ† 24 āļŠāļąāđˆāļ§āđ‚āļĄāļ‡āļ•āđˆāļ­āļĒāļ­āļ”āļŦāļ™āļĩāđ‰āļ‚āļ­āļ‡āđāļ•āđˆāļĨāļ°āļ„āļ™ āļŦāļĢāļ·āļ­āļ„āļģāļ™āļ§āļ“āđƒāļ™āļ™āļēāļĄāļ āļēāļžāļĢāļ§āļĄāļ‚āļ­āļ‡āļāļĨāļļāđˆāļĄ)
    • Impact (āļœāļĨāļāļĢāļ°āļ—āļš): Direct influence on the gamification balance and user engagement. (āļĄāļĩāļœāļĨāļ•āđˆāļ­āļŠāļĄāļ”āļļāļĨāđ€āļāļĄāļ™āđ‰āļ­āļ‡āđ‚āļĄāļˆāļīāđāļĨāļ°āļāļēāļĢāļĄāļĩāļŠāđˆāļ§āļ™āļĢāđˆāļ§āļĄāļ‚āļ­āļ‡āļœāļđāđ‰āđƒāļŠāđ‰āļ‡āļēāļ™)

🛠ïļ 3. Technical Debt List (āļĢāļēāļĒāļāļēāļĢāļŦāļ™āļĩāđ‰āļŠāļīāļ™āļ—āļēāļ‡āđ€āļ—āļ„āļ™āļīāļ„)

Although no code has been written, we identified documentation and design technical debt:
āđāļĄāđ‰āļˆāļ°āļĒāļąāļ‡āđ„āļĄāđˆāļĄāļĩāđ‚āļ„āđ‰āļ”āđ‚āļ›āļĢāļ”āļąāļāļŠāļąāļ™ āđāļ•āđˆāđ€āļĢāļēāđ„āļ”āđ‰āļĢāļ°āļšāļļāļŦāļ™āļĩāđ‰āļŠāļīāļ™āļ—āļēāļ‡āđ€āļ—āļ„āļ™āļīāļ„āđƒāļ™āļĢāļ°āļ”āļąāļšāļāļēāļĢāļ•āļąāđ‰āļ‡āļ„āđˆāļēāđāļĨāļ°āļāļēāļĢāļ­āļ­āļāđāļšāļšāļĢāļ°āļšāļšāđ€āļ­āļāļŠāļēāļĢāđ„āļ§āđ‰āļ”āļąāļ‡āļ™āļĩāđ‰:

Tech Debt IDCategoryDescriptionSeverityAction Plan
TD-DOC-001DocumentationDuplicate files and overlapping principles (AI_MEMORY.md, PRINCIPLES.md, TEAM_AGREEMENT.md, etc.).MediumConsolidation and cleanup during this session.
TD-DOC-002NamingLegacy Obsidian links and naming formats in Dashboard.md and README.md.LowUpdate quick links and Obsidian bracket paths.
TD-SCH-001Database DesignNo database indexes specified on bills.group_id and expense_shares.user_id in the initial draft schema.MediumAdded index strategy to Database_Design.md.
TD-SEC-001SecurityMissing JWT token rotation and blacklisting specifications for logged-out/compromised accounts.HighSpecify JWT blacklist/refresh token pattern in API Design.