Malleable Software

  • I see some of this, from the point of view that it's going to be cheaper to create bespoke solutions for problems. And perhaps a "neoSaaS" company is one that, from a very bare bones idea, can create your own implementation.

    But, at the same time, there are two issues:

    - Companies can be really complex. The "create a system and parametrise it" idea has been done before, and those parametrisation processes are pretty intensive and expensive. And the resulting project is not always to be guaranteed to be correct. Software development is a discovery process. The expensive part is way more in the discovery than in the writing the code.

    - The best software around is the one that's opinionated. It doesn't fit all the use cases, but it presents you a way to operate that's consistent and forces you to think and operate in certain way. It guides you how to work and, once going downstream, they are a joy to work with. This requires a consistent product view and enforcing, knowing when to say "no" and what use cases not to cover, as they'll be detrimental from the experience. It's very difficult to create software like that, and trying to fit your use case I'll guarantee it won't happen.

    These two things tension any creation of software, and I don't think they'll go away just because we have a magical tool that can code fast.

  • For six years I worked in a SaaS startup that built an applicant tracking system (a tool to manage recruitment efforts in big/mid-sized companies) tailored for the local market of the country we lived in. My experience tells me that our main value was in forcing them to rethink their recruitment processes, not adapting to their existing ones that were usually all over the place.

    As much as I want to believe the opposite to be true as a “power user”, good tools often force you to adopt better practices, not the other way around.

  • A lot of people been saying this lately, that LLMs are going to make SaaS obsolete because you will be able to build the alternative yourself without the need to pay.

    But (and I'll copy & paste a comment I wrote a few days ago) I disagree. This existed way before LLM. Open source alternatives to most products are already available. And install them and deploy them is much easier than do it with LLMs, and you get updates, etc.

    People don't want the responsability to keep them updated, secured, deployed, etc. Paying a small amount will always be more convenient than to maintain it yourself. The issue was never coding it.

  • For myself yes. I just have claude code running and it's replacing everything i'm doing company and personal wise with custom stuff. However, most people, like my colleagues/employees, want rigidity and do not want to learn new stuff generally. They want to focus on completing their tasks and don't want to have a quicksand saas underneath them. If it helps completing tasks faster then maybe.

    Also training new people is annoying when things change too often; people can already use Jira/Linear/Monday/whatever , they don't want some completely flexible thing that is malleable.

    Also, people are not all perfectionists with long term goals and visions. People who 'change' some part of their work flow that helps them NOW; they won't care about speed, scaling, deployment etc, so they will do something to make their work easier and then leave it there and possibly ignore it forever to rot. Which might have all kinds of fun implications.

    I guess when we have AGI with a few 10 million+ context window for cheap, it will be different but the current llms would just leave a massive amount of rot all over the place, quickly forgotten and not usable by anyone but the original creator.

  • Inflexibility is the quality I desire more and more as I get older. I don't want to force my software to do dumb shit, I want my software to force me into avoiding dumb shit. This is how you keep a system understandable. That quality is far more precious than the ability to connect complicated enterprise spaghetti machines into each other.

  • Is this just low code all over again, except this time with some nondeterminism thrown in?

  • I disagree with a lot of the assertions the article makes.

    IME: LLMs don't "thrive" in messy open-ended spaces. They handle spaces like that better than traditional code, and traditional code handles structured spaces a lot better, but LLMs still do perform better in structured spaces than unstructured ones. Giving them lists of tools, schemas for data, consistent examples, etc always produces better results than not doing this.

    The correlate thesis you have to make is: Do humans work better in unstructured spaces. This can be true for highly creative and individual work, but generally (and especially in the enterprise SaaS world) the opposite is true. The Structure is how you keep the users of the product aligned on one pattern of usage. E.g. giving people the ability to just create whatever ticket fields they want in Linear ends up being useless because you'll end up with 10 fields that do similar things; the friction structure introduces is necessary because while it can cost a few seconds up-front as users learn how things are done, it saves time down the line as your organizational tools (filtering, dashboards, reports, etc) are aligned on the structure.

    Its also 100% the case that oftentimes companies buy SaaS tools not to solve their problems, but to help them better structure the problems they have so they're even solvable at all. Think about Sentry: The end-goal of Sentry is to solve issues in web applications, for sure. But that's not why people buy it. I could do that without Sentry; but Sentry adds structure to the errors, it adds deterministic workflows to the errors, and it provides excellent SDKs to report them. Sentry's value isn't actually in the end-goal; its value is in the structure it adds every step before the end-goal. Accelerating the inputs by adding formality to them ends up accelerating the end-goal.

  • I think most of the SaaS stuff that benefits from being malleable already is malleable - just slowly malleable. I can configure a Trello or GitHub Actions in whatever way I want. Meanwhile I really want my email, messenger, or banking apps to be exactly the same every time I use them. I'm not clear how adding a non-deterministic UI or business logic layer is going to fundamentally disrupt or improve experiences like Jira or Visual Studio.

    Maybe we're in some kind of local-optimal, where all project management software has coalesced around a few user journeys, and there's some better approach out there to be discovered.. But I don't see why an accounting software company, games studio, or vehicle manufacturer, would dedicate even 1% of its resources into crafting a malleable bespoke project management software toolkit.

    It goes against the concept of comparative advantage, and I can't think of any successful enterprise that's bet against comparative advantage and won.

  • Malleable and opinionated aren't mutually exclusive. The best products that solve non-core business processes should be opinionated, that's their value prop.

    But yeah, the demand for webhooks, integration options, embedding's will win IMO. I imagine more demand for API-first products.

  • This felt like a very weird read to me. As someone who is very pro writing flexible software.

    IME getting LLMs to write flexible code is not easy and one of my biggest turnoffs for coding agents. The code they tend to produce is usually more standardized and lacking of context. It'll "work" but that doesn't mean it "works".

    And I think almost everyone is aware of malleable software, it isn't very niche. If you took a programming class your teachers probably told you to write functions and make them small and self contained. A lot like the Unix Philosophy[0].

    One thing I find different about this style is that it tends to shift time away from writing lines of code to planning. Which, again, the planning part is what the LLMs tend to be weak at[1]. You can't plan everything but a benefit of flexible code is that you can adapt to new challenges and requirements. It's a good style because a constant in software development is that the requirements by the end of the project (does it end?) are going to be different from those you started with. If your code is inflexible then you have to hack around your existing code. But if it is flexible you add the new routines and leverage existing ones as much as possible. But for that to happen the existing routines should be decently singular in purpose. Function call overhead tends not to be the bottleneck but if the profiler says they are then yeah, fuse functions as need.

    [0] https://en.wikipedia.org/wiki/Unix_philosophy

    [1] I find their strengths are in writing generic routines, helping narrow in on fuzzy or difficult to describe things that are hard to google, helping you get up to speed on a novel codebase, ditto for a library or language, or simply just throw away code. But not for things where foresight is necessary. But yes great when your job is to glue things together. It's just that if you're doing a lot of gluing there's probably a better way

  • Sure, if by SaaS you mean hooking together software that is essentially websites. Major industrial software that costs thousands per seat like Ansys or Dassault are not getting replaced by something that "AI" can cobble together.

    The parts of SAP that's composable workflow stuff? Doubt it, because the types of ABAP workflows in SAP that might be "malleable" are the sort of stuff that often legally requires correctness and reproducibility - kinda the exact opposite of a good LLM use-case.

    And as much as I'd like to actually own my software, SaaS is preferable for major corporations for lots of legal and accounting reasons like easier revenue recognition. They're going to keep pushing it because it makes all the parts of being a software company that don't include writing the actual software easier.

  • I'm not sure about software that sells itself on providing a mirror for people to reflect on the structure they use for organization, but I do believe eventually the tools that are going to win are those that do text interface.

    Even a visual tool like blender should expose their full GUI as a text API. It needs a bit of adapting, specifically for domain-specific structs (which should be retrievable via calls like 'select-bb' or 'select-coordinates'), but after that's done it's a game changer.

    That class of software has a lot of proprietary GUI's that look slick and people are familiar with, but who cares about familiar in a world where the other software lets me point my LLM at its help file and build me whatever gui/tui/script/voice integration I can think of.

  • Malleable software will eat you whole.

    None of this makes any sense. Do you know how computers work?

    This "AI" summer has turned into a drug fueled orgy of magical thinking. I am at my tether's end. I need to leave this industry to preserve my sanity at this point.

  • I've been in SaaS for about 17 years, and a pattern I've seen is that for companies customers actually love, customization shows up as a milestone. It helps them find their own way of doing things, but eventually they settle into that way.

    When it resonates with customers, it feels great.

    Customizable SaaS is really just a side effect of the deeper need for control, because with control you can execute better. And when that lines up with capital, market fit, and a clear purpose, it creates more than efficiency, it creates meaning.

    The companies that never settle, always chasing new patterns, usually end up with customers who don't enjoy them and employees who don't enjoy the software either.

  • My favorite "malleable" example this past week that I recommend: using Gen AI to rewrite, customize, or create dotfiles* for your laptop/desktop.

    Defining a bespoke system config was always something that never had the time, desire, or deep familiarity with various config formats to do. With Claude Code or ChatGPT can now generate Wezterm/tmux/neovim/etc config files and get exactly what I want not knowing a single thing about specific config file formats.

    * https://dotfiles.github.io

  • undefined

  • I've experienced this partially, as someone who never uses sheets etc - the capability to create a template that achieves my exact needs within a few seconds is really strong - i can then form malleability in where I want.

    But quite honestly, the SaaS world is also due a culling - i'd argue if the software you work on as a SaaS business is replaceable by a malleable piece of AI software, you're closer to Pets.Com than a suitable business model.

  • It does seem likely that there is a shift towards DIY single use tools.

    For anything more than single use there is a bit of a risk of it turning into a mess that collapses under it's own weight. A bit like a couple bad decisions at the start of a coding project comes back to haunt you later. So I struggle to see this replacing core infrastructure of anything in long run.

  • Yes and no.

    Malleability is opposed to institution. When everything is hyper malleable everybody will need to be trained and change management will take up a large proportion of time.

    The main reason why a lot of people go with Jira is not quality of the software - but the institutional buy-in. Employees, current and prospect, know how to work with the tool.

    The greater change is likely labor disruption.

  • I’ve been wondering how long it will be before AI can “pirate” SaaS by using it and synthesizing an acceptable replacement. SaaS used to drive real world services would not be amenable to this, but a lot of SaaS is just a UI in front of Postgres. I could see this being possible for anything “thin” like that.

  • Rigidity helps in trusting the system.

    Malleability / flexibility can introduce unreliability.

    We need to get over a hump, where software becomes more humanlike, but just like with good engineers over time we can probably arrive at a place where we can trust our new malleable solutions just like a new colleague turning out to be great.

  • > AI thrives in messy, open-ended spaces

    Isn't the exact opposite of what AI is good at? That sounds like a great way to get tons of hallucinations. Every "how to AI good" guide I read is all about providing it with ample structure and narrow instructions.

  • For the Linear example, I would argue that adding too much flexibility would make the tool worse. Rigid workflows are consistent making them more robust and scalable. They work consistently needing less guidance or intervention.

    When you find a rigid workflow that is both widely applicable and useful, that's how the most valuable companies are made. Those workflows can scale up with little intervention giving them incredibly high yield.

    I think the new challenge is introducing flexibility in a controlled manner so we can minimize the added inconsistency needed to achieve broader goals. That way the workflow can find the right balance between robustness and flexiblity for the task at hand.

  • the guy is full of sh*t, his example makes zero sense and looks like badly edited output of creative writing prompt. Not to mention he is the ceo of Fibery so whole thing is just a promotion.

  • This is comparing two orthogonal properties.

    SaaS is a business model while malleable vs. rigid is a property of the software itself.

  • > The biggest shift LLMs bring to malleable software is moving the focus from designing the solution to defining the problem.

    people who know how to formulate the problem already rule the world. AI will just be a catalyst.

    If you have good market fit it means you were lucky or you knew which problem your potential customers had.

  • undefined

  • data layer > business logic layer > presentation layer

    I believe the presentation/analytics layer has become malleable, possibly parts of the business logic layer - you still need a higher % of trustworthiness than LLMs can provide for parts of the business and data layers.

  • Low code/No has alreasy been capable of spitting out CRUD boilerplate forever. Every application turns into a special unique snowflake given time and users.

    Code has never been the bottleneck once you’re out of the CRUD boilerplate phase.

  • So we need to create tools with very high flexibility, not-so-fantastic onboarding that take a long time to setup and hard to get right - so that AI can fix them? I would rather use Linear (as per example).

  • Previous discussion regarding malleable software: https://news.ycombinator.com/item?id=44237881

  • undefined

  • So a well-designed and fast saas like Linear will get replaced by a messy solution + AI? Might as well be the case, but what a waste of effort.

  • We have been running this playbook for the last 2 years in healthcare, and we have been super successful. Doubling every quarter over the last year. 70%+ profitability, almost 7 figures of revenue. 100% bootstrapped.

    People are still mentally locked in to the world where code was expensive. Code now is extremely cheap. And if it is cheap, then it makes sense that every customer gets their own.

    Before - we built factories to give people heavy machinery. Now, we run a 3d printer.

    Everyday I thank SV product-led growth cargo cults for telling, sometimes even forcing our competition to not go there.

  • This seems like an advertisement for that person's company.

  • undefined

  • > Now, in many cases, LLMs can handle the "how" for you. You describe what you want in plain language, and the system works like a programmer or system analyst: breaking your problem into building blocks, mapping a flow to solve it, and creating the first version.

    People keep saying things like this, but what's an actual example of a viable product created that way? Talk is cheap, I want to see it.

  • this is also dependent on the field of SaaS fill

    good luck replicate this on financial,health,military,cyber etc field

  • not everyone tangled himself with fibery or linear

    lmao

    malleable software? what a joke

  • [dead]

  • [dead]