Jack Ellis Profile picture
Co-founder of @usefathom. Teacher of Serverless Laravel. Co-host of the Above Board Podcast.
Nov 18, 2022 5 tweets 2 min read
I'm convinced that most developers don't know what OLTP and OLAP mean.

A simple & high level explanation is that with OLAP, you are running analytical queries across a lot of data.

With OLTP, you're typically reading, inserting, updating or deleting a single or multiple rows. Image Most of us come from a MySQL background and, as you know, it's very slow to perform aggregations/searches on large amounts of data. Historically, we'd bring in solutions like Elasticsearch, which we run *in addition* to our primary MySQL (OLTP) database. Those days are over.
May 6, 2021 6 tweets 2 min read
Circa 2013. This was the primary reason why I never shipped my side projects. My attitude to building software was that I needed to predict every possible feature before launch. This approach was so dumb. Build a good quality MVP, ship it, and then improve it regularly. This ridiculous strategy meant I was manufacturing overwhelm for myself. I'd always feel behind because I had this absurd feature list that I had to build before launching. As a result, the software never went live.
Oct 28, 2020 20 tweets 7 min read
We just launched a fun little tool called Phantom Analyzer. It’s a 100% serverless tool that scans websites for hidden tracking pixels.

I want to talk about how we built it 👇

producthunt.com/posts/phantom-… The idea came about early this year after @mijustin gave us an idea about badges/certification, which developed into “what if we could scan websites for Google Analytics?!”. But we left the idea in Basecamp for many months.
Oct 24, 2020 14 tweets 4 min read
Here is my then & now.

2013: Attempting my first software startup, surrounding myself with motivational quotes. Very naive about business.

2020: I left my job to work full time on a fast-growing startup that I co-founded. In 2013, I was working on a fitness startup called Raw Gains. It was similar to MyFitnessPal but focused on specific dieting techniques (carb cycling, keto, etc.) and better workout routines.

It was targeted at individuals & personal trainers & I had no idea what I was doing ☹️
Oct 22, 2020 13 tweets 4 min read
After spending 2 weeks dealing with servers, I'm so pleased we went with Laravel Vapor back in mid-2019.

1) Time spent on servers is time I could've spent coding
2) If something goes wrong on these servers, I have to fix it
3) The servers have a hard request/sec limit

👇 The premium cost of serverless is worth the mental benefits & saving in time costs. With our custom domain infrastructure, we have to use servers, and I am very aware that I am responsible for them.

With our main infrastructure, the best nerds in the world manage it, not me.
Oct 16, 2020 7 tweets 2 min read
I cannot run 3,000 clients per second to a basic Laravel app. I've tried both Caddy & NGINX, both fall over, which makes me think that it's something related to PHP FPM.

Or I'm missing something super obvious.

Hoping someone on here can give me some ideas 🙏 Server Spec: 16 cores & 32 GB RAM
PHP FPM Memory Limit: 9 MB
pm = static
pm.max_children = 2000 (also tried 500 & 2000)
pm.max_requests = 10000 (also tried 0)
Oct 15, 2020 5 tweets 1 min read
Low cost, high volume can be a very dangerous game.

For $10,000 MRR you'll need either:
- 2000 customers at $5/month
- 625 customers at $16/month

The difference between supporting 2000 customers and 625 customers is substantial, and you'll likely want to hire support staff. Why am I writing about business margin again? Because it's been in my head for a while. And @mijustin resurfaced it a short while ago with his posts.

Developers often sell themselves short. But you need margin if you're going to operate your business in the best possible way.
Sep 21, 2020 17 tweets 4 min read
A few months ago, Justin Jackson was tweeting about margin in business non-stop. He persistently spoke about how important margin is in business.

Well he’s right. Your underpriced SaaS is going to shoot you in the ass.

Thread 👇 Margin allows you to absorb unexpected blows. You need margin to build an emergency fund. Some people live without emergency funds, and if their boiler breaks, they have to either go without or go into debt to fix it. It's a challenging way to live.
May 24, 2020 12 tweets 2 min read
7 years ago, I quit my job to pursue my first startup. I was living at home, my bills were less than £500 per month and I was confident I would build, launch and have 1,000 customers within 6 months. Easy, right? I spent the first 3 months fighting with myself on the “right way” to code my application, spending hours in IRC talking about “clean code” and “spec tests”. After 3 months, I had some of the basics done... and lots of spec tests.