Jack Ellis Profile Banner
Jack Ellis Profile
Jack Ellis

@JackEllis

Followers
22,968
Following
163
Media
1,095
Statuses
21,128

Technical co-founder of @usefathom , the simple, privacy-first alternative to Google Analytics.

Canada / UK
Joined May 2008
Don't wanna be here? Send us removal request.
Explore trending content on Musk Viewer
@JackEllis
Jack Ellis
2 months
TIL: Stripe deploys changes to it's core API services 400 times per day 🤯
Tweet media one
49
262
3K
@JackEllis
Jack Ellis
2 years
Senior engineers/lead developers: How the hell do you context switch between reviewing multiple PRs, everything else that comes with your job and then also working on complex projects yourself?
477
198
3K
@JackEllis
Jack Ellis
1 year
I turned off Docker 60 days ago and my Macbook Air is still at 100% battery.
34
68
2K
@JackEllis
Jack Ellis
2 years
What's the most useful JavaScript package you've found? I'll go first.
Tweet media one
106
139
2K
@JackEllis
Jack Ellis
2 years
We run Laravel on infrastructure that can handle over 157 billion requests per month. Here’s my answer to the question: Does Laravel Scale?
74
379
1K
@JackEllis
Jack Ellis
2 months
I didn’t know this kind of speed was possible in PHP. The author starts off with an execution time of 25 minutes to handle one billion rows and then shows us how he got it down to 27 seconds. Absolutely remarkable.
21
212
1K
@JackEllis
Jack Ellis
2 months
Is anyone using the Apple trackpad as their primary mouse?
352
3
1K
@JackEllis
Jack Ellis
2 years
Everybody has a plan until they have 10 billion rows in their database.
24
69
807
@JackEllis
Jack Ellis
2 years
Love to see this. The default Laravel installation welcome page has ditched Google Fonts and moved to Bunny Fonts. This is great because it raises awareness that you don't have to send your website visitors browsing habits to an advertising company. Laravel is the GOAT.
Tweet media one
26
94
771
@JackEllis
Jack Ellis
1 year
I’ll make this simple. I’ll soon be migrating & transforming billions of database rows without downtime using Laravel (old SingleStore cluster to the new unlimited storage clusters). If 200+ people are interested, I will write the long article and share code. Otherwise, nope 😂
45
13
772
@JackEllis
Jack Ellis
2 years
I am doing something I may regret. We made a single credit card payment to AWS last month for our company (Fathom Analytics). If you can guess the exact amount of that payment, I will send the same amount to you. You have 24 hours. One clue: It's less than $20,000.
4K
21
665
@JackEllis
Jack Ellis
10 months
We just migrated 17 billion database rows and here's every single detail about how we did it.
28
111
645
@JackEllis
Jack Ellis
2 years
Can we stop with the "Does Laravel scale?!" nonsense. You will run into database scaling issues 100x before you need to worry about your HTTP layer. And for those who still haven't got the message: Yes, Laravel scales.
47
57
614
@JackEllis
Jack Ellis
1 year
@NoContextHumans This may be the most perfect video I’ve ever seen.
1
0
559
@JackEllis
Jack Ellis
4 months
Ladies and gentlemen... Are you not entertained?! I suppose I could take a few hours today and write about how I just reduced our AWS bill by ~$100,000 per year. Does that tickle your fancy?
Tweet media one
59
10
554
@JackEllis
Jack Ellis
4 years
Yesterday, one of our customers went really, really viral and I woke up to a queue backlog of over 1 million jobs. If you're handling high scale (or plan to), this article will save you from running into the problems that we did 😃
55
114
549
@JackEllis
Jack Ellis
1 year
Fathom is now running on over 500,000 websites 🤯
46
12
516
@JackEllis
Jack Ellis
2 months
Our new infrastructure to collect pageviews & events: - Infinitely scalable (millions of req/s) - Multi-region - Zero servers managed by us I wasn't going to write about this, because I see it as a huge competitive edge, but I *will* write a blog post if enough of you want it.
36
10
430
@JackEllis
Jack Ellis
2 years
The PHP ecosystem looks pretty dead to me.
Tweet media one
30
50
414
@JackEllis
Jack Ellis
4 months
I can't believe we were paying $1,000/month for this BS.
Tweet media one
33
20
407
@JackEllis
Jack Ellis
7 months
Should I drop my entire day and write about how we built our simple affiliate/referral system in three hours and release the code? 100 people by 11:30am and I’ll do it. We miss the goal and I never talk about it again 😇
38
14
402
@JackEllis
Jack Ellis
2 years
Warning: If you enable Google Pay as a payment method on Stripe, Google Analytics will be injected into your website when using Stripe.js. This is a huge oversight and puts businesses at risk, especially with data protection authorities pursuing companies that are using GA 🤦🏻‍♂️
Tweet media one
14
95
390
@JackEllis
Jack Ellis
2 years
We’ve just hired our first full-time software engineer for Fathom 🥳
22
6
390
@JackEllis
Jack Ellis
4 months
We just reduced our AWS bill by $100,000 and can now invest in much more important areas of our business.
31
41
388
@JackEllis
Jack Ellis
2 years
We started rebuilding Fathom’s entire frontend two weeks ago, adopting a completely different tech stack, and we’re nearly done. As I always ask before spending hours writing, is there demand for a deep-dive article on our move?
49
1
383
@JackEllis
Jack Ellis
1 year
Twitter’s API changes have blocked it’s own URL shortener 😂
Tweet media one
21
27
378
@JackEllis
Jack Ellis
3 years
Today’s a big day for us. We officially deleted our MySQL database 🙈
28
7
363
@JackEllis
Jack Ellis
2 years
It took 11 seconds to remove an index from a table containing billions of rows. When I used MySQL, it would take 2+ hours to drop an index from a table containing a few million rows. The future is here 😇
41
20
343
@JackEllis
Jack Ellis
3 years
Merry Christmas to everyone except the guy who DDoS’d us 🎅
10
4
343
@JackEllis
Jack Ellis
1 month
Tweet media one
@arvidkahl
Arvid Kahl
1 month
200,000 background jobs per hour. Checking podcasts for new episodes. Transcribing the ones I found. Checking chart rankings. Sending webhooks. Adding new podcasts to scan. Emails. I'm building a real platform here with . And it's just humming along! 🥰
Tweet media one
54
9
368
20
22
338
@JackEllis
Jack Ellis
1 year
I'm excited to announce that my new video course, SingleStore for Laravel, is now live 🥳 I've charged into all of the MySQL headaches so that you don't have to, and I'll teach you how to use SingleStore at rapid speed and scale with Laravel.
27
80
334
@JackEllis
Jack Ellis
3 years
Woohoo! AWS refunded us ~$4,000 from the DDoS attack we got in November. Drinks on us 🥳
14
10
338
@JackEllis
Jack Ellis
3 years
Tweet media one
8
29
332
@JackEllis
Jack Ellis
2 years
Apple: "Up to 18 hours of battery life" Docker: "Hold my beer"
12
32
322
@JackEllis
Jack Ellis
4 years
I'm so excited to announce that Serverless Laravel is now available. This course will teach you everything you need to know about Laravel Vapor and will save you a lot of time. I've had so much fun building this course and I hope you love it.
18
77
320
@JackEllis
Jack Ellis
2 years
Unbelievable few days for Fathom. We chose to innovate in response to EU law changes, and Google Analytics didn’t. They were declared illegal and now more people than ever are going privacy-first with their website analytics 🥳
18
16
318
@JackEllis
Jack Ellis
10 months
Local development with PHP is simple again 🥳 - Laravel Herd for local environment - HELO for email testing - DBngin for Redis & MySQL - Tinkerwell for debugging This is like the old days when we were all using MAMP & WAMP. A new generation of developers will benefit from this.
20
28
295
@JackEllis
Jack Ellis
4 months
Akamai $18 billion mkt cap 9,800 employees Cisco $204 billion mkt cap 84,900 employees Comcast $173 billion mkt cap 186,000 employees Dell $56 billion mkt cap 133,000 employees Disney $165 billion mkt cap 191,250 employees Fathom Analytics A four person company in Canada 🇨🇦
Tweet media one
12
10
292
@JackEllis
Jack Ellis
2 years
You're not shipping your side project because your scope is infinite. You've got a massive list of features, and you likely feel overwhelmed. The way forward is to reduce your spec and focus on completing one feature at a time. Repeat that 30x, and you'll be live in no time.
19
31
290
@JackEllis
Jack Ellis
2 years
The HTTP Client in Laravel is beautiful.
Tweet media one
12
31
281
@JackEllis
Jack Ellis
2 years
To all the people scared of an unexpected AWS bill... Setting up a budget takes 10 seconds. This will email you at 85% and 100% by default, and you can customize additional notification thresholds (e.g. 50%). There's no reason not to use this feature.
Tweet media one
22
41
284
@JackEllis
Jack Ellis
3 years
We've been under a layer 7 DDoS attack for the last 2 weeks. This attack was targeted at Fathom and was intended to cause financial damage or put us out or business. Thread time 👇
21
20
264
@JackEllis
Jack Ellis
1 year
Updating the value of a column for 9.4 million rows. How long does it take? MySQL: 3 minutes SingleStore: 5.9 seconds MySQL - $730/month - 250 GB Disk - High Availability - 4 vCPU - 32 GB RAM SingleStore - $500/month - 250 GB Disk - High Availability - 2 vCPU - 16 GB RAM 🤩
15
24
264
@JackEllis
Jack Ellis
11 months
@alexfeinberg1 2017. So I was 23. Pill pushing doctor unable to fix issues my mum had. Gave her medication, documented side effects ensued and she died the next year. At age 29, I now know multiple different things we could’ve done that would’ve helped address her issues. I don’t trust doctors.
6
6
254
@JackEllis
Jack Ellis
4 years
The Laravel community is the best community I’ve ever been a part of. Everyone helps & encourages each other and no question is too much. If any of you ever have questions about scaling apps / Vapor, my DMs are always open :)
6
26
257
@JackEllis
Jack Ellis
11 months
To the developer who has sent us 900,000 dynamic event properties via our trackEvent() function, which hasn't been released yet and isn't documented anywhere on our site, I have just switched the value column from varchar(200) to TEXT to support those long values you're sending.
12
5
254
@JackEllis
Jack Ellis
1 year
If your first response is anger when you see someone else enjoying a specific technology or tool, you're the problem.
18
23
253
@JackEllis
Jack Ellis
1 year
A Formula 1 team is now a Fathom customer. Nothing to see here 🏎😎
25
3
249
@JackEllis
Jack Ellis
3 months
Don’t point your local environment at your production database. I’m not dunking on them, some people learn the hard way, but please don’t do it. Protect your database. Limit access.
@resend
Resend
3 months
On February 21st, Resend experienced an outage that affected all users due to a database migration that went wrong. Here's a summary of what happened, how the incident was resolved, and the changes we're making moving forward.
65
82
640
27
16
250
@JackEllis
Jack Ellis
3 months
My tech beliefs: Serverless. AWS is incredible. Laravel. One codebase. Sustainable, not cheap. Cloud, never on-premise. Managed, never self-hosted. We're doubling down on all of these as we plan for further expansion this year. So much to ship and we are off to an epic start 🥳
22
5
251
@JackEllis
Jack Ellis
2 years
And this is why we write tests 😅
Tweet media one
38
10
248
@JackEllis
Jack Ellis
1 year
Tweet media one
27
15
238
@JackEllis
Jack Ellis
3 years
It took 14 hours but we've just finished migrating nearly one billion database rows. This is a huge step for us and I'll be writing about it all very soon ☺️
12
4
243
@JackEllis
Jack Ellis
11 months
@TheJackForge I’ve been thinking about learning it for the last 16 years but I’ll probably just spend another 16 years not learning it.
8
1
237
@JackEllis
Jack Ellis
1 year
I say this with zero judgement towards other peoples’ tech stack choices but I am so happy to have my business built on top of Laravel. The company behind it, Laravel LLC, is independent and profitable. It’s not a $300M bet by some venture capitalists, it’s already sustainable.
12
13
234
@JackEllis
Jack Ellis
1 year
January: We speak to five orthopedic surgeons and they all agree my wife needs surgery on her hip. Yesterday: Meet a movement specialist in Amsterdam as our last hope. He identifies core body issues & has her RUNNING with a 45lb medicine ball. No pain. Today: Surgery cancelled.
22
6
225
@JackEllis
Jack Ellis
5 months
ChatGPT feels impressive when I’m asking it questions about a topic I don’t know anything about. But once I start asking questions about complex problems that I understand, it feels like I’m talking to someone who is just randomly Googling for answers to my questions.
25
19
223
@JackEllis
Jack Ellis
3 years
To celebrate GitHub using @usefathom , we're going to give away a Laravel course. RT to enter and we'll pick a winner on Sunday. The prize is any Laravel course under $300.
17
344
218
@JackEllis
Jack Ellis
1 year
It’s funny how we went from that chap on Reddit calling Laravel “dangerous” to the JavaScript community now discovering how amazing we have it over here in Laravel land. I’m here for it. Our company is built on top of Laravel and it’s an absolute dream to work with. Try it out 😇
17
11
219
@JackEllis
Jack Ellis
2 years
My biggest struggle as a software engineer is accepting that there’s no single “right” solution.
20
21
215
@JackEllis
Jack Ellis
2 months
I can’t get over how fast we’ve been growing in 2024. Google messed up big time and people absolutely hate GA4. Our team is 4 full-time people and a few contractors. Small but mighty. And we’re here to take all of Google Analytics’ business. Come try us!
17
15
214
@JackEllis
Jack Ellis
3 years
When I perform massive system migrations, I always end up with a huge step-by-step migration plan, along with a full disaster recovery process. I usually delete this plan once the migration is complete. Would anyone be interested in seeing a breakdown of how I plan migrations?
26
3
215
@JackEllis
Jack Ellis
10 months
We are building Team functionality into our existing Laravel application which currently has zero concept of teams or roles. It’s a headache. But we’re also making some epic architecture changes to simplify things. This is a blog post validation tweet. Should I write about this?
27
1
210
@JackEllis
Jack Ellis
11 months
7
1
204
@JackEllis
Jack Ellis
3 years
It's been a long day but the Fathom API is now officially in early access. This is the first public API I've ever built, so it's a big milestone for me personally. And thanks to Paul, we have absolutely gorgeous documentation too.
25
14
210
@JackEllis
Jack Ellis
2 years
So... who hasn't moved to @linear yet? Best project management software I've ever used by a huge stretch.
36
6
209
@JackEllis
Jack Ellis
3 years
Whenever I get the impulse to try and solve something I don’t understand, like plumbing or electrics, I remind myself that some businesses use Wix to avoid paying for a website developer. And then I pick up the phone and call a professional.
14
21
206
@JackEllis
Jack Ellis
2 years
I used to hate getting cold emails, but now I love it. A random person emails us twice, trying to sell us something (like WP hosting for our static website), and I simply pitch Fathom to them. I even follow up if they go quiet. I call this "the reverse cold email sales pitch." 😎
Tweet media one
20
7
206
@JackEllis
Jack Ellis
2 months
I am in shock. Cal Newport, the bestselling author of Deep Work (1.5 million copies sold), casually mentioned our company, Fathom Analytics, in his latest book, Slow Productivity. All because of an encounter with Paul's book a few years ago. I cannot believe our luck sometimes...
Tweet media one
22
3
205
@JackEllis
Jack Ellis
4 months
We're about to launch our new website and my goal was to deploy it 100% serverless on AWS for maximum reliability. - Static website - Built in GitHub Actions - Auto redirect www to non-www - Remove trailing slash from URL - Redirects defined in codebase - Your cloud Blog post?
50
5
201
@JackEllis
Jack Ellis
10 months
It’s the Sunday after Google Analytics imploded and our trials are 4x the usual amount for a Sunday. I’m currently sitting outside in the sun thinking about all the great stuff we’re about to release. I’d like to take a moment to thank Google for everything they’ve done for us 🥂
10
7
202
@JackEllis
Jack Ellis
2 months
@NapierHolland Where abouts in UK? The challenge in the UK is getting a space that encourages you to be outside but is close to things. Or knowing that you need to get walking. This was the weather we had for 3 months. Every day we got outside into the sun. UK normal life doesn’t support this.
Tweet media one
8
3
193
@JackEllis
Jack Ellis
2 years
Should we open-source our affiliate program code?
48
0
192
@JackEllis
Jack Ellis
2 years
Hi, I'm a developer, and I'm mad that you're not using the same framework as me.
23
7
187
@JackEllis
Jack Ellis
2 years
Who needs drugs when you can merge a single pull request with 75,000+ lines changed? What a ride.
Tweet media one
23
3
193
@JackEllis
Jack Ellis
8 months
@kdlafrance Brave did this a few months ago and it messed with my flow big time. 1) Go to chrome://flags 2) Disable download bubble flags 3) The bottom download bar will come back
Tweet media one
9
12
184
@JackEllis
Jack Ellis
4 months
New year, new website 🥳 My cofounder, Paul, did an incredible job on this. The tech stack we're using: - Jigsaw by Tighten - Skunk CSS - Torchlight syntax highlighting - Algolia DocSearch - Fathom Analytics - Bootstrap JS - Alpine JS - CloudFront & S3
26
13
186
@JackEllis
Jack Ellis
4 years
The calm before the storm. Or the storm before the calm. Either way, Serverless Laravel launches tomorrow and I’m so excited. I’ve packed all of my Vapor knowledge into a series of video lectures and demos. It’s taken months & we are nearly there 🎉
4
30
183
@JackEllis
Jack Ellis
11 months
I love being a software engineer. And my favourite thing is when I have a seemingly impossible problem. No solutions are available, and you don't know where to begin. Nobody has done this specific thing before. You spend hours trying to solve it, and then suddenly, you crack it.
13
13
186
@JackEllis
Jack Ellis
2 years
New frontend going live... soon 😇
Tweet media one
18
0
182
@JackEllis
Jack Ellis
3 years
TIL: Upserts made it to the core. Very excited because this lays the groundwork for a refactor in Cache::putMany(). We'll need less queries for each pageview or event we process 🥳
Tweet media one
8
19
182
@JackEllis
Jack Ellis
2 years
I might get in trouble for this one, but I've started mixing up how I deal with cold emails. In addition to the reverse cold email sale, I am also introducing cold emailers to other cold emailers for maximum carnage.
Tweet media one
20
3
182
@JackEllis
Jack Ellis
6 months
I disabled GitHub Copilot and I’ve been way more productive. I don’t believe that Copilot has the capability to intuitively handle some of the architectural challenges I have on my plate, and I could code it all myself in the time it would take to give Copilot the full context.
47
10
178
@JackEllis
Jack Ellis
2 years
✅ You have a Laravel app ✅ You need to monitor your scheduled tasks ✅ Fast install is required Why is nobody talking about ? Let's get more awareness about this incredible product. I'll buy a year Pro subscription to a random person who RTs this tweet.
Tweet media one
12
124
175
@JackEllis
Jack Ellis
10 months
I’m sat outside, with pen and paper, and I’ve just finalized the new database schema that’s going to make Fathom the fastest and most flexible analytics provider in the world. Sometimes you’ve got to smash and rebuild the foundation before you can deliver the big vision.
25
6
182
@JackEllis
Jack Ellis
2 years
I've spent the last two months paying down technical debt that we've accumulated since we first built Fathom. One of the worst parts of our codebase was how we did analytics, and we had this complex base class with very little flexibility and poor readability. Before & after 🥰
Tweet media one
Tweet media two
18
9
178
@JackEllis
Jack Ellis
2 years
My Laravel tip of the day. If you're running slow tests that need to hit a third party API, you can break them out of your Features directory and put them in a dedicated test suite (e.g. External). Then you can run "phpunit --testsuite Feature", and your External tests won't run.
Tweet media one
20
30
178
@JackEllis
Jack Ellis
2 years
January: Google Analytics ruled illegal in the EU February: Google fonts ruled illegal in the EU March: Google announces that they're killing Universal Analytics and deleting all of your historical data 2022 is the year that @usefathom takes over the world 🚀
17
9
176
@JackEllis
Jack Ellis
1 year
Good morning and new product announcement: this week we’re starting to roll out Fathom Verified - a subscription that lets you get a blue badge on your dashboard. Fathom verified starts at $14.99 / month. We’ll be rolling it out in North Korea this week and more countries soon.
16
3
176
@JackEllis
Jack Ellis
1 year
TLDR: The reason that Twitter has moved so slowly for years is because they have gigantic amounts of technical debt and never paid it down. We paid ours down earlier this year, and we spent months doing it. Now we’re moving with ease. And we make way more profit than Twitter 😂
11
5
170
@JackEllis
Jack Ellis
10 months
Thinking about my next blog post. I want to do something along the lines of "10 mistakes I made as a CTO" or similar. I've made lots of mistakes (technical and non-technical) and run into some quite unique problems at scale, which I think could help people. Should I write this?
30
1
169
@JackEllis
Jack Ellis
1 year
We've now imported billions of pageviews from Google Analytics. Here's how we built our data importer using Laravel.
12
38
165