TL;DR: This is a guest post from , founder and CEO of GenSX. GenSX is a React-based framework for building LLM apps and in my experience with it it’s far more superior in both capabilities and performance than any other, including no-code tools. Evan makes compelling arguments on redefining your relationship to coding and I find this an interesting perspective. Enjoy.
Most people can’t code. So if you’re running a business, for years you’ve had only two options when you wanted to improve your productivity with the tools and systems you used.
-
Buy better software
-
Pay someone to build better software
For years, we’ve been promised a future where anyone could build software without learning to code, giving us a third option. A promised third option was that you could just drag-and-drop some blocks, connect a few nodes, and voilà — you’ve built a fully functional app without writing a single line of code!
But if you’ve spent any time with these tools, you know the disappointing reality:
-
The cliff is real and it’s steep. You start with a simple workflow, add a few conditions, and suddenly you’re staring at a tangled spider web that even you, its creator, can’t understand. It’s the programming equivalent of a plate of spaghetti.
-
The abstraction always leaks. No-code tools hide complexity until they don’t. Then you’re stuck googling technical concepts you were promised you’d never need to learn.
-
Everyone eventually graduates. Nearly every power user of no-code tools eventually hits the wall and thinks, “I wish I could just write a simple if statement here!“
I recently reviewed a “customer success story” where a marketing team built an automation workflow using n8n. The screenshot they proudly displayed looked like a circuit board designed by a caffeinated squirrel — 47 nodes connected by crisscrossing lines, with nested conditions and loops that would make any programmer’s eye twitch. So even the best no-code tools fail at their simple promise.
This leads to a radical idea:
What if the easier path was actually code all along?
David’s notes: As a business owner you should be able to just prompt a model, have it do stuff for you and then whenever it does something right, save that so it remembers. Model Context Protocol allows us to plug any API into Claude Desktop, but you still need to manually prompt your AI to keep doing stuff for you. As I’m building Alfred, I faced the very real limitations of no-code tools and started looking for an alternative. That alternative is GenSX.
No-code tools use graphs to build automations. Make, Zapier, Gumloop, n8n all have some kind of node-based logic with a visual editor. Learning how to think in nodes and edges is usually the first step of learning a no-code tool. The problem with graphs is that they become convoluted faster than you could realize. Look at this Deep Research clone from Jim Lee:
Graphs can manage a lot, but they get complicated. A simpler approach is to use a special type of graph called trees. While graphs can have multiple inputs, outputs, cycles, etc, trees follow a strict parent-child relationship making them hierarchical.
Most automations you’ll need are more or less completed sequentially — one step after the other. This means that the node-based visual editor makes it actually harder to understand the process. Let’s look at another example: washing the dishes.
It’s a simple sequential process and if we want to visualize it using nodes and edges, we get something like this:
But there’s an easier way to understand this: Read it like a story.
Start washing the dishes
Prepare the workspace
Clear the table
Scrape leftover food into the trash
Fill the sink with warm soapy water
Set up the drying rack and towels
Sort all dishes by type
Wash the glasses first
Rinse each glass thoroughly
Dry each glass carefully
Put each glass away in the cabinet
Wash all the plates
Rinse each plate completely
Dry each plate with a clean towel
Stack plates in the cupboard
Wash the utensils
Rinse all utensils under running water
Dry the utensils
Sort and put away in the drawer
Wash the pots and pans last
Rinse thoroughly to remove all soap
Dry completely to prevent water spots
Put away in their proper places
Clean the sink itself
Wipe down all counters
Dishwashing is now complete
The only way to build automations like this is to write code. Which has been a problem for non-coders — until now.
Something interesting happened while the no-code movement was busy creating increasingly complex visual programming environments: AI got really, really good at writing and explaining code. And simultaneously, component-based programming models like React became the dominant paradigm for building software.
Today’s landscape is completely different:
User: I need to automate pulling data from our CRM, filtering out inactive leads, and sending a weekly summary to my team.
AI: Here's how you could do this with GenSX, which gives you React-like components for workflows:
import * as gensx from "@gensx/core";
import { fetchCRMData, filterInactiveLeads, generateReport, sendEmail } from "./utils";
const WeeklyLeadReport = gensx.Component(
"WeeklyLeadReport",
async () => {
// Fetch all lead data from CRM
const allLeads = await fetchCRMData();
// Filter out inactive leads
const activeLeads = filterInactiveLeads(allLeads);
// Generate the report
const report = generateReport(activeLeads);
// Send email
await sendEmail({
to: "team@company.com",
subject: "Weekly Lead Report",
body: report
});
return {
processedAt: new Date().toISOString(),
leadCount: activeLeads.length
};
}
);
Here’s the kicker: You don’t need to understand every line! Not anymore. Let’s block out the bits of code that are hard to understand for non-coders:
Notice how readable this is compared to a visual flow with dozens of connected nodes. And if you want to add a condition? Just add an if statement. Want to customize the report format? It’s just regular JavaScript.
You don’t have to add the code yourself. Claude, ChatGPT, Gemini will all write terr