
Jason
1.6K posts

Jason
@_jasonfx
Founder of @makeopscloud, we take care of your AWS needs. Prev @AWS
London, GB เข้าร่วม Mart 2016
326 กำลังติดตาม458 ผู้ติดตาม
ทวีตที่ปักหมุด

Building a cloud agency so I can hire all my AWS friends before they burnout @makeopscloud
English
Jason รีทวีตแล้ว
Jason รีทวีตแล้ว

unpopular dockerfile takes (that actually work)
1 - stop using alpine — yes, it's tiny. but musl libc ≠ glibc. your python/node app will rebuild native deps from scratch or just... silently be slower. use -slim (debian-slim) instead. same size win, zero grief.
2 - layer order is your cache strategy. COPY your lockfile first, run install, then copy source. invalidating the install layer on every code change is a skill issue ngl
3 - multi-stage builds aren't just "best practice" — they're the actual reason your prod image doesn't ship gcc and 400mb of build tools. builder stage = bloat zone. final stage = lean mean container.
4 - COPY . . is fine actually — if your .dockerignore is correct. most pain here is from forgetting to ignore node_modules/, .git, *.log. fix the ignore file, not the COPY.
5 - one process per container is a vibe, not a law. if your app needs nginx + app server and you're not at k8s scale — just use supervisord. the "one process" dogma costs more complexity than it saves sometimes.
6 - pin your base image by digest, not tag. node:20 today ≠ node:20 in 6 months. prod broke because of a tag? that's a you problem tbh.
7 - BuildKit cache mounts (--mount=type=cache) will change your life. pip/apt/cargo cache between builds without it ending up in the final layer. nobody talks about this enough fr
there's no "best practice" in a vacuum. alpine is great for Go binaries. slim is great for Python. scratch is great for static bins. know your workload, then choose.
btw if you want something to catch all this stuff automatically -
check out dockerfile-roast — a linter written in Rust that literally roasts your Dockerfile. 63 rules, brutally honest output (but it can also provide just dry facts, no roast), runs on any OS or as a docker container
github.com/immanuwell/doc…
#docker #devops #kubernetes #backend #linux #rust #sre #containers

English
Jason รีทวีตแล้ว

Every B2B software company is (or should be) building a "headless" version of their product. One that can be used by agents.
But "headless" doesn't mean "brainless".
You don't just wrap your existing APIs into an MCP server and call it a day.
The companies that succeed in the agentic era are those that take a thoughtful approach to *designing* an agentic user experience (AUX).
Yes, that will likely involve APIs, MCPs and CLIs.
But the difference will be in the *ergonomics* of the interface. We need to figure out *how* agents actually want to use our products/platforms. Because if all they wanted to do was use them like humans do, we have "computer use" for that.
I'm personally very excited about this new agentic world when it comes to B2B software.
HubSpot is all-in on building the #1 agentic customer platform.
Just posted this in a private Slack thread with the HubSpot exec team:
Being agentic is not just about agents running *on* our platform, it's about agents *running* our platform (being able to operate it). That's how you take AI from being a simple tool to a savvy teammate.
English
Jason รีทวีตแล้ว

you do these hops until you finally land in aws
it's not as pretty, but it doesn't keep you up at night
you learn the lesson: the next project starts on aws
Wilson Wilson@euboid
I had to urgently switch our hosting from @Railway to @Render In the past, doing so would've been a huge pain.... Migrating env vars, reconfiguring services, setting up internal networking, fixing broken builds etc. Instead, I installed the Railway, Render, and @infisical MCPs and asked Codex to migrate us. In a few hours it had unified our env management, configured all our Render instances, fixed broken builds. All we had to do was update our DNS. Exciting times!
English
Jason รีทวีตแล้ว

The highest leverage thing you can do with your life, is get good at “GTM”
Organic social, paid media, outbound sales
Pick one and get good - being able to spin up Money from thin air is magic.
Most people can’t
They think they can, but they work at firms where the brand equity is doing the heavy lifting for them
They don’t realize that being able to have no brand and drive revenue is 1 in a million skill
You will never regret it
English
Jason รีทวีตแล้ว
Jason รีทวีตแล้ว

A lot of folks talk about "escaping the permanent underclass". If AGI pans out, the future class divide won't be based on wealth, but on cognitive agency. There will be a "focus class" (those who control their attention and actually do things) and a "slop class" (those whose reward loops are fully RL-managed by AI)
English


@KevinNaughtonJr Nice post! I think as a developer, blocking out the shiny stuff is what I struggle with the most.
English

After exactly 110 days, my SaaS product (ferryman.io) passed the $1,000 MRR mark! 🎉
I wanted to document my learnings in the hope that it'll help others reach this milestone too (hopefully faster than I did). My ultimate goal is to grow my product to $10k MRR and document the entire process. As it continues to scale I'll try to continue sharing what I learn along the way.
Here are the biggest takeaways I've learned from going from $0 MRR to $1,000 MRR in 110 days:
1⃣ Build a Solution for Your Own Problem
I've realized that there are many times that I've thought about building something (or even started) but for the wrong reasons. Oftentimes people (myself included) will be attacted to an idea due to the possibility of making a certain ROI. While there's nothing wrong with making money it's important to realize that there are infinite ways to make money so don't become fixated on "shiny" ideas.
Instead, solve a real problem that you are the customer of. Doing this is imporant for 2 reasons:
1. You'll deeply understand your customers' problems
2. Since it's a problem you experience, you'll be motivated to deliver a solution
Both these points are extremely important especially when you're building solo. It's very unlikely you'll be able to deliver a valuable solution if you aren't solving a problem you experience and understand. Additionally, it's very likely at the beginning of your journey you'll have little extrinsic motivation to continue working: you won't have an abundance of customers, you likely won't be making lots of money etc. Because of this, having the motivation to solve your own problem will be good fuel to ensure you keep going; which bring me to my next learning of
2⃣ Consistency > Everything Else
If there's anything you take away from this post let it be this: consistently working on your product is everything. I mean this in a general sense, not necessarily coding. There will be many days where it feels like nothing is changing, but having these boring days is what will eventually set you up for success. It's kinda funny because it's almost like you need to reach an inflection point where things actually start to matter but getting to this point requires a certain activation energy that 99% of people aren't willing to put in.
Don't think that because things are sleepy with your application you're failing it's actually just part of the journey so try and learn to enjoy it. Because of this, what matters way more than seeing specific metrics initially is building habits that you can control that are good for you and your product. For example, you can control how many cold DMs you sent in a day to market your product, you can't control how many users sign up for your product.
Every day I write a list of things that I want to get done for my product whether it's related to engineering or marketing (or anything else). But every item on my list is something that I directly control.
3⃣ Minimize Scope: You Need Users Not Features
What's funny about this advice is that it's something I tried to index on from other lessons I had read online but I still failed.
I think a good litmus test for this is doing the following exercise:
1. Describe your product in 5 words or less
2. Launch with 1 feature that embodies this description
My theory about why I strugged with cutting scope is that I (like many others) love building things. I'd actually argue that after you have your MVP functioning, any additional building you do is just active procrastination. It feels good and it feels productive, but it's not actually what you should be indexing on. Build the smallest possible thing and launch and then start talking about it.
4⃣ Marketing is Actually the Difficult (and Important) Part
Having the ability to build things used to be a moat, but now, almost anyone can build something. Because of this what matters is how you distribute and market what you build.
At the beginning of your journey, marketing is just as important, if not more important, than actually building your product.
If I'm being brutally honest with myself I think I shied away from marketing because I wasn't comfortable about talking about what I was building -- because talking about it meant people would know about it and if people knew about it they could know that it might fail.
My best advice here is to force yourself to do marketing even if it's uncomfortable and the best way to do this is by making marketing an integral part of your daily activities.
I started posting about my product on my socials even though it felt uncomfortable. I also made it a goal to tell 10 new people about my product every single day. The best part about doing this is that now I don't feel uncomfortable talking about my product anymore. Forcing yourself to post will make you realize that no one really cares in the first place (which should be liberating to you)
5⃣ Trials are Worth More Than Subscriptions
One of my biggest lessons was to give users trials of your product. Countless things in my product were born out of users being able to try my product and then tell me:
1. What they liked
2. What they didn't like
3. What the product didn't have that they wanted
Because of this, every trial in the early days of your product, is worth multiple times more than the $30 you might get from their subscription. Give them out liberally. Not only will trialing users give you ideas of what to build they'll expose ways that users who aren't you are using and thinking about your product. Many of the bugs I've uncovered in my application have also come out of trialing users interacting with my product in ways I didn't think of. Trials also give you an interesting insight into perceived value of your product; pay attention to the percentage at which trialing users convert and try to gleen why users don't continue with their subscription if they cancel.
tl;dr
1. be your own customer
2. do something every day
3. aggressively cut scope
4. marketing >= building
5. give trials liberally
i hope this helps! :D
Try Ferryman: ferryman.io

English


