farez 🥕 Profile picture
Jun 23, 2020 26 tweets 11 min read Read on X
I'll be building my first browser extension for @markfolder and tweeting each step here, tagging it #extdev.

Right now: going through the examples at developer.chrome.com/extensions/get…

(I'm building this on Chrome/macOS Catalina)
A browser extension is just another webpage that you can load and run with a button. HTML + Javascript.
Actually an extension can also react to things happening in the browser (events). Not just for clicking on. #extdev
manifest.json - one file to rule them all. This is where you tell the browser everything it needs to know to "boot up" your extension. #extdev
Hello, browser extension! So far, creating an extension that does next to nothing has been pretty easy. #extdev
Browser scripts allow user actions on any URL. Use Page scripts to restrict actions to certain URLs only.
Content scripts run on a specific tab. You can tell the browser to run a content script whenever certain pages load (injected declaratively), or you can run a content script when certain events happen (injected programmatically)
Well, an hour ago I knew nothing about building a browser extension. Now I've built one that changes the background colour of twitter.com, and I can choose from a selection of 4 colours. Have to say the Chrome developer documentation is really good.
Will continue tomorrow. Hopefully we can get some connection to a backend going then.
I want @markfolder to work on all browsers but I don't want to maintain multiple code bases. So I'm reading up on cross-browser extensions: developer.mozilla.org/en-US/docs/Moz…
All extension developers: "phew". hacks.mozilla.org/2020/06/welcom…
Looks like @markfolder will be running browser actions. Even though you can only bookmark tweet pages, you still should be able to access to the extension from any page to view bookmarked tweets. developer.chrome.com/extensions/bro…
Found/was recommended a couple of tools for making cross-browser extension builds less painful:
github.com/abhijithvijaya…
github.com/webextension-t…
Product update: Got the browser extension to save the tweet to the backend. In this case the backend is just an Airtable. 🎉

I'm using the excellent @nocodeapi to expose an API endpoint I can use for testing (this took 10 min 👏🏽).
Left: Clicking on the extension icon to save the tweet. Right: Airtable table showing the tweet's URL being added in real time. Result! 🤙🏽
Done the technical proof of concept to be confident about building it, so now on to the actual build. First up, some user journeys). ImageImageImage
User flows done! Would be nice to prototype it but this is simple enough so I’m going to get coding straight away. ImageImageImageImage
By the way I’m using @GoodNotesApp on iPad for note taking and sketching all the above. I’m doing things as fast as pen and paper again and even quicker for sharing.
Just updated the landing page for markfolder.com. Added a few quotes from people who have signed up, most importantly (!), background gradients! 😎

I used the amazingly easy gradient gallery and tool by @itmeoHQ webgradients.com
I want to take the friction out of the signup as much as possible. So now you won't need to fill in any form. Just tweet @markfolder to get on the list. Thanks to @alexhillman for the @IndieHackers article which inspired this. Image
10 signups and customer validation conversations for @markfolder so far, from just a landing page. I haven't been promoting the product but I have been more engaged on Twitter, LinkedIn and @IndieHackers and there's where the signups have come from.
The best results have been from a) talking about what I'm doing, sharing product progress in the open, and b) helping people by answering their questions if I have the experience and knowledge to answer it in a helpful way.
Product update: I've worked out a way for users to start using @markfolder right away without signing up. Really excited about this! User journey is basically: 1) Install browser extension, 2) Start using. #nosignup should be a thing.
Build progress: Built out the backend API using @laravelphp, Passport, and Socialite. I love just how productive Laravel makes me. Quicker than #nocode ;). Next: integrating Axios JS library into the browser extension.
I think designing and building the signup, signin and onboarding flow is one of the most under-estimated parts of a SaaS project, in terms of thought and effort required. It's a project in itself.
I had intended to launch with three user categories - free user, no signup, free user, signed up, paid user. Too much work! So I’m launching with free user, signed up first.

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with farez 🥕

farez 🥕 Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @farez

Mar 2, 2021
So I was wrong.

For a SaaS business, audience != customers.

Let me explain...
Sometime last year, I tweeted this 👇.

I said:
Old way: build product, then find customers.
New way: Build audience, then build product.

The problem with that is, I confused "audience" with "customers".

And I failed to see that the audience-first approach, while highly relevant for content creators, isn't as effective for SaaS builders.

indiehackers.com/@mijustin/dont…
Read 13 tweets
Mar 1, 2021
Hell hath no fury as a food-blogger scorned

I too hate scrolling through all that back story and ads just to get to the recipe.

But TIL: food bloggers do that for SEO and ad revenue. Which makes sense!
So Recipeasly is kinda solving a problem (not one I'd pay for though).

Prior solutions have existed in the form browser extensions, browser reader-mode, and the increasingly popular "skip to recipe" link on food blogs.

And this website: plainoldrecipe.com
Read 6 tweets
Nov 11, 2020
Power-up your Twitter experience.

I love using single-purpose apps. They solve specific problems well.

Here are a few made for Twiter, by solo founders or small teams.

Recommendations 👇🏽
1. @chirrapp by @kossnocorp automatically splits your text into a thread.

Fantastic UI that lets you preview before you schedule/publish.

This thread was created in @chirrapp.
2. Detailed Twitter analytics with ilo.so by @dr.

10x better than Twitter's own.

Just signed up today blown away with the dashboard details.
Read 6 tweets
Sep 22, 2020
Popular startup advice

Execution > Idea.

But doesn't explain why I've been executing on shit ideas 💩

I need to answer "What should I work on next?" confidently. So I'm doing some research...
I wanted to synthesise what successful founders said about picking the right idea to work on.

It's been interesting - there is no definitive answer, of course.

But there seem to be a pattern.
And the list of sources is getting long!
Read 6 tweets
Sep 19, 2020
Why do people subscribe to / pay for newsletters?

1. Curation.
2. Insight.
3. Trust.

A.I. will do a better job of the first 2... (thread)
Curation is basically search and filter: find interesting sources, and share interesting content.

Software can do a better job: it's quicker, and it can personalise "interesting".

@amazon and @netflix are already doing this.
Insight is basically pattern recognition and interpretation: identify patterns and provide your explanation on why these patterns exist.

Software can do a better job: it can process more data to learn patterns, and arrive at POSSIBLE explanations - pick one.
Read 16 tweets
Aug 30, 2020
One important item I wanted to tick off as early as possible for @markfolder is backups.

Markfolder's users have entrusted me with their data and I want that to be fully respected.
Making sure they never lose their data is the least I can do (followed by security of their data and their privacy, which I'll continually work on).
So now, at 00:00 every night London time, a backup of all code, files and database is made, zipped, and saved to an Amazon S3 server in the UK.
Read 5 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us!

:(