TIL about the =INDIRECT() spreadsheet formula method that allows you to reference columns in a RELATIVE position without knowing the current column or row position.

Super useful for generating formulas programmatically for things like @BudgetSheet!

Fresh blog post this morning.

Instead of “build the MVP”, I use "build the simplest thing that could possibly work for one use case".

I find that this distinction, while small, is a bit more concrete while thinking of new ideas to build.

Dang. Been getting a LOT more signups for the @BudgetSheet mailing list lately.

The list is over 1,200 emails now.

It's at the bottom of all the article pages on the site and the homepage, but that's it. I don't do anything else to drive anyone to it.

Crazy. #buildinpublic
Thanks to AI, we now have a whole new category of customer feature requests! 🤣

It's hilarious to me how many personal finance tools crap on spreadsheets and then go on to build a web app, API, mobile app (or two!), widgets, data tables, charts, user accounts w/sharing etc.

And... I get all that for free. By using Google Sheets. 🤦‍♂️ #buildinpublic
Oh, that's great Plaid.

"Last successful update" = 12 days ago

"Last failed update" = 2 hours ago


"This item (bank) is not in an error state" 🤔

I beg to differ when it means my customer isn't seeing any new transactions come through since April 17! 😤

Honestly it's so hard working on your own ideas as an indie hacker.

It's a tough balance btw. a spouse, kids, FT job, and whatever else on the side.

Waking up early is the only reliable way I have found to get focused time for myself and not overload my spouse. #buildinpublic
Broke the $3k barrier this month.

$3,050.10 revenue over the past 30 days! 🤯

@BudgetSheet 🚀 #buildinpublic
Now I am looking at building my own whole oAuth flow for @BudgetSheet and doing pretty much *everything* on my own server - even manipulating spreadsheets via the REST API instead of Apps Script.

Using Clock Triggers for Autofetch is just not cutting it anymore. #buildinpublic
The reality of building an Add-On for the Google ecosystem is slowly moving everything out of Apps Script and onto your own server the more users you get.

Apps Script is great to get started, but tends to be slow and unreliable over time. #buildinpublic
SEO content marketing really works. Especially when combined with a matching product name and domain.

@BudgetSheet now ranks on the first or second page for many target search keywords, and am slowly gaining on highly competitive ones too. Need more of this!

@BudgetSheet I suspect that I probably just pulled forward some revenue that I may have had in another 30 days (15 days vs. 45 days), so I will see how that plays out over the next few months on wether or not it actually accelerated my revenue growth. #buildinpublic
I recently changed @BudgetSheet from a 45-day trial down to 15 (the same as my competitors).

I was paying Plaid for 2 months of a bank connection instead of 1 for free accounts (!).

Grandfathered existing free users.

Early, but so far the results are 🔥📈 #buildinpublic
Calculated user and revenue churn for @BudgetSheet recently. Both have come down in recent months since the sidebar launch.

Gaining more *new* customers than churn, so NET churn is negative, but the real numbers still feel high at 8-10%. #buildinpublic
Just got my first ever "your product is too expensive" email for @BudgetSheet. They even got the price wrong too! It was $69/year when they signed up (now $79/year).

Achievement unlocked? #buildinpublic
Waking up early (~5:30-6am) is the only way I have found to consistently make time to work on @BudgetSheet around other work and family obligations.

It's so hard to get time to work on side hustles some times, but growth has required more of me recently. #buildinpublic
Nearly 3 years into @BudgetSheet and I am finally setting up a proper onboarding email series thanks to the free startup plan from @CustomerIO! 🎉 #buildinpublic
Loving the new trajectory for number of connected @plaid accounts in @BudgetSheet. 📈 #buildinpublic
Passed 300 active (currently subscribed and not cancelled) customers for @BudgetSheet! 🎉 #buildinpublic
Just got my December Plaid invoice after signing a monthly minimum contract.

Saved $219.50 over "a la carte" pricing. ✊