Decision platform that settles inherited property disputes by modeling rent-vs-sell financial scenarios and matching co-owners with neutral mediators when consensus fails.
Built for: Co-heirs of inherited real estate (siblings, cousins, multiple beneficiaries) aged 30-55 navigating probate property disputes in the US
π Live Demo β’ π¦ GitHub β’ π Report Bug β’ π‘ Request Feature
This MVP was autonomously generated by MVP Factory v11 using a free-tier AI API (NVIDIA / Kimi K2.5). Simple logic runs for real. Complex external dependencies are stubbed so the app always works.
| Layer | What it does |
|---|---|
| β Frontend UI | Fully interactive β forms submit, responses render, auth guard works |
| β Input validation | Every API route checks required fields, returns 400 on bad input |
| β Calculations & scoring | Algorithms (risk scores, percentages, rankings, text analysis) run in pure TypeScript |
| β Rule-based logic | Classification, tier detection, flag rules β all real code |
| β Auth flow | Email+password client validation β localStorage token β dashboard guard |
| Feature | Current State | Why it's stubbed | How to fix it |
|---|---|---|---|
| ποΈ Database persistence | In-memory arrays (resets on restart) | No DB provisioned in free tier | See Step 1 below |
| π€ AI/LLM responses | Hardcoded plausible strings | NVIDIA free API has strict rate limits during bulk builds | See Step 2 below |
| π Real authentication | localStorage demo token | No JWT/session infra provisioned | See Step 3 below |
| π§ Email / notifications | Logged + returns {sent: true} |
No email service configured | See Step 4 below |
| π³ Payments | Returns demo status | Stripe not configured | See Step 5 below |
# Option A: Supabase (Postgres, free tier)
npm install @supabase/supabase-js
# In each route: import { createClient } from '@supabase/supabase-js'
# Replace the mock array with: const { data } = await supabase.from('table').select()
# Option B: PlanetScale (MySQL, free tier)
npm install @planetscale/databaseLook for
// TODO: replace with DBcomments insrc/app/api/**/route.ts
// In any API route, replace the hardcoded AI string with:
const res = await fetch('https://integrate.api.nvidia.com/v1/chat/completions', {
method: 'POST',
headers: { 'Authorization': `Bearer ${process.env.NVIDIA_API_KEY}`,
'Content-Type': 'application/json' },
body: JSON.stringify({
model: 'moonshotai/kimi-k2.5',
messages: [{ role: 'user', content: yourPrompt }],
max_tokens: 1024
})
});
const { choices } = await res.json();
return NextResponse.json({ result: choices[0].message.content });Add
NVIDIA_API_KEY=your_keyto.env.local
npm install next-auth
# 1. Create src/app/api/auth/[...nextauth]/route.ts with your provider
# 2. Replace localStorage.setItem("auth_token",...) in auth/page.tsx with signIn()
# 3. Replace localStorage.getItem("auth_token") in dashboard/page.tsx with useSession()npm install resend
# Replace the { sent: true } mock in notification routes with:
# await resend.emails.send({ from: 'you@domain.com', to: email, subject, html })npm install stripe @stripe/stripe-js
# Replace demo payment routes with real Stripe checkout sessionsAll the UI is already wired up. Every form already calls the right API route. You only need to swap the stubbed returns for real implementations.
Siblings inheriting property 50/50 face emotional deadlock when one wants to rent ($2k/month) and other wants to sell, with no objective way to evaluate tax implications, buyout options, or break the tie without expensive legal fees.
- β Emotional family tension preventing rational financial decisions
- β Lack of objective data to support rent-vs-sell arguments
- β Fear of paying $15k+ in attorney fees for simple disputes
- β Uncertainty about tax implications and hidden costs
- β No neutral ground to discuss buyout options without accusations of greed
Rent-vs-Sell Financial Simulator with real-time tax implication calculations including stepped-up basis adjustments, capital gains projections, and depreciation recapture modeling
Mortgage Buyout Equity Calculator with cash-flow modeling, refinancing scenario comparisons, and fair payment schedule generation based on ownership percentages
Anonymous Ranked-Choice Voting System with vote-weighting algorithms tied to deed ownership percentages and blind voting mode to reduce family bias
Vetted Mediator Matching Engine filtering by conflict type (sibling rivalry vs. cousin disputes), state jurisdiction, and calendar integration for booking neutral third parties
Secure Document Vault with role-based access control, version history tracking, and e-signature workflows for co-ownership agreements and buyout contracts
Probate Deadline Tracker with automated SMS/email notifications for tax filing deadlines, option expiration dates, and court-mandated decision timelines
Fair Market Value Consensus Tool aggregating multiple property valuation APIs (Zillow, Redfin, Realtor.com) with outlier detection and confidence scoring
A step-by-step breakdown of how each feature is built. Use this as your dev roadmap.
π₯ 1. Rent-vs-Sell Financial Simulator with real-time tax implication calculations including stepped-up basis adjustments, capital gains projections, and depreciation recapture modeling
What it does: Rent-vs-Sell Financial Simulator with real-time tax implication calculations including stepped-up basis adjustments, capital gains projections, and depreciation recapture modeling
How to implement:
| Step | What to do |
|---|---|
| 1. API Route | Create src/app/api/rent-vs-sell-financial-simulator-with-real-time-tax-implication-calculations-including-stepped-up-basis-adjustments-capital-gains-projections-and-depreciation-recapture-modeling/route.ts with a POST handler |
| 2. Input Schema | Accept { userId?, ...featureParams } in the request body |
| 3. Server Logic | Process the request, call external APIs if needed, return JSON |
| 4. UI Component | Create src/components/RentvsSellFinancialSimulatorwithrealtimetaximplicationcalculationsincludingsteppedupbasisadjustmentscapitalgainsprojectionsanddepreciationrecapturemodelingSection.tsx |
| 5. Wire up | Call /api/rent-vs-sell-financial-simulator-with-real-time-tax-implication-calculations-including-stepped-up-basis-adjustments-capital-gains-projections-and-depreciation-recapture-modeling from the component using fetch on form submit |
Potential enhancements:
- β‘ Cache repeated lookups with
unstable_cacheor Redis - π Add rate limiting to
/api/rent-vs-sell-financial-simulator-with-real-time-tax-implication-calculations-including-stepped-up-basis-adjustments-capital-gains-projections-and-depreciation-recapture-modeling(e.g. Upstash Ratelimit) - π± Make the UI section responsive-first (mobile breakpoints)
- π Log feature usage to analytics (Plausible / PostHog)
- π§ͺ Add an integration test for the API route
β‘ 2. Mortgage Buyout Equity Calculator with cash-flow modeling, refinancing scenario comparisons, and fair payment schedule generation based on ownership percentages
What it does: Mortgage Buyout Equity Calculator with cash-flow modeling, refinancing scenario comparisons, and fair payment schedule generation based on ownership percentages
How to implement:
| Step | What to do |
|---|---|
| 1. API Route | Create src/app/api/mortgage-buyout-equity-calculator-with-cash-flow-modeling-refinancing-scenario-comparisons-and-fair-payment-schedule-generation-based-on-ownership-percentages/route.ts with a POST handler |
| 2. Input Schema | Accept { userId?, ...featureParams } in the request body |
| 3. Server Logic | Process the request, call external APIs if needed, return JSON |
| 4. UI Component | Create src/components/MortgageBuyoutEquityCalculatorwithcashflowmodelingrefinancingscenariocomparisonsandfairpaymentschedulegenerationbasedonownershippercentagesSection.tsx |
| 5. Wire up | Call /api/mortgage-buyout-equity-calculator-with-cash-flow-modeling-refinancing-scenario-comparisons-and-fair-payment-schedule-generation-based-on-ownership-percentages from the component using fetch on form submit |
Potential enhancements:
- β‘ Cache repeated lookups with
unstable_cacheor Redis - π Add rate limiting to
/api/mortgage-buyout-equity-calculator-with-cash-flow-modeling-refinancing-scenario-comparisons-and-fair-payment-schedule-generation-based-on-ownership-percentages(e.g. Upstash Ratelimit) - π± Make the UI section responsive-first (mobile breakpoints)
- π Log feature usage to analytics (Plausible / PostHog)
- π§ͺ Add an integration test for the API route
π¨ 3. Anonymous Ranked-Choice Voting System with vote-weighting algorithms tied to deed ownership percentages and blind voting mode to reduce family bias
What it does: Anonymous Ranked-Choice Voting System with vote-weighting algorithms tied to deed ownership percentages and blind voting mode to reduce family bias
How to implement:
| Step | What to do |
|---|---|
| 1. API Route | Create src/app/api/anonymous-ranked-choice-voting-system-with-vote-weighting-algorithms-tied-to-deed-ownership-percentages-and-blind-voting-mode-to-reduce-family-bias/route.ts with a POST handler |
| 2. Input Schema | Accept { userId?, ...featureParams } in the request body |
| 3. Server Logic | Process the request, call external APIs if needed, return JSON |
| 4. UI Component | Create src/components/AnonymousRankedChoiceVotingSystemwithvoteweightingalgorithmstiedtodeedownershippercentagesandblindvotingmodetoreducefamilybiasSection.tsx |
| 5. Wire up | Call /api/anonymous-ranked-choice-voting-system-with-vote-weighting-algorithms-tied-to-deed-ownership-percentages-and-blind-voting-mode-to-reduce-family-bias from the component using fetch on form submit |
Potential enhancements:
- β‘ Cache repeated lookups with
unstable_cacheor Redis - π Add rate limiting to
/api/anonymous-ranked-choice-voting-system-with-vote-weighting-algorithms-tied-to-deed-ownership-percentages-and-blind-voting-mode-to-reduce-family-bias(e.g. Upstash Ratelimit) - π± Make the UI section responsive-first (mobile breakpoints)
- π Log feature usage to analytics (Plausible / PostHog)
- π§ͺ Add an integration test for the API route
What it does: Vetted Mediator Matching Engine filtering by conflict type (sibling rivalry vs. cousin disputes), state jurisdiction, and calendar integration for booking neutral third parties
How to implement:
| Step | What to do |
|---|---|
| 1. API Route | Create src/app/api/vetted-mediator-matching-engine-filtering-by-conflict-type/route.ts with a POST handler |
| 2. Input Schema | Accept { userId?, ...featureParams } in the request body |
| 3. Server Logic | Process the request, call external APIs if needed, return JSON |
| 4. UI Component | Create src/components/VettedMediatorMatchingEnginefilteringbyconflicttypeSection.tsx |
| 5. Wire up | Call /api/vetted-mediator-matching-engine-filtering-by-conflict-type from the component using fetch on form submit |
Potential enhancements:
- β‘ Cache repeated lookups with
unstable_cacheor Redis - π Add rate limiting to
/api/vetted-mediator-matching-engine-filtering-by-conflict-type(e.g. Upstash Ratelimit) - π± Make the UI section responsive-first (mobile breakpoints)
- π Log feature usage to analytics (Plausible / PostHog)
- π§ͺ Add an integration test for the API route
π 5. Secure Document Vault with role-based access control, version history tracking, and e-signature workflows for co-ownership agreements and buyout contracts
What it does: Secure Document Vault with role-based access control, version history tracking, and e-signature workflows for co-ownership agreements and buyout contracts
How to implement:
| Step | What to do |
|---|---|
| 1. API Route | Create src/app/api/secure-document-vault-with-role-based-access-control-version-history-tracking-and-e-signature-workflows-for-co-ownership-agreements-and-buyout-contracts/route.ts with a POST handler |
| 2. Input Schema | Accept { userId?, ...featureParams } in the request body |
| 3. Server Logic | Process the request, call external APIs if needed, return JSON |
| 4. UI Component | Create src/components/SecureDocumentVaultwithrolebasedaccesscontrolversionhistorytrackingandesignatureworkflowsforcoownershipagreementsandbuyoutcontractsSection.tsx |
| 5. Wire up | Call /api/secure-document-vault-with-role-based-access-control-version-history-tracking-and-e-signature-workflows-for-co-ownership-agreements-and-buyout-contracts from the component using fetch on form submit |
Potential enhancements:
- β‘ Cache repeated lookups with
unstable_cacheor Redis - π Add rate limiting to
/api/secure-document-vault-with-role-based-access-control-version-history-tracking-and-e-signature-workflows-for-co-ownership-agreements-and-buyout-contracts(e.g. Upstash Ratelimit) - π± Make the UI section responsive-first (mobile breakpoints)
- π Log feature usage to analytics (Plausible / PostHog)
- π§ͺ Add an integration test for the API route
π€ 6. Probate Deadline Tracker with automated SMS/email notifications for tax filing deadlines, option expiration dates, and court-mandated decision timelines
What it does: Probate Deadline Tracker with automated SMS/email notifications for tax filing deadlines, option expiration dates, and court-mandated decision timelines
How to implement:
| Step | What to do |
|---|---|
| 1. API Route | Create src/app/api/probate-deadline-tracker-with-automated-sms-email-notifications-for-tax-filing-deadlines-option-expiration-dates-and-court-mandated-decision-timelines/route.ts with a POST handler |
| 2. Input Schema | Accept { userId?, ...featureParams } in the request body |
| 3. Server Logic | Process the request, call external APIs if needed, return JSON |
| 4. UI Component | Create src/components/ProbateDeadlineTrackerwithautomatedSMSemailnotificationsfortaxfilingdeadlinesoptionexpirationdatesandcourtmandateddecisiontimelinesSection.tsx |
| 5. Wire up | Call /api/probate-deadline-tracker-with-automated-sms-email-notifications-for-tax-filing-deadlines-option-expiration-dates-and-court-mandated-decision-timelines from the component using fetch on form submit |
Potential enhancements:
- β‘ Cache repeated lookups with
unstable_cacheor Redis - π Add rate limiting to
/api/probate-deadline-tracker-with-automated-sms-email-notifications-for-tax-filing-deadlines-option-expiration-dates-and-court-mandated-decision-timelines(e.g. Upstash Ratelimit) - π± Make the UI section responsive-first (mobile breakpoints)
- π Log feature usage to analytics (Plausible / PostHog)
- π§ͺ Add an integration test for the API route
What it does: Fair Market Value Consensus Tool aggregating multiple property valuation APIs (Zillow, Redfin, Realtor.com) with outlier detection and confidence scoring
How to implement:
| Step | What to do |
|---|---|
| 1. API Route | Create src/app/api/fair-market-value-consensus-tool-aggregating-multiple-property-valuation-apis/route.ts with a POST handler |
| 2. Input Schema | Accept { userId?, ...featureParams } in the request body |
| 3. Server Logic | Process the request, call external APIs if needed, return JSON |
| 4. UI Component | Create src/components/FairMarketValueConsensusToolaggregatingmultiplepropertyvaluationAPIsSection.tsx |
| 5. Wire up | Call /api/fair-market-value-consensus-tool-aggregating-multiple-property-valuation-apis from the component using fetch on form submit |
Potential enhancements:
- β‘ Cache repeated lookups with
unstable_cacheor Redis - π Add rate limiting to
/api/fair-market-value-consensus-tool-aggregating-multiple-property-valuation-apis(e.g. Upstash Ratelimit) - π± Make the UI section responsive-first (mobile breakpoints)
- π Log feature usage to analytics (Plausible / PostHog)
- π§ͺ Add an integration test for the API route
User Request
β
βΌ
Next.js Edge βββΊ API Route βββΊ Business Logic βββΊ Data Store
β β
React UI βββββββββββββββββββ Response / JSON
β
Real-time UI Update
| Attribute | Details |
|---|---|
| Audience | Co-heirs of inherited real estate (siblings, cousins, multiple beneficiaries) aged 30-55 navigating probate property disputes in the US |
| Tech Level | π‘ Medium |
| Pain Level | High |
| Motivations | Preserve family relationships while maximizing financial outcome β’ Prove their position is mathematically superior (rent or sell) |
| Price Willingness | medium |
MVP Factory Validation Report β 2026-03-03
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
PASS Market Demand ββββββββββ 9/10
β
PASS Competition Gap ββββββββββ 9/10
β
PASS Technical Feasibility ββββββββββ 8/10
β
PASS Monetization Potential ββββββββββ 6/10
β
PASS Audience Fit ββββββββββ 9/10
βββββββββββββββββββββββββββββββββββββββββββββββββββββ
OVERALL SCORE ββββββββββ 8.4/10
VERDICT π’ BUILD β Strong market opportunity
TESTS PASSED 5/5
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Why this works: Severe pain validated by high-engagement Reddit post (386 comments indicates deep emotional resonance). Zero direct competitors solving the specific workflow of post-inheritance dispute resolution combined with financial modeling. While monetization is challenged by one-time use nature, the freemium model with mediator marketplace commissions creates sustainable revenue. High technical feasibility using existing property APIs and straightforward voting logic.
Unique angle: π‘ The only platform combining objective financial modeling with structured dispute resolution workflows specifically designed for inherited property conflicts, including neutral mediator matching when quantitative analysis fails to convince emotional stakeholders.
Competitors analyzed: LegalZoom (estate planning only, no dispute resolution), CoBuy (co-ownership purchasing platform, not inheritance), Generic spreadsheet calculators (lack collaboration and mediation features)
Next.js 14 App Router + TypeScript + TailwindCSS + Lucide-react
| Layer | Technology | Purpose |
|---|---|---|
| π₯οΈ Frontend | Next.js 14 App Router | React framework |
| π¨ Styling | TailwindCSS | Utility-first CSS |
| π Backend | Next.js API Routes | Serverless endpoints |
| πΎ Data | Server-side logic | Business processing |
| π Deploy | Vercel | Edge deployment |
# Clone & install
git clone https://github.com/guyromb/heirharmony.git
cd heirharmony
npm install
# Start development
npm run dev
# β http://localhost:3000
# Build for production
npm run build
npm start# Add your keys here
NEXT_PUBLIC_APP_NAME=HeirHarmony| Signal | Data |
|---|---|
| π΄ Problem Severity | High |
| π Market Demand | 9/10 |
| π Competition Gap | 9/10 β Blue ocean π |
| π° Monetization | 6/10 |
| π― Model | π Freemium β Paid |
| π£ Source | reddit community signal |
Contributions are welcome! Here's how:
- Fork the repo
- Create your branch:
git checkout -b feature/amazing-feature - Commit:
git commit -m 'Add amazing feature' - Push:
git push origin feature/amazing-feature - Open a Pull Request
MIT License β see LICENSE for details.
Discovered from reddit Β· Built 2026-03-03 Β· Powered by MVP Factory v11
Autonomously researched, validated & generated β zero human code written