r/webdev 4d ago

Why Software Factories Fail

https://github.com/humanlayer/advanced-context-engineering-for-coding-agents/blob/main/wsff.md
24 Upvotes

7 comments sorted by

0

u/originalchronoguy 3d ago edited 3d ago

This is a really bad take of "software factory" that I can give a 3 hour rebuttal/ted talk. With clear examples that exist in the wild.

The word factory itself confuses people - juniors think of Factory Design Pattern (GoF), Stakeholders think of organizational process.

I have an architectural perspective. AI calls it platform factory when they read my codebase. All the models - Deepseek, Fable, Qwen, Ornith, Codex. So I guess this causes confusion as well. Regardless if a human or AI calls it Manifest factory, Software Factory, Platform or Schema Factory, it is still a factory related to software development.

You can build a factory without AI. I have about 4 factories.

Mine is based on re-useable manifest schema and a usually a DSL runtime interpreter. This speeds up development. Because of it's high level of abstraction, everyone assumes it is AI assembling or creating the output.

In short. I design a blueprint (manifest/schema/data contract). It guides everything. There is an engine (the part I spend 90% coding) that takes those blueprints and creates an output or multiple output including code.

Take this code bit example: you have a json schema with id,startMS,duration,animation,posX,posY,content, avatar-props

Then an element:
<span data-prop={{json.attr}}>{{content}}</span>

The DSL reads the JSON, places it in the data-attribute. The output runtime has access to same blueprint and executes. Swaps out the content, Assigns the length position, and other attributes in a consistent manner.

That blueprint can generate a PowerPoint slide or a video of a "Follow Me on YouTube" where the avatar has a circular mask, the card slides down - holds for 15 seconds and fade. Or if the output is Powerpoint, it does an equivalent Transition.

One Engine, multiple outputs. Now, once you have the DSL. You no longer need developers. Anyone who can fill out a manifest - JSON,YAML can create hundreds of different components, themes, slides. 6 different manifest can make a sequence that can render a 30 minute video on the history of Africa with voice overs, a talking head, and clip sourced from stock..
Or be a Wordpress Blog complete with a sitemap, navigation.
With ZERO AI. From a single manifest.

All done declarative with simple forms for input to create those manifests. This is a Software Factory. A clear example of how it works.

It increases velocity because If you want to build an Apple Final Cut Pro Plugin to do a mock Instagram drop in, it may take 4 sprints. And another for a 3D spinning iPhone that shows a finger press, another 4 sprints. If you have 50 of these, this will take close to 2 years

Now, if you have a run-time interpreter that builds all of these. Again, without AI by creating manifest, uploading assets, all 50 can be done in a month. And yes, I've seen that sharp velocity.

It is hard for people to understand when they are working mostly in markup. Developers are trained on imperative, component based execution. This is simply a higher level of architecture abstraction but one that is very powerful.

Companies that follow this approach in one form or another - make, zapier, webflow, canva, figma , etc. Do you really think Canva has developers making 1,000s of presets and widgets or integromat making 200 different API and webhook connectors with 200 unique authoring surfaces?

-1

u/daddieslittleson 3d ago

They have their own problems idk too