[These are my texts to self]
so basically the software is not just for human interface any more. it is way better that you design it for agentic interface also because i found it myself that it is better to sit on your own couch and text from your phone than to sit on a chair in front of your computer and get work done. it’s such that it can be automated using a series of software and agentic workflows that i can do from my couch. i would rather have that.
the point i’m getting here is that previously software ui was primarily to serve the humans as best as possible. now i think that is also necessary but another layer that can unlock a huge value is that the thing can be interfaceable via an agent also. basically a human does something, it triggers a chain of reaction, and then a piece of code at the end must be responsible for the things that are happening. when you click a button, something in the backend is sending back the api call and then the things get done.
i think what we need is a single point of interface that both humans and agents can interact with. agents should be able to touch that point via a piece of code and humans should be able to do it via ui.
so you might say if you’re going to have agents do things, why have a piece of software at all? can’t it just create it? well the point is no. the agent uses an llm which is way too general to be able to do things in a way we want. our job is to first create tools that deliver us the result we want and then figure out how we can have interfaceability for agents or maybe we can design it from the start in such a way. these are the layers: this is the interface point and how can we make it such that both the ui and external piece of code via agent can interact with it?
in the modern world the piece of code in many cases can be a unifier or standardizer that says “hey this is what i want but llm won’t be able to do it on its own.” i have a piece of software interface with my llm so that it can give me the result i want. for example if you want a carousel you won’t be able to get pristine top-notch kind of things using just html and a telling agent that says “hey this is the type of carousel i want, just make html for it.” it will just shit its pants. instead of that if you have an html renderer tool where you have already pre-coded the gradient and stuff and all it has to do is just give it a set of input that says “hey i want this type of gradient, i want a text box here, a text box there,” then you have just won
so in a sense you have a piece of code that acts like an expert and the llm just tells it the configurations and it gets that thing made. that is the direction i think software is heading: wherever one can just have this setup, we would prefer to have that over having to sit in front of a computer. there are a lot of areas where we can do this. i am doing this for generating carousels. okay i baked my ass there aRe thouand other things.
the pipeline a lot of times can be that you go ahead and create the application which has these 12 ways of input but a single point of interface like one for human and one for the ai agent. you make a lot of work and whatever work you have done you save the configuration of it. for example in the carousel maker i download all information that is about the canvas available like:
- what text is
- what is a position
- what is a canvas size
- what is the relative position to each other
like a shit ton of information and then save it. in the future whenever you have to make something you can tell the ai agent that hey go look for existing work in the library you can copy shit from there.
another way to think about it is that apis were always the real point of interface right? we were just triggering them by ui but now agents can do it on our behalf so a lot of times we have to do things very convolutly like as humans we have to do a lot of things. it’s like a lot of things are sequential and stuff but when it comes to ai agents it can just dump the whole work in a second and get it done. what might take up a lot of time ai agents can just get it done in one go.
basically apis are the real point of interface and the ui was babysitting humans up until now so that we can properly communicate with the software and get things done. now maybe it is way wiser to use ai agents doing those api calls and a way better strategy to have aggregator files that can send these api calls at once so that you don’t need to keep your ass grinding at the workstation
instead of “how do I build a UI that exposes my backend,” it becomes “how do I build a backend that’s exposable to both a UI and an agent with equal fidelity.”
Treat human and agents as different clients and treat them with respect and have single point of interface that handles both
and i think this type of software i’m talking about which has this dual interface is the next era of saas. these are going to be the micro applications that you sell so that people can get the result you can produce. this is the new era software unlocked because of agents. where tasks are repetitive but varied
Another benefit of this approach is that as we keep building projects and growing our library, the output from agents can keep getting better, making them more useful than standalone applications where users keep producing things. It’s like buying a shoe and using it over time. Eventually it will be the most comfortable one you own. In fact I think it’s a compounding benefit that in a few days this shoe will make you faster and sexier and richer and what not
every interaction can strengthen the system itself:
layouts become reusable
configurations become reusable
workflows become reusable
prompts become reusable
relationships become reusable
successful outputs become reusable
So the application develops a kind of “muscle memory.