๐™ท๐šŠ๐™บ๐š› Profile picture
Sep 18, 2019 โ€ข 12 tweets โ€ข 8 min read โ€ข Read on X
visalist.io #performance๐Ÿ“ˆ
How i improved performance of Visa List from
~90
โ†“
~34
โ†“
~81

You might have seen people posting perfect๐Ÿ’ฏ perf score but for big web apps its not easy at all

Perf is also important for
1. SEO
2. Conversion
3. UX

#seo #perf #ux ImageImage
When you first launch your web app, you don't worry about performance that much. Visa list was ~60.

After it got traction, improved things, got it to ~90. So this was when there were hardly any features. But as you keep adding new features/libraries its becomes hard to improve.
These are the list of libraries that i have used that have contributed to the bundle size and along the way performance.
1. @nuxt_js for SSR, AMP
2. @vuetifyjs for UI
3. @LeafletJS for maps
4. @Firebase for auth, chat, notifications
5. @AdSense for ads
6. @stripe for payments
Being relatively n00b in web development, it was like someone threw me in the ocean after just one week of swimming lessons in a swimming pool. It was really overwhelming. But i improved the performance slowly step by step:
#1 Icon Font Flashing
You see this weird text instead of the font and when font loads, you see the actual icon when offloading icon fonts.
I use this library by @Google
github.com/typekit/webfonโ€ฆ

โœจProTip: dont use google font api, its big and its blocked in china Image
#2 CDN to Improve loading time I use @Cloudflare

Turn on minify and rocket loader to improve content loading.

For API and other static assets like GeoJSON, i use Page Rules to cache everything for these resources and public API's
1000ms to 100ms๐Ÿ’ฅgain

# Use only specific component of libraries which otherwise can be huge. Also load them after page is fully rendered.
# @LeafletJS Leaflet can be integrated with specific components
# @Firebase's each feature can be used exclusively.
# FirebaseUI is another massive library
# Stipe
# Dynamic imports: this is something present in @vuejs, not sure about other frameworks. Always try to break down big components that is more than 250kb and load them when need. So after a page is rendered or when when there is a user interaction. Image
# Load ads after page is rendered:
Most of the ads, like @AdSense load directly when page is fetched. This has a huge impact on perf. I learnt it the hard way. All libraries does this eactly this. So i tweaked on loaded the library after page load. This will have a massive impact Image
# Caching SSR
Yes, you need to cache everything that is rendered as static file fetching is very efficient to rendering it everytime. It reduces TTFB and server response time. I used multi level caching at @expressjs level and @nuxt_js rendering level.

github.com/arash16/nuxt-sโ€ฆ
# Using brotli compression with Gzip:
Its been there for sometime, but many people dont know about it. It can get you around 20% improvement in loading time.

@threader_app compile

โ€ข โ€ข โ€ข

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

Keep Current with ๐™ท๐šŠ๐™บ๐š›

๐™ท๐šŠ๐™บ๐š› 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 @1HaKr

Feb 3, 2022
How I went from $6k/month before COVID to $1.7k/month in the middle of COVID to now $10k/month at the near end of COVID

Delighted that visalist.io crossed $10k mark for the first time

Some learnings I had ๐Ÿ‘‡ Image
1/
Anythings can change:
visalist.io was about to generate highest revenue before COVID, instead dropped to the bottom. But I kept at it, made COVID tracker, started showing warnings to users, showed what's opening up. Got everything back on track.
2/
Google will change:
Even though I was not generating a lot of revenue, traffic was still high, but then users dropped from 350k/m to 150k/m because of google algo update. I was shocked but did what I did best, kept experimenting and after 1 year, I made it half way back! Image
Read 6 tweets
Jan 1, 2022
2021 My Microstartups Rewind ๐Ÿ”

Total Revenue and expenses
๐Ÿ’ธ Revenue - $117K/year (67% โ–ฒ)
โš’๏ธ Expenses - 3K/year
๐ŸŒŸAll time high revenue - $15K/month in Dec (18% โ–ฒ)
๐ŸŽฏDaily goal - $500/day reached in Dec Image
โœˆ๏ธ visalist.io

๐Ÿ’ธRevenue - $50K/year (39% โ–ฒ)
๐Ÿ“ŠAll time high revenue - $8K/month in Dec
๐Ÿ‘ฅTotal Users - 2.6M/year
โšก Active Users - 250K/month
๐Ÿ“‚ anexplorer.co

๐Ÿ’ธRevenue - $50K/year (95% โ–ฒ)
๐Ÿ‘ฅUser growth: 130% โ–ฒ yoy
โšก Active users: 350K
Read 4 tweets
Sep 30, 2020
Reddit has 300M+ users. I posted successfully and got around 100K traffic to my microstartups.

Do you also want to post successfully on @Reddit ?

These are some of the tips that I followed and got my posts to go viral multiple times, compiled into a small thread.

๐Ÿงต๐Ÿ‘‡
Tip 1: Content for any post on any subreddit can be either videos, images or text. Some subreddits limit it to two or only one of them. So get the content ready beforehand.

Video > Image > Text
Tip 2: Choose the right subreddit relevant to you. There are many subreddits out there with millions of users but you will post something which is not relevant for that community. You will not get any traction. You should share valuable content relevant to each subreddit.
Read 12 tweets
Sep 18, 2020
๐Ÿ“ฌ Want to improve email conversions by 25%?

Follow these simple tips to create trust and increase brand value

Last month I posted a similar thread but a lot of people got confused so this time I have broken things to their basics.

โ™ป๏ธ RT so more people can benefit

A thread๐Ÿ‘‡ Image
1/ Showing your company logo on transactional emails increases its value and increases the chance of being clicked. It also creates trust and builds the brand. Image
2/ For promotional mail add your own image so it increases its value because its personified and brings it closer to the real-world conversation. Email name is very important. @bannerbearHQ uses "Jon from Bannerbear", when it's personalized and friendly, users view it more often Image
Read 11 tweets
Sep 13, 2020
I have some bad habits as an Indie Hacker

These are some of the bad habits that I have seen over the last 3 years. I tried to get rid of these, hopefully you will too.

A thread ๐Ÿ‘‡
1/ Having second thoughts: If you don't have a great launch doesn't mean your product is not great. Don't second guess, give it your 100% and time, things usually turn around.
2/ Lose interest after the honeymoon period: You had a great launch, generated good revenue and now things are flat, you lose interest, and it's not motivating to see a flat line. don't lose hope and keep working on it, you never know what's in store.
Read 7 tweets
Sep 11, 2020
๐Ÿ˜Microstartups Revenue down by 45% from last month but it increased by 96% from the last quarter during COVID, a positive side.

Sharing August monthly stats ๐Ÿ“Š for my microstartups as part of #openstartup movement

detailed stats ๐Ÿงต๐Ÿ‘‡ Image
1/ Looks like travel is picking speed, I doubt it will go back to previous heights anytime soon but the uptrend is always a good sign! Image
2/ Last month I have built a Travel restrictions finder to see where you can travel safely if you want to scratch that itch.
visalist.io/travel/restricโ€ฆ
Read 6 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!

:(