It was 5:15 PM on August 11, 2020, when a Citibank employee named Santhosh Ravi decided to cross one more thing off his to-do list before leaving the office. It was time to pay off some interest to one of Citibank’s lenders, Revlon. They needed a payment of $7mil, with the remaining $900mil of principal to stay with Citibank.
Ravi opened up their custom internal software for making payments: Flexcube. This is a screenshot of the exact interface Ravi used and what he had filled in on the screen:

Taken from the Southern District of NY’s official documentation of the case - which I saved in my Google Drive to look back on whenever I need to feel better about a mistake I made. You can read the whole thing here.
Ravi knew the principal should stay in the bank, so he routed it to an internal ledger. What he didn’t remember is that the same ledger code needed to be entered into FRONT and FUND, too. He pressed Submit, and it went through for verification under Citi’s “six-eye” review process: first to his supervisor Raj, and then to Raj’s supervisor Vincent. All three employees thought it looked correct so they accepted it and the payment processed, sending the full $900mil in remaining principal out to Revlon.
Look at all those steps being followed perfectly, diligently - and yet it was actually a massive error with nearly a billion dollars in misplaced funds. Revlon ended up telling Citibank that they thought about it and decided they wanted to keep the money (lol), and the whole thing went to court for a couple years before Revlon was forced to return the money to Citibank.
Perhaps Citi should have had “six eyes” on this shitty interface before it was implemented??
My friends, I think - hope - pray - we are reaching the end of The Era of Shitty Interfaces.
An interface is the layer that sits in between the human and the technology. It is the surface where cold hard computers meet our warm fuzzy lives.

Where the technology stops, the humans step in. History.com
Software is basically three layers: the interface, which sits on top of a logic layer, which sits on top of data. Up to now, the people who built software had to focus their efforts on making sure the data and logic layers worked correctly. For complex use cases like in finance or government or health care, this took a ton of effort and constant maintenance.
The interfaces that sat on top of these tools became somewhat of an afterthought, with the assumption that through documentation and training, the poor humans will figure out how to navigate it. If they messed up, that was on them - whereas if the data or logic layers messed up, that would be on the tech people who made the software, so those tech people kept spending their time there.
So Citibank’s Flexcube software “worked” in that the IT team that did the money routing on the back end got that part right. But it failed in the real world of helping humans use the software correctly. In that court document I linked above, the blame keeps getting placed on the software users, not the software makers.
Advances in AI coding are fundamentally changing how all three layers get built. The data layer can be a bunch of structured or unstructured data all smushed together in a data lake, the logic layer is increasingly turning into AI agents who can interpret the data and automate themselves across it, and then the interface can be…anywhere?
Techies are getting psyched about the idea of “headless” software in which the value the software provides is in the form of machine-facing access to its logic and data. APIs, the main way software talks to each other on the internet, is an example of headless functionality. Claude Skills are a new example: you write up what the Skill can and can’t do, how it should or shouldn’t act, and then that becomes guidance for AI agents who use that Skill. There is an idea that your company should primarily be providing APIs and Skills for agents to consume, because that way it can find a “head” anywhere else, like a chat interface.
This is certainly intriguing. BUT it would be a mistake to take this too far. I don’t think humans WANT to be spending their whole work day in a chat interface! Sometimes it is fun but mostly these “I’m so blank and open, I can do anything!” screens suck.

Back at what exactly, Claude?

I’m often not sure where to start, Gemini

So much, ChatGPT. Too much.
No thank you. I’m more excited about three new possibilities for the future of software interfaces:
Emergent Interfaces
Our AI tools will be able to create for us in the moment the exact interface we need to accomplish a specific task. These are called “micro apps” or even “disposable apps” because it doesn’t matter what happens with that interface when we are done with our task.

From Dharmesh Shah, co-founder of Hubspot
This is fun to think about - I love the idea of not needing to maintain the same interface for a bunch of different use cases, and I love the idea of users having quick and cheap access to something supremely specific to their current moment.
But this won’t work in many settings, and shouldn’t be relied on across the board. It’s also helpful to give users something they can build familiarity with so they can move quicker when they see it.
Empathic Interfaces
This is a term I just made up, © Samuel Adiv 2026.
I am hopeful that when it gets really easy to make beautiful interfaces, we will do so with deep empathy for our users’ lived experience. Too much software - especially business software - sucks to use. We need to raise our expectations for what it could be like to log in and be delighted.
A thoughtful software creator can say: I am going to craft a set of interfaces that are going to make my users feel like I know them because I do. When we make super specific software for a super specific set of users we can embed culture, values, style, structure into the interface in a way that used to require expensive customization.
This is the advancement that would have helped Ravi back at the end of that fateful workday in August 2020. A human-centered design with helpful cues and prompts and gestures.
Screen-free Interfaces
I’m hoping we look back at smartphones the same way we look back at the telephone operators. These magical devices have for the most part been problematic for humans, demanding our attention all day long, distracting us while driving, pulling us into siloed hunched over postures sitting next to each other on the subway. If we can figure out a better way, I’m all for it.
Same with computer screens. My work involves me being on Zoom all day and it’s terrible. You end the day feeling exhausted but you have barely moved. We aren’t wired to just look at video thumbnails on a little screen all day.
Many are working on what these new interfaces could be. There’s a lot of interest around OpenAI hiring Jony Ive, Apple’s lead designer from 1992 to 2019. But we’re a ways off - last week Sam Altman was asked about the timeline on this and said “maybe we’ll have something to share toward the end of this year.” When pressed on why it’s taking so long he shrugged and mumbled “Hardware is…hard.” Figuring out the right design for the post-phone era seems quite difficult. We could imagine most people rejecting these kinds of devices for a while before they become inevitable.
But I remain hopeful for this one. I really don’t love the idea of my kids spending their lives on screens like we do now.
If you’re wondering where to start with using these new AI coding powers to help your team or your clients, start with interface design.
What could you build for your people now that you couldn’t before?
Let me know what you come up with!
Sam
Content of the Week
This is one of the best pieces I’ve read on how IT and HR are converging. “The value chain — how people, process, systems and data interact to create outcomes — is the invisible thread most organizations barely understand. AI pulls on that thread hard. That is why the relationship between CIOs and people leaders has moved from important to existential.“

