<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://johnwick.cc/index.php?action=history&amp;feed=atom&amp;title=Your_SaaS_Backend_is_Too_Heavy</id>
	<title>Your SaaS Backend is Too Heavy - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://johnwick.cc/index.php?action=history&amp;feed=atom&amp;title=Your_SaaS_Backend_is_Too_Heavy"/>
	<link rel="alternate" type="text/html" href="https://johnwick.cc/index.php?title=Your_SaaS_Backend_is_Too_Heavy&amp;action=history"/>
	<updated>2026-05-07T03:35:52Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.1</generator>
	<entry>
		<id>https://johnwick.cc/index.php?title=Your_SaaS_Backend_is_Too_Heavy&amp;diff=3203&amp;oldid=prev</id>
		<title>PC: Created page with &quot;650px  In August 2023, Elon Musk livestreamed a drive in a Tesla Model S running FSD v12. The car navigated construction zones, roundabouts, and pedestrians with eerie smoothness.  https://www.youtube.com/watch?v=704gOMfiH1c  The livestream was on X…but here’s a recording from YouTube if anyone is interested. But the most significant part of that demo wasn’t what the car did. It was what the engineers had removed.  For...&quot;</title>
		<link rel="alternate" type="text/html" href="https://johnwick.cc/index.php?title=Your_SaaS_Backend_is_Too_Heavy&amp;diff=3203&amp;oldid=prev"/>
		<updated>2025-12-14T00:20:50Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;&lt;a href=&quot;/index.php?title=File:Your_SaaS_Backend_is_Too_Heavy.jpg&quot; title=&quot;File:Your SaaS Backend is Too Heavy.jpg&quot;&gt;650px&lt;/a&gt;  In August 2023, Elon Musk livestreamed a drive in a Tesla Model S running FSD v12. The car navigated construction zones, roundabouts, and pedestrians with eerie smoothness.  https://www.youtube.com/watch?v=704gOMfiH1c  The livestream was on X…but here’s a recording from YouTube if anyone is interested. But the most significant part of that demo wasn’t what the car did. It was what the engineers had removed.  For...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[file:Your_SaaS_Backend_is_Too_Heavy.jpg|650px]]&lt;br /&gt;
&lt;br /&gt;
In August 2023, Elon Musk livestreamed a drive in a Tesla Model S running FSD v12. The car navigated construction zones, roundabouts, and pedestrians with eerie smoothness.&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=704gOMfiH1c&lt;br /&gt;
&lt;br /&gt;
The livestream was on X…but here’s a recording from YouTube if anyone is interested.&lt;br /&gt;
But the most significant part of that demo wasn’t what the car did.&lt;br /&gt;
It was what the engineers had removed.&lt;br /&gt;
&lt;br /&gt;
For years, Tesla’s Autopilot (FSD v11 and prior) ran on Software 1.0.&lt;br /&gt;
It was a massive collection of heuristic rules written in C++ (just examples):&lt;br /&gt;
* 		if (red_light) stop();&lt;br /&gt;
* 		if (roundabout) yield();&lt;br /&gt;
* 		if (object_is_cone) change_lane();&lt;br /&gt;
The problem is that the real world is High Entropy.&lt;br /&gt;
A police officer waving you through a red light breaks the if (red_light) rule.&lt;br /&gt;
A plastic bag blowing in the wind looks like a rock.&lt;br /&gt;
To handle reality, Tesla engineers had to write 300,000 lines of C++ code, creating a “Hydra” of logic that was becoming impossible to maintain.&lt;br /&gt;
With FSD v12, they deleted almost all of it.&lt;br /&gt;
They replaced the C++ heuristics with a single, end-to-end Neural Network. They stopped telling the car how to drive (rules) and started showing the car what good driving looks like (data).&lt;br /&gt;
&lt;br /&gt;
This is the shift from Software 1.0 to Software 2.0.&lt;br /&gt;
If you haven’t read my previous post, feel free to: Stop Coding Like It’s 2015&lt;br /&gt;
And while most of us aren’t building self-driving cars, this shift is about to fundamentally change how we build SaaS applications.&lt;br /&gt;
&lt;br /&gt;
The SaaS “Heuristic Trap”&lt;br /&gt;
Consider the typical architecture of a B2B SaaS application.&lt;br /&gt;
Let’s say, an expense management tool.&lt;br /&gt;
We like to think our backend code is elegant architecture.&lt;br /&gt;
In reality, 80% of our backend code is just input plumbing.&lt;br /&gt;
Seriously, think about it.&lt;br /&gt;
When a user uploads a messy invoice PDF, our code has to:&lt;br /&gt;
* 		OCR the text (means convert image to text).&lt;br /&gt;
* 		Run a Regex to find the date (eg. is it DD/MM or MM/DD?).&lt;br /&gt;
* 		Write logic to distinguish “Total” from “Subtotal”.&lt;br /&gt;
* 		Write if/else statements to categorize “Starbucks” as “Meals”.&lt;br /&gt;
Just like Tesla’s v11, we are writing brittle rules to try and tame a chaotic, unstructured reality. We are building our own little 300,000-line monster.&lt;br /&gt;
&lt;br /&gt;
This is a trap. In 2026 (since 2025 has almost ended), writing a parser from scratch is not “Engineering”; it is undifferentiated heavy lifting.&lt;br /&gt;
&lt;br /&gt;
The “Universal Adapter” Thesis&lt;br /&gt;
The core insight of AI Engineering is not that “AI writes code for you” (Copilot).&lt;br /&gt;
&lt;br /&gt;
The insight is that AI replaces code for you.&lt;br /&gt;
LLMs act as a Universal Adapter. They allow us to treat Unstructured Data (Natural Language, Images) as if it were Structured Data (JSON).&lt;br /&gt;
* 		Software 1.0 Approach: You spend 2 weeks writing a fragile parser that breaks if the invoice format changes.&lt;br /&gt;
* 		Software 2.0 Approach: You write a prompt: “Extract date, total, and merchant from this image. Return JSON.” (there’s a better way, read my Pydantic post)&lt;br /&gt;
The LLM becomes a probabilistic computing layer that absorbs the complexity of the real world, so your deterministic code doesn’t have to.&lt;br /&gt;
&lt;br /&gt;
The Sandwich Architecture&lt;br /&gt;
However, the “Full AI” approach has a fatal flaw:&lt;br /&gt;
Hallucination.&lt;br /&gt;
Tesla can afford to use an end-to-end neural net because if the model outputs a 99% correct steering angle, the car still turns.&lt;br /&gt;
But in SaaS, if your model outputs a 99% correct bank balance, you get sued.&lt;br /&gt;
We cannot simply “delete all code.”&lt;br /&gt;
We need a new architectural pattern that balances the Creativity of Probabilistic Models with the Reliability of Deterministic Code.&lt;br /&gt;
I call this The Sandwich Architecture.&lt;br /&gt;
&lt;br /&gt;
1. The Top Bun (Deterministic Guardrails)&lt;br /&gt;
This is traditional code.&lt;br /&gt;
* 		Auth: Who is this user?&lt;br /&gt;
* 		Rate Limiting: Do they have budget?&lt;br /&gt;
* 		Schema Validation: Is the input safe?&lt;br /&gt;
You never let an LLM handle security. Prompt Injection is real. if (user.isAdmin) must remain code.&lt;br /&gt;
&lt;br /&gt;
2. The Meat (Probabilistic Intelligence)&lt;br /&gt;
This replaces your complex business logic.&lt;br /&gt;
* 		Parsing: Turning emails into tickets.&lt;br /&gt;
* 		Routing: Deciding which department needs to see this.&lt;br /&gt;
* 		Extraction: Pulling data points from unstructured text.&lt;br /&gt;
This is where you save months of development time. You replace thousands of lines of logic with a few API calls.&lt;br /&gt;
&lt;br /&gt;
3. The Bottom Bun (Deterministic Execution)&lt;br /&gt;
Once the LLM has extracted the data (eg. { “amount”: 50, “currency”: “USD” }), you hand control back to code.&lt;br /&gt;
* 		Database Writes: SQL is deterministic.&lt;br /&gt;
* 		Math: amount * tax_rate.&lt;br /&gt;
* 		API Calls: Stripe charges.&lt;br /&gt;
&lt;br /&gt;
The Shift in Value&lt;br /&gt;
The implication of this shift is profound for us as engineers.&lt;br /&gt;
In the Software 1.0 era, your value was defined by your ability to write the logic that solved the problem. You were the Translator (Human → Machine Code).&lt;br /&gt;
In the Software 2.0 era, the “Translation” is commoditized. The LLM does the translation better than you.&lt;br /&gt;
Your value shifts to Orchestration. (you might want to highlight this)&lt;br /&gt;
* 		Designing the Sandwich.&lt;br /&gt;
* 		Defining the Schemas (the interface between the Buns and the Meat).&lt;br /&gt;
* 		Evaluating the reliability of the Model.&lt;br /&gt;
Tesla deleted their code to make their car a better driver.&lt;br /&gt;
You should too delete your code to make your SaaS a better product.&lt;br /&gt;
This is the trend.&lt;br /&gt;
The best backend for your next app is no longer a 50000 lines Express.js (or whatever framework) server.&lt;br /&gt;
It’s a 500 lines orchestration layer that knows exactly when to call upon the ghost in the machine.&lt;br /&gt;
&lt;br /&gt;
💡 The Takeaway&lt;br /&gt;
Next time you are about to write a Regular Expression or a complex switch statement to handle user input, stop.&lt;br /&gt;
Ask yourself: “Am I trying to code a rule for a falling leaf?”&lt;br /&gt;
If the answer is yes, delete the code. Use a prompt instead to the LLM.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Engineering insights for the AI age.&lt;br /&gt;
Human strategies for a clearer mind.&lt;br /&gt;
The newsletter for the builder who thinks.&lt;br /&gt;
Join now for free to receive weekly visual mental models and decision frameworks.&lt;br /&gt;
&lt;br /&gt;
Till We Code Again | Dylan Oh | Substack&lt;br /&gt;
Engineering insights at the intersection of Legacy Systems and Future Intelligence. Click to read Till We Code Again…&lt;br /&gt;
dylanoh.substack.com&lt;br /&gt;
&lt;br /&gt;
Cheers.&lt;br /&gt;
&lt;br /&gt;
Read the full article here: https://levelup.gitconnected.com/your-saas-backend-is-too-heavy-efc8ddcffa60&lt;/div&gt;</summary>
		<author><name>PC</name></author>
	</entry>
</feed>