In Part 1 of this series, we covered the foundations of Power Apps code-first development — what code apps are, how the architecture works, and how to set up your first project. If you have not read it yet, start there.
Now it is time to see what Power Apps code-first development actually looks like in the real world.
Our team at MTC built a fully functional Property Management System (PMS) as a Power Apps code app using React, TypeScript, and Microsoft Dataverse. In this post, we walk through the core features we delivered, the development decisions we made, the genuine benefits we realised — and the real limitations we hit. No sugarcoating. Just honest, practical insights from a team that has been through it.
Have screenshots of your PMS? Add them at each “Suggested Image” marker below — they will dramatically improve engagement and time-on-page, both of which are positive SEO signals.
Why We Chose Power Apps Code-First Development for a Property Management System
Property management is a domain with genuinely complex requirements. A property manager must handle multiple properties, track dozens of units, manage tenant relationships, oversee lease agreements, monitor payments, and respond to maintenance requests — often simultaneously and under time pressure.
When we evaluated our options:
- Canvas apps felt constraining. UI limitations, formula-based logic, and the lack of reusable component patterns made it difficult to deliver the experience our property managers needed.
- Model-driven apps were powerful for structured data but lacked the customisation our client required for a field-facing interface.
- Power Apps code apps were the right answer.
Building with React gave us complete control over the user interface and component architecture. We could structure the app the way professional developers naturally think — reusable components, clean state management, proper separation of concerns — while still deploying on Power Platform and inheriting all its security and governance capabilities automatically.
Property Management System: Tech Stack
Component Technology Frontend framework React + TypeScript Build tooling Vite Styling Tailwind CSS Data fetching TanStack Query Routing React Router Platform Microsoft Power Platform (Code App) Authentication Microsoft Entra ID (zero-code) Data layer Microsoft Dataverse Deployment Power Platform Managed Environment
| Component | Technology |
| Frontend framework | React + TypeScript |
| Build tooling | Vite |
| Styling | Tailwind CSS |
| Data fetching | TanStack Query |
| Routing | React Router |
| Platform | Microsoft Power Platform (Code App) |
| Authentication | Microsoft Entra ID (zero-code) |
| Data layer | Microsoft Dataverse |
| Deployment | Power Platform Managed Environment |
Note on tooling: The official Microsoft starter template comes pre-configured with React, Vite, Tailwind CSS, TanStack Query, and React Router — exactly the stack we used. If you are starting a new project, use this template as your foundation.
Core Features of Our Power Apps Property Management System
Our PMS was designed to give property managers a single, centralised view of their entire portfolio. Here is what we built:
1. Multi-Property Portfolio Dashboard
Property managers can add and manage multiple properties within a single app. Each property has its own profile — address, type, unit count, and key documents. The top-level dashboard summarises occupancy rates across the entire portfolio at a glance, so managers always know where action is needed.
Power Apps code app portfolio dashboard showing multi-property occupancy overview
2. Unit and Vacancy Tracking
Each property drills down into individual units. The system tracks every unit’s status — occupied, vacant, or under maintenance — and surfaces this in a clear visual layout. Vacancy alerts help managers act quickly to minimise void periods and protect rental income.

3. Lease Agreement Management
The PMS allows property managers to create, store, and manage digital lease agreements. Key dates — lease start, end, and renewal deadlines — are tracked automatically. The system generates alerts ahead of critical dates so that renewals and notices are never missed.

Lease management screen in Power Apps code app showing renewal alerts
4. Automated Late Payment Monitoring and Tenant Reminders
One of the highest-value features for our client. The system monitors rent payment status for every tenant and flags overdue accounts automatically. When a payment becomes late, the system sends an automated reminder to the tenant — saving property managers significant manual follow-up time each month.

Late payment monitoring and automated reminder system in Power Apps PMS
5. Maintenance Request Management
Tenants and property managers can raise and track maintenance requests within the app. Each request is assigned a priority and status, and the system routes it to the relevant party. Managers get a live view of all open issues across their portfolio.

Maintenance request management screen in Power Apps code-first property management app
Development Experience: Power Apps Code Apps vs Canvas Apps
Having built on Power Platform using both approaches, the difference in developer experience is significant — and worth being specific about.
What Was Clearly Better in Code-First
Component reusability was an immediate win. In React, we built a reusable property card component that could be dropped anywhere in the app and configured via props. In canvas apps, achieving comparable reusability requires workarounds that are fragile and hard to maintain at scale.
State management was far cleaner. React’s state management patterns handled complex UI interactions — filtering, multi-step forms, conditional layouts — that would have required convoluted collections and variables in a canvas app.
Git-based collaboration was significantly smoother. Because the app lives in a code repository, our team could work with proper branching, pull requests, and code reviews. The development source code follows standard Git practices even though Power Platform Git integration for code apps is not yet available (see limitations below).
UI development speed surprised us positively. Once the environment was configured and the team was comfortable with the CLI, building out UI-heavy screens was faster than we expected — particularly compared to the friction of complex canvas app layouts.
Debugging was a much better experience. Full access to browser developer tools, console logs, and React DevTools made diagnosing issues straightforward. Canvas app debugging, by comparison, is significantly more limited.
Where We Hit Real Challenges
Challenge 1: No Offline Mode
Challenge 1: No Offline Mode
This is the most significant limitation we encountered, and it is worth being direct about it.
Our property managers sometimes work in areas with limited or no internet connectivity — inspecting units in basements, visiting rural properties, conducting site surveys. Canvas apps support offline mode natively. Power Apps code apps do not.
As of April 2026, offline mode is not available for code apps, and mobile app support is not expected before mid-2026. For our client, this meant redesigning parts of the workflow to ensure reliable connectivity at key points — an added consideration for deployment planning.
If offline access is a core requirement for your users, code apps are not the right choice today.
Challenge 2: Connector Availability
Not all Power Platform connectors are available for code apps. During development, we needed to integrate with a third-party payment platform and found the relevant connector was not yet supported for code apps. We resolved this by building a direct API integration — but it added development time we had not originally budgeted.
Lesson: Always validate connector availability at the start of a project, before estimating effort or making commitments to stakeholders. Check the official connector documentation before scoping.
Challenge 3: No Mobile App Support
Our property managers wanted to access the PMS on mobile devices. Code apps are not supported in the Power Apps mobile app or Power Apps for Windows — browser access only.
For most modern smartphones, a well-designed responsive web app is acceptable. But if native mobile app support is a hard requirement, this is a significant gap that needs to be communicated clearly to stakeholders before the project begins.
Benefits Realised: What Power Apps Code-First Actually Delivered
Despite the limitations above, the decision to build code-first delivered real, measurable value:
| Benefit | Detail |
| Faster UI development | Complex, interactive screens in React took a fraction of the time vs canvas apps |
| Cleaner maintainability | Well-structured codebase with proper component separation — no “formula spaghetti” |
| Zero-effort enterprise security | Entra authentication, DLP, and Conditional Access came with the platform — nothing built from scratch |
| Seamless ALM | Publishing to Power Platform was consistent and straightforward; deployment pipelines worked well |
| Scalable architecture | The app will scale with the client’s growing portfolio without hitting the hard ceilings canvas apps can impose |
| Better developer experience | Full browser devtools, React DevTools, proper unit testing, and PR-based code reviews |
Key Lessons Learned from Building a Power Apps Code App
If you are planning a Power Apps code-first project, here is what we would tell our past selves:
1. Validate connector support before scoping. Do not assume the connectors you need are available. Check the official documentation on day one, before estimating or committing to a timeline.
2. Be honest about offline requirements early. If your users need offline access, code apps are not the right choice today. Surface this conversation with stakeholders before the build begins.
3. Invest in environment setup upfront. Getting the CLI, authentication, and environment configuration right takes time — but it pays dividends throughout the project. Rushing this step creates friction later.
4. Use the official starter template. The Microsoft starter template (React + Vite + Tailwind + TanStack Query + React Router) is production-ready and well-maintained. Start there rather than from scratch.
5. Use the npm CLI, not the legacy pac CLI. From v1.0.4 onwards, the npm-based CLI is the standard. The older pac code commands will be deprecated. Use the new CLI from the start.
6. Keep your source code in Git, always. The compiled code is deployed to Power Platform, but your React source is not stored there. Maintain a proper Git repository with pull requests for every deployment — this is your safety net.
Should You Use Power Apps Code Apps for Your Next Project?
Based on our experience building and delivering the PMS, here is practical guidance:
Use Power Apps code apps when:
- You have developers comfortable with React, TypeScript, and modern JavaScript tooling
- Your UI requirements are too complex or customised for canvas apps
- You need fine-grained control over component logic, state management, and performance
- You want to use standard Git workflows and proper DevOps practices
- Your users have reliable internet connectivity
- You need the full Power Platform governance model without building it yourself
Consider alternatives when:
- Offline access is a core requirement (use canvas apps or a hybrid approach)
- You need connectors that are not yet supported for code apps
- Your team is primarily composed of citizen developers or non-developers
- SharePoint forms integration or Power BI data functions are required
- Native mobile app support (Power Apps mobile) is a hard requirement
Frequently Asked Questions
Consider alternatives when:
- Offline access is a core requirement (use canvas apps or a hybrid approach)
- You need connectors that are not yet supported for code apps
- Your team is primarily composed of citizen developers or non-developers
- SharePoint forms integration or Power BI data functions are required
- Native mobile app support (Power Apps mobile) is a hard requirement
Frequently Asked Questions
Can Power Apps code apps connect to Dataverse?
Yes. Dataverse is a first-class connector for code apps. The Power Apps CLI auto-generates strongly-typed models and services for your Dataverse tables, making it straightforward to query and write data.
Do Power Apps code apps support mobile devices?
Not via the Power Apps mobile app. Code apps run in a web browser only. Responsive design works well on modern smartphones, but native mobile app support is not available as of April 2026 and is not expected before mid-2026.
How is a Power Apps code app deployed?
You deploy using a single CLI command (npm run deploy). The compiled app is published to your Power Platform environment and immediately appears in the Power Apps portal, subject to the same ALM and governance policies as any other app.
Can I use React libraries like TanStack Query or Tailwind CSS in a code app?
Yes. Because code apps are standard React/JavaScript SPAs, you can use any compatible npm library. The official starter template already includes Tailwind CSS, TanStack Query, and React Router.
Is Power Apps code-first development suitable for enterprise property management?
Yes, with the caveats noted above around offline mode and connector availability. For browser-based, connected enterprise scenarios, code apps deliver a robust, scalable, and fully governed solution.
How long did it take to build the Property Management System?
Our initial production-ready version took approximately six weeks for a small team. The investment in environment setup and component architecture in the first week paid off significantly in development velocity for the remaining screens.
What Is Next for Our PMS
We are continuing to develop the Property Management System and monitoring Microsoft’s roadmap closely. Key capabilities we are tracking:
- Offline mode — when available, this will unlock field-use scenarios that currently require workarounds
- Expanded connector support — particularly for payment and property management platforms
- Power Platform Git integration for code apps — which will further streamline our ALM workflow
- Mobile app support — expected in the second half of 2026
Build Your Own Enterprise App with Power Apps Code-First
Power Apps code-first development delivers genuine value for organisations that need enterprise-grade, custom web applications on the Microsoft stack — without the overhead of building authentication, governance, and deployment infrastructure from scratch.
Our Property Management System is live, in production, and delivering measurable value for our client. If you are evaluating Power Apps code apps for your own project, we hope this honest account of what works and what does not help you make a better decision.
- Contact our MTC team → for a live demo of the PMS or to discuss your own Power Apps code-first project.
- Read Part 1 of this series ← — foundations, architecture, and environment setup.
- Microsoft sample projects on GitHub — real-world code patterns to learn from.
- Official Power Apps code apps documentation — always check here for the latest capability status.