Mobile App Development

Cross-Platform App Design & Architecture

The architecture, UX, and platform-strategy decisions made before the first line of MAUI code — so the build does not get refactored in month three.

<p>This is the architecture engagement. The deliverable is a written architecture document — UX across the form factors the app will ship to, MVVM patterns and the container choices, navigation strategy, theming, accessibility, internationalization, platform-handler surface — that the implementation team (whether me, the buyer's team, or both) builds against. The work is the decisions that prevent the build from getting refactored in month three.</p> <p>The buyer for this page is a product owner or engineering leader who has the requirements and wants the architectural decisions made by an engineer who has shipped this stack before, not learned on their dime. The parent — <a href="/services/mobile-app">Mobile App Development</a> — sets the four-artifact perimeter; this page is the architecture-first shape of the work.</p> <h2>UX across form factors</h2> <p>Phone, tablet, and desktop where the app is shipping to Windows or macOS. The UX decisions — navigation shell vs traditional navigation, master-detail vs stack, primary action placement, responsive breakpoints — happen at the design phase, not at the platform-specific bug-fix phase. The design system is documented in a way the platform handlers can implement consistently across iOS, Android, Windows, and macOS.</p> <h2>MVVM architecture decisions</h2> <p>Dependency injection container (the .NET 10 default, or a third-party choice if the buyer's existing pattern requires it). Messaging between view models (the Community Toolkit messenger, or a custom approach). State management — how the application stores ephemeral state, persistent state, and offline state. Persistence layer — SQLite, Entity Framework Core, or a hosted database depending on the deployment target. The Community Toolkit patterns adopted where they earn the complexity, skipped where they do not.</p> <h2>Theming, accessibility, internationalization</h2> <p>Color palettes for light and dark; theming that survives a system-theme change at runtime. Accessibility (VoiceOver, TalkBack, Narrator) as a build requirement — text scaling, contrast, focus order, semantic labels. Internationalization scoped to the target locales; RTL where the locales demand it. These decisions go in the architecture document, not in a post-launch refactor.</p> <h2>Platform-handler surface</h2> <p>Where does the framework abstract well, and where does it abstract incompletely? Camera, geolocation, file system, biometrics, background tasks, push notifications, deep linking — each gets a documented platform-handler approach before the build starts, so the first month of implementation is not a survey of where MAUI defaults fall short.</p> <h2>What I ship</h2> <ul> <li><strong>Architecture document.</strong> UX decisions, MVVM patterns, DI container, messaging, state, persistence, theming, accessibility, i18n, platform handlers.</li> <li><strong>Design-system definition.</strong> Documented for the platform handlers to implement consistently.</li> <li><strong>Sprint plan.</strong> Phased implementation with decision points before each sprint.</li> <li><strong>Risk register.</strong> Where MAUI is the right answer, where it might not be, where a platform-specific spike is needed before commitment.</li> <li><strong>Hand-off package.</strong> The document, the design system, the sprint plan — ready for the implementation team.</li> </ul> <h2>Where it fits</h2> <h3>Pre-build architecture</h3> <p>The buyer has the requirements. The decisions on platform handlers, MVVM patterns, and design system have not been made. I make them, document them, and hand the architecture to the implementation team — either my own engagement that continues into the sibling <a href="/services/mobile-app/maui-implementation">.NET MAUI Implementation</a> page, or the buyer's internal team.</p> <h3>Mid-build course correction</h3> <p>The build is two months in. Decisions made in week one are showing strain. The buyer wants a written architecture review and a remediation plan — what to refactor, what to leave, where to draw the line on retrofitting versus rewriting.</p> <h3>Architecture review before implementation handover</h3> <p>An offshore or contracted team is about to start the build. The buyer wants the architecture validated by an engineer who has shipped MAUI before — not learned what platform handlers are after the first sprint demo.</p> <h2>How I work</h2> <p>Discovery and architecture run two to four weeks depending on scope. The output is the document, the design system, the sprint plan, and the risk register. I do not commit to architecture decisions inside a one-day workshop; the decisions need to be tested against the actual requirements and the actual platform constraints. The principal carrying the work is described <a href="/about">on the about page</a>.</p> <h2>Engagement model</h2> <p>Two- to four-week engagement. Deliverables are the written architecture, the design-system definition, the sprint plan, and the risk register. Follow-on implementation is scoped on the sibling <a href="/services/mobile-app/maui-implementation">.NET MAUI Implementation</a> page. To scope an architecture engagement, <a href="/contact">get in touch</a>.</p>
FREQUENTLY ASKED

Do I need this engagement, or can I jump straight to implementation?

You can jump straight to implementation if the requirements are stable, the target platforms are decided, and the buyer is comfortable with the architecture decisions being made implicitly during the first sprint. Most enterprise and regulated buyers prefer the architecture document up front because it makes the decisions explicit and reviewable — and because architecture decisions made implicitly during a sprint are the ones that get refactored in month three.

How do you decide which platform handlers to write versus rely on MAUI defaults?

On a per-surface basis. Camera, geolocation, biometrics, and file-system access frequently need platform handlers because the MAUI default is either incomplete or doesn't match the buyer's UX requirements. Push notifications and deep linking are platform-specific by nature. The architecture document names which surfaces get default behavior and which get platform handlers, with a brief rationale per surface.

Will the architecture document be useful if we implement with a different engineer?

Yes. The document is platform-agnostic in the sense that another senior .NET MAUI engineer can pick it up and implement against it. That is the point — the document captures decisions, not implementation tricks. If the buyer continues with me on the implementation, the document is the sprint plan. If the buyer hands it to another team, the document is the brief.

RELATED

Back to Mobile App Development

Cross-platform MAUI apps on .NET 10 — iOS, Android, Windows, and macOS from one C# codebase, shipped to the Apple App Store, Google Play, and Microsoft Store by the same engineer.

Scope This Engagement

One principal, plan first, working code on every checkpoint.

Request Consultation