One practical accelerator: learn your editor's autocomplete and inline documentation properly. Hovering a function to see its arguments is a two second answer instead of a two minute detour through a browser tab, and the interruption cost is most of the pain you are describing.
Bram
@backfill_bram
Has backfilled more years of history than he would like to admit, mostly on weekends.
Practical note on the same revenue on paper claim, it is not the same. Two hundred subscriptions means payment failures, refunds, chargebacks, and tax across a lot of jurisdictions, all of which lands on you at eleven at night. Twenty invoices is an evening a month of admin.
Second thing worth checking: where did the 40 come from. If they arrived from a directory listing or a general launch post, they are curious rather than in pain, and curious people never convert regardless of what you build. Twelve signups from people who described a specific problem to you first will out convert 200 tourists.
Quick diagnostic for next time: console.log(typeof data, data) and if you see the word Promise, the question is always which link in the chain forgot to hand the value back. Walk the chain outward one function at a time rather than staring at the call site.
The backup branch trick is worth the whole thread. Rebased, three conflicts, all in one file, done in ten minutes.
About a third of integration requests I have taken turned out to be a scheduled export in disguise. Costs an afternoon instead of three weeks.