Price Prediction

Building Toffee: How I’m Tackling the Messy Truth About Debt, One Line of Code at a Time

In the middle of a late-night coding session, somewhere between refactoring state logic and wondering if I had over-engineered my onboarding flow again, I asked myself: Why hasn’t anyone made it easier to actually get out of debt, like, really out of it?

Not just track balances. Not just make budgets. But actually guide people through the emotional and practical journey of paying off what they owe.

That question became Toffee, A debt tracking and management app designed to turn financial stress into momentum.

This is the story so far.

The Real Problem Nobody Wants to Talk About We’re surrounded by financial tools, yet most of them feel like they were designed by people who’ve never actually been broke.

They show you charts. They link your accounts. They tell you your net worth, which is great if you’re already thriving.

But for the millions of people drowning in debt (myself included, at one point), the gap isn’t data. It’s guidance, motivation, and clarity.

Debt isn’t just numbers. It’s shame, overwhelm, confusion, and often paralysis.

And I realized: most tools don’t speak to that.

Enter Toffee, it’s is simple on the surface, but it’s built with a very real intention: To make getting out of debt feel like progress, not punishment.

Key features we’re focused on:

The Snowball Tracker: Add debts, choose your strategy (snowball or avalanche), and watch the plan unfold.

Accountability Nudges: Encouraging reminders and milestone markers that don’t feel like scolding from a spreadsheet.

Privacy-first Design: No unnecessary financial tracking. You own your data! Toffee doesn’t sell it or scrape it.

Under the hood, it’s a React Native – Expo app powered by Supabase, Typescript and RevenueCat The stack is lightweight, but the problem it’s addressing is heavy — and that’s the point.

Technical Deep Dive: How Toffee Works Under the Hood

While the app’s interface is intentionally simple, there’s some sophisticated logic working behind the scenes to help users tackle their debt effectively. Let me walk you through some key technical implementations:

1. The Debt Payoff Calculator Engine

At the heart of Toffee is a powerful debt calculation engine that handles both the Snowball and Avalanche methods. Here’s how it works:

const calculatePayoffPlan = (
  debts: Debt[],
  strategy: 'snowball' | 'avalanche',
  monthlyPayment: number
) => {
  // Sort debts based on strategy
  const sortedDebts = strategy === 'snowball'
    ? debts.sort((a, b) => a.balance - b.balance)
    : debts.sort((a, b) => b.interestRate - a.interestRate);
    
  // Calculate payoff timeline and interest savings
  let monthsToPayoff = 0;
  let totalInterestPaid = 0;
  
  // Simulate monthly payments until all debts are paid
  while (remainingBalance > 0) {
    monthsToPayoff++;
    // Apply payments according to strategy priority
    // Track interest and progress
  }
  
  return { monthsToPayoff, totalInterestPaid };
}

2. Real-time Progress Tracking

The app maintains a sophisticated progress tracking system that:

  • Stores the original balance when a debt is first added
  • Tracks payment history and interest accrual
  • Calculates progress percentages for visual feedback
  • Updates payoff projections as users make payments

3. Privacy-First Architecture

True to our promise of privacy, Toffee’s data architecture is built with user privacy in mind:

  • Data is stored locally on the device when possible
  • Sensitive financial information is encrypted
  • We use Supabase’s row-level security to ensure users can only access their own data

4. Smart Debt Visualization

The app includes multiple visualization components that help users understand their debt situation:

const DebtDonutChart: React.FC = ({ debts }) => {
  // Aggregate debts by type
  const debtsByType = debts.reduce((acc, debt) => {
    if (!acc[debt.debt_type]) acc[debt.debt_type] = 0;
    acc[debt.debt_type] += debt.balance;
    return acc;
  }, {});
  
  // Transform for visualization
  return ;
};

5. Adaptive Payment Strategies

The app doesn’t just implement static debt payoff strategies. It includes logic to:

  • Adjust payment allocations based on changing balances
  • Handle extra payments optimally
  • Account for varying interest rates
  • Adapt to missed or partial payments

6. Technical Stack Highlights

  • Frontend: React Native with Expo for cross-platform compatibility
  • Backend: Supabase for secure data storage and real-time updates
  • State Management: Custom hooks and contexts for efficient state handling
  • Payment Processing: RevenueCat for subscription management
  • TypeScript: For type safety and better developer experience

This technical foundation allows us to deliver a simple user experience while handling complex financial calculations reliably behind the scenes.

What I’ve Learned So Far (the hard way)

  1. You can’t code your way out of a product-market mismatch My first MVP was too “tool-y.” Users didn’t want charts. They wanted clarity and a sense of hope. I had to go back and rethink the core experience from the user’s emotional point of view.
  2. Marketing is the startup I used to think “build it and they will come” was naive. What I’ve learned: “build it, and they won’t come — unless you learn how to market like hell.” So now I’m writing, posting, talking to users daily, and testing early adopters.
  3. Nobody cares how cool your tech stack is (until they do) Supabase, Expo, RevenueCat — these are all just tools. But the why behind them is what resonates. Users don’t care about the stack, They care about what it helps them do.

What’s Next Right now, Toffee is in the Apple App Store. I’m focused on:

Growing a community of early users who actually want to pay off debt

Building out the mobile platform

Exploring partnerships with financial coaches, educators, and creators

Launching on Product Hunt, TikTok, Reddit, and wherever else the conversation is happening

Long term, I want Toffee to become the Strava for debt — a place where people feel proud of progress, not ashamed of their starting point.

Want to Help?

If you’ve ever struggled with debt, know someone who has, or just want to support a bootstrapped founder trying to build something meaningful — I’d love your feedback.

You can try it out Get Toffee and hit me up on Instagram @toffeefinance

Let’s make freedom feel possible.

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button