VI.AI at work · July 2026
They let me (and Claude) tackle front-end tickets. I barely know what I am doing...
Using AI to code in a real codebase with real integrations isn't the LinkedIn success story. It's slower, messier, and humbling — and the only thing that makes it possible is a team of engineers who don't mind explaining why the content needs to refresh.
By Gisella Famà · 5 min read · AI at work
I started using Claude Code for real front-end tickets this sprint. Not a side project. Not a toy repo I own. A live product, with a backend I didn't build, integrations I didn't choose, and a component library that has been touched by more engineers than I can count.
The LinkedIn version of this story would have me shipping twice as fast by day three, confidently refactoring legacy code, and maybe posting a thread about how designers who don't code are leaving money on the table. The real version is that I spent an hour yesterday trying to understand why a piece of content wouldn't refresh, only to learn that 'memoised' is not, in fact, a typo.
"The LinkedIn illuminati will tell you AI makes you ten times faster. They will not tell you about the afternoon you spend learning what a dependency array is."
What it's actually like
The first thing that hits you is the weight of the codebase. This isn't a tutorial where everything is neatly abstracted and the folder structure makes sense. This is a product that has evolved under real pressure, with decisions made by people who left, and patterns that made sense a year ago and now just are.
You have to understand the backend schema to know what data is available. You have to understand the state layer to know why your change isn't showing up. You have to understand the difference between a component that renders and a component that remembers — and I am still working on that one.
What the LinkedIn version leaves out
It is not faster at first. It is dramatically slower, because you are coding through a translator and the translator needs context you don't yet know how to give.
Claude is confident about code it didn't write. So are you, briefly, until you run it and discover a subtle assumption about the data shape that breaks everything on staging.
The hardest part is never the syntax. It is knowing what question to ask. 'Why isn't this working?' is not a useful prompt. 'Why does this component re-render when the parent updates but the child doesn't?' is — and it takes time to learn the difference.
You will feel stupid regularly. This is not a bug. It is the feature. The feeling stupid is how you know you are learning something that isn't a tutorial.
What actually makes it possible
I have no particular advice for other designers who want to try this, because every codebase is different and every team's tolerance for confusion is different. But I know exactly what made it possible for me: a team of engineers who were open, happy for me to give it a go, and possessed of a patience I did not deserve in my first week.
They did not roll their eyes when I asked why the field was empty. They did not rewrite my PR while I wasn't looking. They pointed me toward the right file, asked the right follow-up question, and let me sit with the confusion long enough for it to turn into understanding.
"You need patience with yourself, patience from your team, and — above all — patience with Claude, who will suggest something plausible, well-written, and completely wrong at least once a day."
Where I am now
I still don't know exactly what is happening inside every file I touch. But I feel more sure of my PR every day. I can read an error message and know roughly where to look. I can ask Claude a question and know, roughly, whether the answer makes sense in the context of this particular app.
That is not the LinkedIn story. The LinkedIn story is instant mastery and 10x productivity. The real story is slower, messier, and far more interesting: a designer learning to read a codebase she didn't write, with an AI that is sometimes brilliant and sometimes confidently wrong, surrounded by people who are kind enough to let her try.
Disagree? That's the point. Tell me why.
← Back to all thoughts