Subscription Tracker for a French Consumer App
Designed and built a clickable subscription tracker for a Lyon consumer app company: it finds the recurring charges in a member's bank accounts, explains which French consumer rule lets them leave, writes the cancellation letter or email, and watches the account until the charges really stop.
Most of our work is under NDA. Per agreement, we can share the work but not the company details - all names and identifying information shown here have been changed.
Home, subscriptions with the review detections tab, subscription detail, the cancel assistant and My cancellations with its proof file. All 24 subscriptions open their own detail page, and the 14 active and trial ones run through the cancel assistant.
Three-click cancellation, Loi Chatel, Loi Hamon, complementary health, telecom 10 days, telecom price change, energy switching, 14-day withdrawal and SEPA refunds. Each has a plain-language hint, its conditions and its official source.
Before you go, pick a way, your letter or email, send, stop the payment? and done. Steps that do not apply are skipped, and each way out shows its notice period and expected end date.
24 fictional merchants with 28 raw bank labels, 252 charges over 13 months with price rises, 7 cancellation requests from draft to charged again, 2 bank connections and a 3-person household.
Pervenche Labs' user research found that most people underestimated their monthly subscriptions by a wide margin. The charges are small, spread across cards and accounts, hidden behind bank labels like "PRLV SEPA SFR", and many renew once a year or convert from free trials when nobody is watching. Cancelling was the second wall: people did not know which law applied, how much notice to give or where the cancel button was, and some kept being charged with no proof they had asked.
Écluse reads the member's bank accounts through a licensed account information partner, finds every recurring charge and shows what it costs per month and per year, when it next lands and when its price went up. The cancel assistant names the rule that lets the member leave, links to the merchant's cancel page or writes the letter or email in their name, and Écluse then watches the account and counts the money saved only once the charges stop.
A subscription tracker is only useful if it finds charges people forgot about, tells them their rights in words they understand and proves the money stopped. In France each of those depends on the type of contract, how it was paid and what the merchant accepts.
Recurring charges arrive under cryptic labels across several accounts, on cadences from weekly to yearly, with amounts that drift when prices rise. Detection has to match cadence and amount within tolerances, treat a price rise as a price change rather than a new subscription, and ask the member when confidence is low.
Online contracts fall under three-click cancellation, auto-renewing contracts under the Loi Chatel, insurance under the Loi Hamon after year one, telecoms under the 10-day and price-change rules, and recent distance contracts under the 14-day withdrawal right. The app must state each in general terms and leave the final word to the contract.
Revoking a SEPA mandate or blocking a card stops the money, not the contract, and the member may still owe what is due. Écluse cannot move money or block payments, so it has to explain the difference and send the member to their own bank instead.
Écluse is free and earns only from registered letter fees and some partner commissions. Every paid placement must be labelled, alternatives ranked by the saving to the member and never by commission, and nothing in the cancel flow may depend on whether a merchant pays Pervenche.
Mapped 10 roles, from member and household member to support, merchant directory editors, legal reviewers, detection analysts and the DPO, and 42 screens across the member app and the internal console. Wrote the data model for bank connections and consents, merchants and cancellation methods, versioned detection rules, subscriptions, charges, price changes, cancellation requests, registered letters and savings, and the rules the design follows: three-click cancellation, Loi Chatel, Loi Hamon, telecom and energy rules, the 14-day withdrawal right, SEPA refunds, PSD2, GDPR and the ranking disclosure rule.
Built 5 key member screens on a production dashboard kit: home with monthly and yearly totals, charges per month, savings so far and what needs attention; the subscriptions list with filters, chips and a review tab for detections; the subscription detail with charge history, a price history chart, your rights and how to cancel; the cancel assistant with a French letter preview and registered letter pricing; and My cancellations with a proof file and charge watch. All actions run on local state.
Bank data through a licensed AISP such as Powens, Bridge or Tink with per-connection consent and 180-day renewal, registered letters through La Poste or AR24, Yousign e-signature, Stripe for letter fees, Brevo email and push notifications. The internal console for the merchant directory, detection rules, cancellation requests, legal templates, partners, support and data requests, plus staff roles, consent-based analytics, an audit log, and the mobile app with French and English.
Each detected charge shows the raw bank label, the amount pattern, the matching charges, a confidence level and the reason. The member answers yes, no, wrong merchant or later, and a low-confidence card asks a plain question instead of guessing.
The detail page shows only the rules that fit that contract, with dates worked out where it can: a telecom price rise on 5 Aug 2026 shows that the member can generally cancel without penalty until 5 Dec 2026. Every rule names its official source, service-public.fr or economie.gouv.fr, and says the contract has the final word.
The cancel assistant writes the letter in French in the member's name. The member can edit every field, but the legal paragraph can only be swapped or removed, never freely rewritten. Registered letters show the price before paying and nothing is pre-ticked.
A cancellation stays in progress until the merchant confirms or no charge appears after the end date. If a charge lands anyway, the request moves to Problems with a guide to the follow-up letter, the SEPA refund window, the mediator and SignalConso.

Built a personal finance dashboard that ingests transactions across accounts, attributes spend by category, surfaces AI cashflow insights, and runs a live budget tracker with goal setting - shipped from clickable AI prototype to production in 10 weeks.

Designed and built a clickable savings app for a Seoul fintech with a MyData licence: customers set goals, switch on round-ups, payday, weekly, guilty pleasure, rainy day and challenge rules, and see every won their rules move into a savings pocket held in their name at a partner bank.
Enterprise Software Engineering - Human + AI
Contact Us
© 2026 - Copyright. All Rights reserved Oceanlab
Location
Global Headquarters
21 Merchant Road, 3rd Floor, Singapore 058267
Main corporate office and leadership operations
North America Office
548 Market Street, PMB 12345, San Francisco, CA 94104
Client operations and business development
India Office
402 Shivalik Shilp II, SG Highway, Ahmedabad 380015
Engineering and delivery center
Enterprise Software Engineering - Human + AI
Contact Us
Locations
Global Headquarters
21 Merchant Road, 3rd Floor, Singapore 058267
Main corporate office and leadership operations
North America Office
548 Market Street, PMB 12345, San Francisco, CA 94104
Client operations and business development
India Office
402 Shivalik Shilp II, SG Highway, Ahmedabad 380015
Engineering and delivery center
© 2026 - Copyright. All Rights reserved Oceanlab