M365 Show -  Microsoft 365 Digital Workplace Daily
M365 Show with Mirko Peters - Microsoft 365 Digital Workplace Daily
Manual UI vs. AI Pages: Is Vibe Coding Worth It in 2025?
0:00
-23:38

Manual UI vs. AI Pages: Is Vibe Coding Worth It in 2025?

The UI Paradox

You’re still dragging rectangles around in Power Apps? Fascinating. It’s 2025, and half of you are still nudging buttons pixel by pixel like it’s 2019. The rest have discovered something far more sophisticated—describing their pages in plain English and letting AI build the layout. One group babysits pixels. The other supervises intelligence.

Manual canvas apps are the digital equivalent of painting by hand—slow, strangely cathartic, and deeply impractical when you realize you need a hundred identical screens. Generative Pages, or what Microsoft endearingly calls vibe coding, flips that entirely. Instead of a developer carefully aligning text boxes, an AI agent reads your prompt—something as casual as “show order records as cards with customer name, payment type, and paid date”—and instantly spins up responsive React code tied to Dataverse.

So the question is simple. Is vibe coding genuine progress or just performative laziness disguised as innovation? We’re about to dissect this with data rather than sentiment—efficiency in measurable hours, consistency across environments, and the ever‑present menace of technical debt. We’ll trace the pain of manual design, the promise of AI‑generation, the trade‑offs, governance realities, and finish with a ruthless cost‑benefit verdict. Buckle your logic, not your emotions.


Section 1 – The Manual UI Era: Handcrafted Chaos

Traditional Power Apps development has always felt noble at first glance—crafting a canvas app from scratch, carefully composing screens, colors, fonts, and forms. But that nobility fades the moment you build your tenth app and realize you’ve invented ten subtly different interfaces for doing the same job. Each layout a snowflake, each alignment a philosophical statement. It’s digital pottery: beautiful, singular, fragile, and profoundly inefficient the moment repetition enters.

Every control you place carries risk—distance between two fields, inconsistent border radius, font mismatch. The average Power Apps builder spends more time massaging layouts than refining logic. Every pixel alignment session is a silent confession that the system lacks guardrails. Congratulations, you’ve handcrafted a masterpiece; now please hand‑craft it again fifty times.

Maintenance becomes spiritual suffering. Change one form element in production, break two bindings in dev, and discover a third version drifted off entirely in the test environment. Multiply that across departments, and you’ve got cognitive overhead posing as creativity. Maintaining design consistency feels less like governance and more like archaeology—digging through layers of half‑remembered style decisions made by past selves who clearly hated you.

Governance? A polite fiction. Some builders love monochrome palettes, some indulge in gradient crimes, and others proudly revive Comic Sans like it’s a brand statement. Multiply that freedom by a global tenant, and suddenly your enterprise app suite resembles a PowerPoint competition at an elementary school. Each builder’s taste becomes law within their corner of Dataverse, leaving IT helpless against an epidemic of mismatched buttons.

The real tragedy isn’t aesthetic; it’s temporal. Hours vanish into alignment grids while core business logic waits in the backlog. The longer you stare at the pixel rulers, the more detached you get from the underlying data relationships you were supposed to optimize. Power Apps becomes less a low‑code solution and more a never‑ending internship in design futility.

Developers often defend manual canvas apps on grounds of “creative freedom.” Please. That’s like defending handwriting when the printing press exists. The blank canvas looks empowering only until you realize you must populate it again tomorrow, maintain it next year, and refactor it five updates later. Real creativity lies in reuse, not reinvention.

Version control is another melodrama. One environment differs by a shade of blue, another by an extra text column. Nobody can trace which build preceded which. Repackaging a manual app feels like repairing a clock with boxing gloves. And all that effort generates zero lasting standardization—only a growing library of inconsistent experiments.

Yet despite this chaos, many cling to manual design as if precision alignment builds character. It doesn’t. It builds burnout. And while they boast about craftsmanship, the organization accumulates technical debt disguised as “design individuality.” Poorly documented layouts, untracked variants, and inflexible formulas metastasize across environments, making each update a gamble.

The cognitive cost is staggering: precious focus spent on margin tweaking instead of performance, accessibility, or data security. Manual UI design transforms high‑value engineers into professional pixel wranglers. And no, adjusting shadow intensity isn’t strategic innovation. It’s aesthetic busywork the AI could handle blindfolded.

And then, mercifully, Microsoft intervened. Somewhere between a Copilot moment and a UX revolution, they introduced vibe coding—Generative Pages that don’t just automate layouts but infer intent. Less clay wheel, more industrial printer. The painter put down the brush. The architect picked up the blueprint. Manual labor finally met its algorithmic replacement, and the age of handcrafted chaos began yielding to logic, reproducibility, and machine‑precision symmetry.

Section 2 – Enter Generative Pages: The Vibe Coder Awakens

Picture the moment Microsoft decided developers had better things to do than play digital Tetris with buttons. Enter Generative Pages—Power Apps’ new AI‑powered savior for anyone who’s ever lost a weekend adjusting container widths. It listens, it interprets, it builds. You describe what you want, and in seconds, React code materializes from the ether, fully mapped to your Dataverse schema. No sliders, no grids, no pixel babysitting. Just words becoming structure.

Generative Pages lives inside model‑driven apps, piggybacking on the Dataverse backbone. You start with context—say, your “orders” table—and issue a command: Build a page showing order records as cards with order number, payment type, and date. The AI agent acknowledges, consults metadata like an obsessive librarian, and instantly conjures up React code that’s not just functional but integrated. It already knows what your columns are, what your relationships mean, how the filters should behave. Essentially, it’s your junior developer who’s memorized the documentation and works at light speed.

The interface isn’t decorative. It’s production‑grade markup—all React components adhering to Microsoft’s Fluent design language and responsive by default. On desktop, tablet, phone—it scales automatically. Finally, your app doesn’t break into interpretive dance when someone resizes the browser window. The AI doesn’t forget margins because, spoiler alert, it doesn’t have opinions about them. Humans invent chaos; machines merely enforce consistency.

Now, the cleverness goes further. You can iterate conversationally: Make each card clickable. Add dark‑mode toggle. Update to corporate colors. Each adjustment regenerates the underlying React code. The prompt becomes your version control. You stop editing controls and start editing sentences. Efficiency isn’t achieved through shortcuts—it’s achieved through delegation.

Then comes the part that makes seasoned developers both excited and mildly terrified: the transparency. Generative Pages doesn’t lock you away in an unreadable blob of code. The output is visible, structured, and predictable. It’s React and TypeScript, right there in your environment, adhering to recognized frameworks. You could export it, audit it, or integrate it into CI/CD pipelines. In other words, this isn’t “no‑code magic.” It’s pro‑code automation with explainable logic.

The real genius, though, is metadata awareness. Because it leverages Dataverse, every generated page inherently respects your entity relationships, security roles, and environmental context. Field-level security? It honors it. Conditional display? Automatically inferred. Each generated component behaves according to existing governance—no rebellious text boxes sneaking outside compliance bounds. The result: apps that are uniform, secure, and shockingly quick to deploy.

And yes, you can push creativity. The AI accepts images as stylistic references. Upload a screenshot from that sleek SaaS dashboard everyone admires, and say, Make it look like this. Within moments, a structurally sound Power Apps page appears, shaped by machine interpretation of your chosen aesthetic. It’s as if the universe granted you an intern who reads Figma fluently and doesn’t argue about brand color hex codes.

But while speed and structure feel euphoric, it’s worth noting what this really represents—a shift from constructing interfaces to composing intentions. You’re no longer the builder but the conductor. You define purpose, the system orchestrates form. It’s not about typing less; it’s about thinking one abstraction higher.

For enterprises drowning in inconsistent design, this is liberation. For those convinced that artistry equals manual control, it’s an existential crisis. Vibe coding doesn’t eliminate craftsmanship—it industrializes it. The same precision, fewer human fingerprints. Apps start to look related, updates ripple predictably, and entire product suites gain a visual DNA they previously lacked.

Still, automation doesn’t exorcise chaos—it often just re‑implements it faster. Every dream tool introduces new dependencies and fresh misunderstandings. So while the vibe coder awakens, so does a fresh question: what if we’re simply generating prettier problems? That question pulls us directly into the next revelation—the illusion of efficiency and the brittle speed that follows.

Section 3 – The Efficiency Illusion: When Fast Becomes Fragile

Let’s confront the myth head‑on: speed is not efficiency. It’s often just panic wearing sneakers. Generative Pages let you produce layouts in seconds, yes—but seconds spent differently aren’t automatically better spent. When your tool builds faster than your brain can validate output, congratulations, you’ve streamlined your mistakes.

Here’s the trap. Rapid generation feels liberating until you try to tweak something beyond the AI’s comprehension. That handsome React code it wrote for you? It’s locked, read‑only, a pristine museum exhibit you can admire but not touch. Want to shift a margin two pixels left? Too bad—your app’s now a glass sculpture. To change it, you must re‑prompt the agent, hope it interprets your revision correctly, and regenerate the entire output. The illusion of control dissolves faster than a PowerPoint transition.

This read‑only reality collides awkwardly with human impatience. Developers accustomed to micromanaging components discover they’ve become dependent on linguistic precision. Words replace clicks, but ambiguity still kills. Tell the agent “add a modern header,” and you might get Helvetica bold where you expected Segoe. It’s like teaching an intern to paint your house—helpful speed, questionable accuracy, and occasional beige you didn’t ask for.

Now extrapolate that across a real enterprise. One enthusiastic team generates twelve pages before lunch. Impressive velocity—until they open them side by side. Margins disagree. Button placements wander. Card grids choose slightly different breakpoints based on each prompt’s phrasing vagaries. Two glorious weeks of calendar time vanish while they manually reconcile elements the AI produced inconsistently because nobody standardized how to ask for them. The culprit isn’t artificial intelligence; it’s linguistic chaos masquerading as productivity.

And yet, some managers declare victory: “Look how many pages we generated!” Right, but look how many now need retroactive design triage. The time saved upfront reappears as cleanup debt. The spreadsheet of prompts becomes the new technical log—living documentation not of code, but of the words that created code. You start version‑controlling language itself. Efficient, isn’t it?

The hidden complexity compounds when integration time arrives. Those read‑only React components behave beautifully until paired with custom branding systems or third‑party themes. Suddenly, your generated markup doesn’t quite align with the design system maintained elsewhere. Aligning these worlds means either breaking the generated purity or maintaining dual stylesheets—one for human developers, one for robots. Every shortcut spawns an aftercare plan.

Debugging also gains a surreal dimension. Traditional bugs emerge from logic; AI pages introduce interpretative misunderstandings. Why did the gallery filter behave oddly? Because the agent made an assumption about column types buried inside invisible scaffolding. You can’t inspect intention in a compiler. You can only infer it, like a forensic linguist reconstructing someone else’s thought process.

And then there’s the governance paradox. The faster the AI builds, the more critical your control frameworks become. Standard prompts, template baselines, and approval checkpoints must replace traditional style guides. The governance layer has to mature just to keep up with the tool’s exuberance. Without prompt discipline, every page diverges subtly—a hint of blue here, a stray border there—until enterprise cohesion degrades under the guise of automation.

To remain genuinely efficient, organizations must treat language like source code: controlled, versioned, peer‑reviewed. The AI doesn’t misbehave maliciously; it obeys imperfect instructions with perfect fidelity. And perfect obedience to ambiguous orders is far more dangerous than slow manual labor.

Some will argue this is still progress because the cycle overall compresses. They’re right—if you measure success purely in seconds of generation, not in hours of maintenance. But software doesn’t exist to impress stopwatches. It exists to persist.

So, yes, Generative Pages deliver breathtaking speed. But unattended, that speed converts friction into fragility. True efficiency isn’t merely producing faster—it’s producing predictably, sustainably, and under governance that understands its new vocabulary. The villain isn’t velocity. The villain is variability left unchecked.

Section 4 – Consistency, Scalability, and the End of UI Anarchy

Consistency. The rarest commodity in citizen development, and the silent reason executives lose faith in Power Apps. Generative Pages, rather unintentionally, fix that. The chaos once proudly labeled “creative flexibility” now has an adult supervisor—a machine that doesn’t negotiate standards, it enforces them. This isn’t art class anymore; it’s architecture. And architecture thrives on uniformity.

When you prompt the AI, it draws from the same library of standardized components, spacing tokens, and Fluent‑inspired design principles every time. The margins are consistent, the typography predictable, the behavior invariant. For enterprises, this is gold. Uniformity across hundreds of apps means fewer training gaps, fewer usability complaints, and a workforce that stops asking, “Which version is the real one?”

Traditional governance relied on style guides no one read—PDF relics buried in SharePoint that developers misinterpreted anyway. AI pages encode the style guide in the generation process. You don’t remind people to use the approved accent color; the AI simply doesn’t generate anything else. You could argue this finally transforms compliance from punishment to prevention. The system maintains loyalty to the brand palette better than the brand team ever did.

Scalability, consequently, becomes mathematical rather than heroic. Before, building twenty apps meant twenty individual calendar invitations worth of UI labor, each threatening to drift a few pixels apart. Now, the infrastructure ensures every app emerges from the same digital womb—identical markup patterns, identical responsive logic. Updates to the design language ripple down like firmware patches. A new component design? Refresh prompts. Re‑generate. The fleet refits itself.

And governance gains teeth. Because each page ties to Dataverse metadata, the AI understands role‑based access, conditional visibility, and form logic natively. It won’t accidentally expose privileged data because that mapping already lives in your schema. The same AI efficiency that scares purists actually reduces security surface area. It’s astonishing—compliance by default, not by decree.

Let’s revisit the human dimension. In manual apps, each developer acted as a miniature brand dictator. Red buttons here, teal buttons there, all justified as “personalization.” The end product looked like a UX ransom collage. With vibe coding, personal taste finally loses its sovereignty. Individual creativity survives where it belongs—in logic, data, and storytelling—not in button curvature. Think of it as creative socialism: everyone contributes input, but no one decides the padding width.

Maintenance follows the same principle of collective harmony. When something changes—say, a component needs to meet new accessibility contrast ratios—you don’t negotiate compliance app by app. The design token repository updates, you regenerate affected pages, and equilibrium is restored. Uniform change propagation: the dream every IT governance officer secretly doodles at conferences.

There’s also operational scalability. Standardized markup simplifies monitoring. Performance testing once required different scripts for each bespoke disaster of an app. Now you can validate a pattern once and trust recurrence. Diagnostics become formulaic, updates predictable, onboarding painless. It’s industrial UI manufacturing under ethical working conditions—machines doing the repetition, humans setting the strategy.

Security gets a quiet upgrade too. Because the generated React follows sanctioned frameworks, code risk shrinks. No rogue JavaScript pasting, no ill‑conceived external libraries. AI Pages integrate within Microsoft’s supported ecosystem, meaning patches, telemetry, and lifecycle updates flow uniformly. You build less, you worry less. Threat surfaces converge to a controlled perimeter.

And, of course, there’s the psychological relief. The same people once cursed for inconsistent spacing can now focus on what actually differentiates the business—processes, logic, integrations. The AI took the crayons away, yes, but it also handed them blueprints. That’s a fair trade. Thousands of identical, reliable, perfectly aligned apps might sound sterile—until you’ve lived through the chaos of misaligned ones.

So yes, vibe coding ends UI anarchy. Not through artistic suppression but through systematic governance. It enforces standards the way gravity enforces manners—it simply exists, quietly punishing deviation. Every enterprise that adopts Generative Pages finds itself speaking one design language fluently, finally delivering on the aesthetic promise low‑code made years ago.

Still, no utopia arrives without debt. Automation hides cost beneath predictability. Every standardized miracle carries invisible trade‑offs in flexibility, transparency, and long‑term dependency. Shortcuts work—until they fossilize. And beneath this sleek uniformity lies a future conversation about the interest we’ll eventually owe. Which brings us directly, and uncomfortably, to technical debt.

Section 5 – Technical Debt, Future-Proofing, and When to Use Each

Technical debt. The phrase sounds respectable until you realize it just means “work we postponed and now pretend doesn’t exist.” In Power Apps, debt accumulates not in code complexity but through visual inconsistency, undocumented formulas, and angry future maintainers. Manual UIs generate debt by variance; AI Pages generate debt by opacity. Either way, the bill arrives—just in different currencies.

Let’s start with the familiar disaster. Handcrafted apps breed unsupported logic. Developers copy-paste controls, rewire formulas slightly differently each time, and invent personal naming conventions for variables—plural chaos by design. When someone new inherits the project, they spend two days tracing which screen still respects accessibility contrast ratios and which crashed somewhere between “experimental dark mode” and “don’t touch this.” Technical debt in manual UI lives in plain sight but refuses to confess its magnitude. Every unaligned label is a liability estimate disguised as creativity.

AI-driven design, ironically, hides its debt better. The code it produces—clean React structures generated instantaneously—looks perfect. Too perfect. Try modifying it manually and you realize the efficiency miracle came at a cost: detachment from authorship. The moment you hand control to AI, you inherit whatever architectural assumptions it bakes into the markup. Tomorrow’s revision might overhaul internal frameworks; your generated assets might lag behind or become incompatible. When Microsoft updates the Gen Pages engine, you don’t patch your app—you regenerate it. That’s maintenance by reincarnation.

This shift reframes debt from “messy code” to “dependency risk.” Your architecture’s stability now depends on Microsoft’s pipeline cadence. Sure, that’s not inherently bad—unless compliance prevents re‑generation on short notice. Picture an organization reliant on a specific branded layout. The AI updates its design libraries and suddenly your once‑consistent apps look subtly redesigned. Congratulations, your UI debt just became a compliance breach.

Manual design carries the opposite sin—brittle uniqueness. Because each manual app evolves independently, collective upgrades become impossible. Adjusting a global color scheme? Prepare to touch a hundred apps individually. Introducing a new component standard? Rebuild them all. Manual labor writes its debt in time. AI writes it in control.

So, when does each approach earn its keep? Here’s a ruthlessly rational breakdown.

Manual UI makes sense when extraordinary control outweighs repetition concerns. Think experimental prototypes, high‑touch executive dashboards, or cases where micro‑interactions actually matter to user experience. If you’re chasing art direction over operational scale, the canvas remains valid. But treat it like artisanal baking: limited batches, small audience, constant refinement. Never pretend handmade scales.

AI Pages dominate when structure trumps vanity. They excel in data‑driven enterprise catalogs—inspection portals, inventory apps, departmental dashboards—where uniform user behavior is a feature, not a compromise. Consistency is efficiency’s twin. In those contexts, vibe coding isn’t indulgence; it’s enterprise hygiene.

Then there’s the middle path: hybrid development. Start with AI as the sketch artist—generate your base structure, then manually refine specific interactions. Set prompt standards, capture them as reusable patterns, and document them like code snippets. Over time you’ll evolve a library of approved prompt templates—one for dashboards, one for record lists, one for forms—effectively introducing CI/CD discipline into your language. The AI becomes predictable not by genius but by repetition.

This hybrid model answers the inevitable governance anxiety. Instead of banning experimentation or surrendering entirely to automation, you orchestrate both. The AI builds the scaffolding; humans craft nuance. Future developers can regenerate the same skeleton from a known prompt library, while designers tweak only where value exists. Imagine templates executed through vocabulary precision rather than drag-and-drop pain. That’s what maturity looks like: language as infrastructure.

Future-proofing under this regime depends less on individual code and more on metadata hygiene. Because Generative Pages thrive on Dataverse definitions, keeping tables, relations, and environment variables well-documented becomes your insurance policy. Garbage in, garbage React out. The AI will never rescue you from a poorly structured schema; it will merely encode that chaos in prettier syntax. True modernization means curating your data model continuously so regeneration remains reliable.

Let’s address the philosophical debt: reliance on Microsoft’s evolution cycle. Every upgrade of Generative Pages tightens its precision but may subtly shift style logic. That’s the nature of platform-forward tools—progress by enforced migration. Smart teams prepare migration runbooks, comparing generated diffs, storing versioned React outputs for audit, and linking prompt histories to releases. Lazy teams call it magic until the magic changes hats and disappears.

From a lifecycle viewpoint, AI Pages fit beautifully into source control once organizations treat prompts as first-class artifacts. Store the text that built each page alongside result snapshots; you now possess linguistic reproducibility. Governance can trace not only who built what, but precisely what they asked for. The documentation writes itself—literally. That’s compliance through automation, the dream auditors secretly long for while pretending to understand Dataverse.

So, is vibe coding worth it long term? Only if you measure time like an adult. Minutes saved in creation must be balanced against maintainability decades later. Manual designs bleed slowly; AI‑generated architectures can fail suddenly. But the risk profile shifts from human inconsistency to automation drift—a preferable, quantifiable enemy. You can’t eliminate debt, but you can choose which currency you’d rather owe: hours or control.

The practical formula is simple. For innovation, manual first. For scale, AI first. For sanity, hybrid always. Treat the AI as your drafting engine and your governance model as quality assurance. That’s not surrendering artistry—that’s industrial enlightenment. The developers who understand this won’t vanish; they’ll just stop wasting time coloring rectangles.

Conclusion – The Verdict

Vibe coding isn’t replacing developers—it’s replacing developers’ boredom. The struggle over alignment grids and color tokens is finally obsolete. Generative Pages trade obsessive micromanagement for structural sanity, converting technical debt into governed consistency. It’s not lazy; it’s efficient evolution disguised as common sense.

The real takeaway: manual control remains best for unique experiences; AI generation rules wherever parity, repeatability, and compliance matter more than pixel romanticism. Forward‑thinking teams will blend both into a single creation cycle—prompt, inspect, refine, redeploy. The artistry moves from the mouse to the language.

Treat Generative Pages as a partner, not a miracle. Audit its assumptions, track prompts, own your governance. Those who anthropomorphize the AI as “developer replacement” miss the point—it’s an accelerant, not a participant. The best developers will still do what they’ve always done: impose order on complexity, now one abstraction higher.

So yes, vibe coding is worth it—if you measure value in reusable clarity instead of effort nostalgia. Update your workflows, standardize your prompts, and let the architecture of tomorrow stabilize before your competitors even find the alignment toolbar.

Because manual alignment grids should stay in 2018.

Discussion about this episode

User's avatar