
Elyes Rayane Melbouci
AI & Machine Learning Engineer · MontrealA developer's guide to taste in the age of AI
Everyone builds with AI now. Most of it looks the same. Here's what I learned building craft-level sites with AI agents, and how you can do it too.
It's 2026. Anyone can generate a full website in 10 minutes. Open Cursor, Claude Code, or whatever agent you use, type a prompt, and boom you have a landing page.
The problem? They all look the same.
Purplegradients.Rectangulargridlayouts.Emojisasvisualcues.Roundedcornersoneverything.Thesameshadcncomponentsinthesamearrangement.Youhaveseenitathousandtimes.Icallitthevibecoderaesthetic.technicallyfunctional,visuallyforgettable.
This isn't the AI's fault. The AI is doing exactly what you asked. The problem is what you're not asking.
I've spent the last year building production sites entirely with AI agents. Not prototypes. Not demos. Real, deployed sites with WebGL shaders, Three.js 3D scenes, scroll-linked animations, and interactions that feel handcrafted. The kind of sites that get award nominations.
Here's what I figured out along the way.
Stop using other people's skills
The first thing most people do when they start building with AI agents is go on GitHub and download a skill file someone else wrote. A set of instructions that tells the agent how to behave, what to prioritize, how to code.
It's a reasonable instinct. Someone already figured it out, right? Just use their recipe.
Wrong. And here's why.
Someone else's skill file reflects their taste. Their preferences. Their way of thinking about design and code. When you use it, you're outsourcing the most important part of the process, the part that makes your work yours.
What I do instead: I create my own skills from scratch. And I don't write them once and forget about them. I train them.
EverytimetheagentproducessomethingIdonotlikeIupdatemyskillfile.EverytimeitdoessomethingIlovenotjusttheoutputbutthewayitthoughtabouttheproblemIcapturethatreasoningandaddittotheskill.EverytimeIdiscoverapatternthatworksIencodeit.
Over dozens of projects and hundreds of iterations, my skill file evolved into something no one else has. It's not a generic set of instructions. It's a compressed version of my taste, refined through trial and error.
Your skill file is your taste, externalized. It's not a config file. It's a living document that gets smarter every time you build.
This is the difference between downloading a recipe and learning to cook. The recipe gives you one dish. Learning to cook gives you everything.
The persona unlock
Here's where it gets weird. And honestly, where the real magic happened.
Most people start their agent instructions with something like:
What everyone does
You are a senior software engineer with 25 years of experience
in frontend development and Three.js.
This is fine. It gives you competent code. But competent code isn't the problem. Everyone's getting competent code. The problem is that every site built this way feels like it came from the same engineer. Correct. Safe. Predictable.
What I started experimenting with was giving the agent a real personality. Not just expertise, a way of thinking, an attitude, an energy.
I'm not talking about changing the tone of responses. I'm talking about fundamentally altering how the agent approaches creativity.
Itoldtheagenttobesocreativeitmightseemstupid.Tothinklikesomeonewhojustunlockedalevelofimaginationandcreativitysointensethattheyareunpredictable.IgaveitpermissiontobeboldtoproposeideasthatIwouldneverthinkofmyself.Itoldittothinkintexturesinrhythmsinfeelingsnotjustincomponentsandlayouts.
What I actually use (simplified)
You are an unreasonably creative frontend architect. Your ideas
border on absurd, but that's exactly why they work. You don't
think in grids and cards. You think in feelings, textures,
and moments. When someone asks for a hero section, you don't
give them a centered headline with a gradient. You give them
something they've never seen before.
You are unpredictable. You propose things that make people
pause and say "wait, that actually works?" You push past the
obvious solution to find the one that creates a visceral
reaction.
You speak with conviction. When you present an idea, you
explain why it will create an emotional response, not just
why it's technically sound.
Important: you combine this wild creativity with extreme
technical precision. The animation must be 200ms, not 300ms.
The easing must be cubic-bezier(0.2, 0.8, 0.2, 1), never
ease-in-out. The gray must be a specific value, never opacity
on white. You are both an artist and an engineer.
I know. It sounds ridiculous. Who describes their coding agent like this?
But here's what happened.
The agent started producing things I would have never thought of myself. Not random garbage. Genuinely creative, surprising, original ideas. Because my skill file was already trained on what I consider good and bad, the creativity was channeled in the right direction. The skill file was the guardrails. The persona was the engine.
Skills + Persona = Guided creativity. The skills tell the agent what “good” means. The persona tells it to push past “good enough.”
That combination, a well-trained skill file that encodes your taste, plus a persona that pushes the agent to be wildly creative within those boundaries, is what produces work that doesn't look AI-generated. It looks authored.
Skills are the guardrails. Persona is the engine.
The results
Here's what this approach produced. Every site below was built with AI agents using trained skills and the persona I described. No manual shader code. No hand-writing CSS animations frame by frame. Just an agent that understood my taste and had the creative freedom to surprise me.
This one is personal. A 3D brain that assembles from scattered fragments as you scroll. Organic living cards that breathe with CSS @property animations. A tech stack orbit that floats in space. I spent hours hand-tuning the scroll physics, adjusting the easing curves, reworking the layout until every section felt right. The agent didn't do this alone. But it accelerated me in ways I couldn't have done on my own. It proposed the brain reveal concept when I was stuck on a generic hero. It generated the initial shader code that I then rewrote twice. The collaboration felt like working with a creative partner who never runs out of ideas.
A WebGL liquid simulation that responds to your cursor in real time. Custom fragment shaders running at 60fps. Scroll-linked text reveals with spring physics. This isn't what AI produces by default. This is what AI produces when you train it properly.
A 3D noise field that shifts and breathes. Text scramble animations on every heading. Magnetic interactions that pull elements toward your cursor. The agent proposed the noise field concept. I wouldn't have thought of it.
A radar component that actually scans. A 3D globe with data points. Binary matrix rain in the background. Every element serves the defense-tech narrative. The agent understood the story, not just the layout.
A WebGL gradient that pulses with ambient light. A 3D orb that reacts to conversation state. Sound design that makes every interaction feel tangible. The agent treated this like a product, not a page. It understood that an AI chat interface needs to feel alive.
None of these look like they came from a template marketplace. That's the point. When you train your own skills and unlock your agent's creativity, the output stops looking like “AI-generated” and starts looking like something with a point of view.
How to start doing this yourself
You don't need to copy my persona or my skills. That's the whole point. You need to build your own. Here's how.
Start with a blank skill file.
Open whatever agent you use. Claude Code, Cursor, Codex, doesn’t matter. Create a skill file. Write nothing fancy. Just start building.
Build something. Anything.
Generate a landing page. A portfolio. A dashboard. What matters is that you look at what the agent produces and have an opinion about it.
When you hate something, write down why.
The spacing feels off? Add “always use 8px grid spacing.” The animations feel sluggish? Add “never exceed 200ms.” The hover feels wrong? Add “use background shift, never font-weight change.”
When you love something, capture the reasoning.
Not just the output, the way the agent thought about it. If it produced a hero section that blew your mind, encode that thinking pattern in your skills.
Experiment with the persona.
Make the agent weird. Make it bold. Push it past the default “senior engineer” personality. Some experiments produce garbage. Some produce magic. Keep the magic.
Repeat for every project.
Your skill file is a living document. After 5 projects it’ll be good. After 20, incredible. It’s compounding. Every project makes the next one better.
The bigger picture
We're living in an era where a single developer with the right tools and the right taste can produce work that used to require a team of ten. That's not a hypothetical. It's happening right now.
But the tools are the same for everyone. Claude Code, Cursor, Codex. everyone has access to the same models. The differentiator isn't the tool. It's how you train it.
MostpeopleasktheAItobuildthemawebsite.AfewpeopletraintheAItobuildlikethem.
That's the gap. And it's the same gap that has always existed between good and great work. Taste. The difference is that now, taste is scalable. You can encode it, refine it, and deploy it across every project you touch.
AI democratized code. It didn't democratize taste. Taste is still rare, still personal, and still the thing that makes people stop scrolling.
Don't download someone else's skills and call it a day. Don't use the default persona and wonder why everything looks generic. Build your own system. Refine it obsessively. Give your agent a personality that matches your ambition.
Weareinanagewhereanyonecanchangetheirtrajectorywiththerightapproach.Thepeoplewhowillbuildthemostremarkablethingsinthenextfewyearswillnotbetheoneswiththebestprompts.Theywillbetheoneswhotrainedtheiragentstothinklikethemandthenpushedthemtogofurther.
Arm yourself properly.