“Vibe coding” — the term Andrej Karpathy popularized for building software by describing what you want in natural language and letting an AI handle the syntax — has produced a specific failure mode that everyone in the category recognizes. The code works. The app does the thing. It also looks like every other AI-generated app: generic, slightly templated, and missing whatever the design world calls taste.
The fix is not better prompts. It is better reference material. Most AI-built apps look generic because the person building them did not feed the model anything specific to imitate. The model fell back on its average. The average looks like the average.
The five tools below each solve a specific piece of that problem. Together they form a stack that lets a non-designer ship work that does not visibly come from an AI. Presented in the order they actually get used: inspiration, reference, extraction, components, and finally end-to-end generation.
1. Godly: ten minutes of taste calibration
Godly is a curated gallery of the best-looking websites currently live on the internet, refreshed continuously. It is, on the surface, an aesthetic mood board. In practice, it is the most efficient way to raise the bar on what your AI tools will produce.
The use pattern is simple. Before starting any new build, scroll Godly for ten minutes. Save the sites that resonate. Then, when you start prompting your AI, hand it those references explicitly: “I want something in the spirit of these three sites.” The output you get back is dramatically less generic than the output you would have gotten from a blank-slate prompt, for exactly the reason you would expect. The model now has specific targets to imitate rather than a vague directive to “look good.”
Godly does not generate anything. It calibrates what you are aiming for, which is the actual prerequisite for everything else in this stack.
2. Mobbin: the searchable archive of every screen worth copying
Mobbin is to mobile and web UI what stock photo libraries are to imagery, except curated rather than indiscriminate. Every screen of every major app, catalogued, tagged, and searchable by pattern. Onboarding flows, paywalls, empty states, settings menus, navigation patterns, comment threads.
The use pattern matters more than the catalog itself. When you need a specific UI element that you cannot quite picture, Mobbin gives you back the best existing implementations of that element from real shipped products. You hand the relevant screenshots to your AI assistant and say “build me something with this structure.” The model produces a much sharper output than it would from your verbal description, because it now has a literal reference to ground itself against.
The Godly + Mobbin combination handles roughly eighty percent of the taste-calibration problem. Godly raises your aim. Mobbin shows you what the target actually looks like at the component level.
The single biggest unlock in this stack is not any of the tools individually. It is the move from describing what you want in text to showing what you want in references. An AI model handed a screenshot performs differently than the same model handed a paragraph describing the screenshot.
3. Refero: extracting the design DNA
Refero (the tool’s name varies across the category, but the function is consistent) takes the references you have collected and extracts the underlying design system from them: the color palette, the typography choices, the spacing rhythm, the border radii, the shadow conventions, the visual vocabulary that makes a site look like that specific site rather than a generic site.
The output is a single file (a tokens file, a CSS variable set, a design system specification) that you hand to your AI tooling as part of the build context. The model now builds in that design language rather than its default one.
This is the step that turns “I want it to look like Site X” from a vague aesthetic instruction into a concrete technical input. It is also the step that lets the same design language apply across every screen of a project, which is what prevents AI-generated apps from looking visually inconsistent.
4. Aceternity UI: the components everyone is copying anyway
Aceternity UI is a library of animated React components designed to be copied and pasted into a project. Hover effects, transition patterns, hero sections, cards, navigation primitives, all of them visibly polished in ways that take an experienced front-end engineer weeks to produce from scratch.
The tool is so widely copied that “this looks like it uses Aceternity” has become its own micro-aesthetic on the modern web. Whether that is a feature or a problem depends on what you are building. For most vibe coders, the calculation is straightforward: shipping with polished components that everyone recognizes is dramatically better than shipping with custom components that look unpolished.
The use pattern slots in cleanly after Refero. The design tokens from Refero tell your AI what aesthetic to apply. Aceternity provides the component primitives the AI can actually use to render that aesthetic, with motion and interaction handled for you.
5. Tenex: from idea to App Store submission
Tenex (the final tool in the stack and the one most likely to be unfamiliar) compresses the entire pipeline. You describe an app idea in natural language. Tenex generates a native iOS application: real Swift UI code, the assets needed for App Store submission, the project structure, the icon, the screenshots.
The claim is “idea to submission in minutes, no experience required.” The practical reality is closer to “idea to a credible starting point in minutes, plus the work you would normally do to polish before shipping.” The starting point is real, and the gap between Tenex’s output and an App Store submission is meaningfully smaller than the gap between a blank Xcode project and an App Store submission.
The honest framing: this is the step where a vibe coder either commits or backs out. The first four tools improve the quality of what an AI produces when you direct it. Tenex collapses the directing into a single description and produces a full app. For some projects, that is exactly what you want. For others, it skips the part of the process where you would have made better decisions if forced to make them step by step.
Tenex sits at the most aggressive end of vibe coding: maximum compression, maximum automation, minimum manual decision-making. It pairs best with explicit design references fed into the prompt, which is exactly where the previous four tools in the stack come in.
How the stack actually fits together
Each tool individually is useful. The compounding only happens when they are used in sequence, and the sequence is worth being deliberate about.
The first move, before any code is generated, is Godly. Ten minutes of scrolling calibrates your sense of what “good” actually looks like in 2026. Without that step, you will accept the first acceptable-looking output from your AI, and your project will look like it.
The second move is Mobbin, when you need specific UI patterns. Save the screens that match what you want each section of your app to look like. These become reference inputs, not just inspiration.
The third move is Refero, applied to the references you collected. The output is a design system you can hand to your AI as part of the build context. From this point onward, your AI is building inside a defined aesthetic rather than improvising.
The fourth move is Aceternity UI as your component supply. Your AI now has both the design language (from Refero) and pre-built primitives (from Aceternity) to assemble the app.
The fifth move, depending on the project, is either Tenex (for projects where you want a full app generated end-to-end) or your normal AI development environment with the previous four inputs loaded into context.
The deeper point behind this stack is that vibe coding is a curation skill, not a prompting skill. The quality of what you ship is determined less by how you phrase your instructions and more by what you put in front of the model as reference material. The five tools above are, structurally, all reference-material tools.
What this stack is not
A few honest caveats worth flagging before anyone treats this as a complete answer.
The stack does not substitute for actually understanding your users. Tools that hand you polished components and pre-built design systems will let you ship faster than ever. They will not tell you whether you are shipping the right thing. The taste calibration these tools provide is visual, not strategic.
The stack also does not substitute for code review. Generated code that looks good can still contain real bugs, security issues, and performance problems. Vibe coders are increasingly catching themselves shipping things they have not actually read. The fix is the same as it always was: a verifier pass, ideally automated, between generation and deployment.
And finally, the visual aesthetic these tools converge on is, by design, the current shared aesthetic. If your differentiation depends on looking nothing like the rest of the modern web, none of these tools will help you. The whole point of the stack is to make your work look like the current good stuff, which is the opposite of looking distinct.
Frequently Asked Questions
What is “vibe coding”?
The term, popularized by Andrej Karpathy, describes building software by directing an AI in natural language rather than writing the code yourself. The vibe coder focuses on what they want the output to do; the AI handles the syntax. The taste-calibration problem this article addresses is the most common failure mode of that approach: working code that visibly looks generated.
Do I need all five tools?
No. The two highest-leverage tools in the stack are Godly (for taste calibration) and Mobbin (for reference patterns), because they directly improve the quality of every other AI interaction you have. The remaining three tools are higher-leverage on specific kinds of projects: Refero when you are building something that needs a coherent design system, Aceternity when you need polished components fast, Tenex when you want a full iOS app generated end-to-end.
What is the most important habit to internalize?
Show, do not tell. The single biggest quality improvement available to a vibe coder is the move from describing what they want in words to feeding the AI specific visual references. Every tool in this stack is, fundamentally, a tool for collecting and structuring those references.
Will these tools make me look like a “real” designer?
They will make your work look credibly modern and visually coherent, which is sufficient for the vast majority of projects. They will not give you the judgment a real designer brings to harder questions about hierarchy, information architecture, or user research. For those, the bottleneck is still you.
Is shipping with copy-paste components from Aceternity a problem?
It depends on the project. For most consumer apps, indie projects, and internal tools, no — shipping polished components that look like other polished components is dramatically better than shipping unpolished custom components. For projects where visual distinctiveness is part of the value proposition, the calculation is different and you may want to use Aceternity as inspiration rather than as a direct dependency.
Should I use Tenex for serious projects?
Tenex is excellent for getting to a credible starting point fast. It is less excellent at the parts of the build process where forcing yourself to make decisions step by step produces better outcomes. The right pattern for serious projects is to use Tenex for the initial scaffold and the previous tools in the stack for the polish, rather than expecting Tenex to handle the whole arc on its own.



Leave a Reply