Get In touch
Feel free to email me at hi@riteshr.au for counsuting work, and I'll get back to you.
Not every project I start makes it to production. From prototypes that never found product-market fit to systems I over-engineered before validating the problem, I've had my share of ideas that didn't ship. But each one — whether it died in a notebook, a GitHub repo, or a stakeholder meeting — taught me something that a successful launch never could: how to ask the right questions earlier, how to spot the wrong path faster, and how to separate what feels impressive from what actually solves a problem. Those projects aren't on my portfolio, but they're built into everything that is.
Below are some of the projects that didn't succeed, and what they taught me about knowing when to build, when to walk away, and how to ask the right questions first.
Abandoned
What: A digital platform where credit card customers could visualize their spending patterns, raise transaction disputes, and receive dynamic credit-limit suggestions based on their salary. Simultaneously, it gave banks a dashboard to analyze customer spending behavior, identify cross-sell opportunities, and suggest credit-limit adjustments.
Problem: Customers had no clear visibility into where their money was going across multiple cards, and raising disputes was a slow, opaque process. Banks, on the other hand, had raw transaction data but no easy way to turn it into actionable insights for customer retention or targeted product offerings.
What I built: A full-stack system with customer-facing spending visualizations, a dispute-raising workflow, and a bank-side analytics dashboard for segmentation, spending-pattern analysis, and automated credit-limit recommendations tied to income data.
Why it didn't ship: I built a customer-retention tool for an organization that was structurally designed to acquire merchants. Credit card marketing was merged with POS marketing, so the team’s KPIs and budget were tied to merchant sign-ups and transaction volume — not customer lifecycle, cross-sell, or credit-limit optimization. Worse, the bank’s actual operating policy was force-selling: pushing credit products onto the same merchants who already held POS terminals or loans, using the fake promise of a "better relationship" rather than acquiring quality customers backed by data and sustained behavior change. The bank had no dedicated team with the authority, budget, or bonus structure to own customer analytics. The data my platform generated was valuable, but there was no organizational receptor to absorb it — because the institution wasn’t trying to understand customer behavior; it was trying to squeeze existing relationships. Without a champion whose performance review depended on the output, the product became a cost with no clear owner.
Lesson: I now draw the buyer’s organization chart before I draw the architecture diagram. If no one on that chart is measured by the metric my product improves, I am not selling software — I am selling organizational restructuring. And that is a much harder, slower sale than any feature set can overcome. Today, I need to name the person whose bonus gets bigger if my product succeeds. If I can’t, I don’t build.
Abandoned
What: A merchant management platform that automated daily operational settlements, visualized merchant performance through interactive honeycomb charts, predicted POS terminal inactivity using year-over-year seasonal behavior, tracked total MSF earnings, and gave merchants a self-service portal for multi-channel reporting and issue resolution.
Problem: Banks managed thousands of merchants but relied on fragmented systems for settlements, had no visual way to spot portfolio-level transaction trends, and reacted to POS failures only after they happened. Merchants lacked a unified view of their earnings across channels and no direct path to escalate operational issues.
What I built: An end-to-end platform with automated daily settlement processing, an interactive honeycomb visualization for transaction count and volume drill-downs, predictive POS inactivity alerts powered by seasonal pattern analysis against previous-year data, a real-time MSF earnings tracker, and a dedicated merchant portal for multi-channel report access and issue ticketing.
Why it didn't ship: After multiple quarters of demos, revised proposals, and enthusiastic stakeholder meetings across three different bank divisions, the deal never materialized. The bank didn't reject the features — they rejected what the system would change. If your target is quantity rather than quality, showing someone that their terminal downtime is predictable, their merchant portfolio is underperforming, or their support responses are slow isn't just giving them better data. It's telling them how they should be doing their job. And that is much harder to sell. The system wasn't just another dashboard; it challenged existing priorities, exposed inefficiencies, and created a standard people would be measured against. They called it a data expenditure. What I eventually understood was that the real product wasn't the dashboard. It was a change in behaviour, and changing how people do their jobs is far harder than giving them another tool.
Lesson: I now look for the workaround before I look for product-market fit. If a client isn't already solving the problem in some crude, expensive, manual way — a spreadsheet, a late-night email chain, a headcount they can't afford — then they don't feel the pain deeply enough to change. Enthusiasm in a meeting room is free. A budget line item born from scar tissue is not. I no longer build products that create new habits. I only build products that replace existing, painful ones. And if I can't find the ugly workaround within the first two conversations, I don't schedule a third.
Abandoned
Walked Away
What: A real-time reconciliation system that processed SWIFT transactions and ATM general ledger entries end-to-end — automatically identifying ambiguous transactions, executing reversals, and flagging errors with contextual routing for operator review.
Problem: Banks were running legacy reconciliation platforms that ingested massive transaction volumes but still choked on edge cases, leaving teams to manually resolve ambiguities, perform GL reversals, and chase down unmatched entries. The result was operational drag, settlement delays, and a quiet accumulation of financial risk hidden inside spreadsheets.
What I built: A reconciliation engine designed for the full lifecycle — from SWIFT message ingestion and ATM transaction matching through to GL posting. It could spot ambiguous transactions in real time, trigger automated reversals where logic was clear, and surface only the exceptions that genuinely needed human eyes, complete with contextual flags to make those decisions fast.
Why it didn't ship: After multiple rounds of negotiation, the commercial reality became impossible to ignore. The banks wanted enterprise-grade reliability — a system that would handle their most sensitive financial flows without sleep — but they wanted it priced like a one-time software purchase. They saw the invoice as the cost. They didn't see the support calls at 2 AM when a SWIFT message format changed. They didn't see the six-month knowledge transfer. They didn't see that reconciliation systems don't just process transactions; they process exceptions, and exceptions require judgment, context, and sustained partnership. Then came the familiar promise: "Keep the price low on this one, and the next project will be properly scoped." I had learned that lesson the hard way — a discounted first project doesn't buy loyalty; it buys a reputation for being cheap. It trains the client to expect subsidies and traps your team in an underfunded maintenance cycle that consumes the very time you need to pursue better opportunities. I walked away because saying yes would have meant becoming their outsourced operations team at a software vendor's rate, and closing the door on every project that might have actually mattered.
Lesson: I now price the lifetime of the work, not just the delivery. Development is the smallest line item; the real cost is support, context-switching, and the opportunity cost of what you cannot build while you are trapped servicing a bad deal. When a client asks for a discount backed by a promise of future work, I believe them — I believe they genuinely mean it in that moment. But I also believe that a client who cannot afford the first project properly will never be able to afford the second one. Time is the only non-renewable resource in a career. I no longer say yes to projects that consume it at a loss, because every hour spent subsidizing someone else's bottom line is an hour stolen from work that might actually move the needle. I am selective not because I am expensive, but because I am finite.
Feel free to email me at hi@riteshr.au for counsuting work, and I'll get back to you.