nasa-power-apps-data-quality

47,000 Users, One Data Platform: What NASA’s Power Apps Story Teaches About Data Quality

NASA is not the first organization you think of when someone says “low-code”. Yet in a session at the European SharePoint, Office 365 and Azure Conference (ESPC), reported by The Space Channel, NASA’s Power Platform lead Chris Blakeley described an agency that grew from 7,000 to 47,000 active Power Platform users in two years, gave more than 50,000 employees access to enterprise low-code tools, and put a canvas app in the middle of the Artemis launch campaign. It is one of the largest public Power Apps deployments described anywhere, and it says something important about the part of low-code that gets the least attention: the data underneath it.

What NASA built

According to the session, the headline application is the Artemis Launch Tracker, a canvas app that supported hundreds of live tests before liftoff and gave everyone from engineers to agency leadership the same view of test status. Alongside it, NASA used low-code solutions on Dataverse to manage Orion crew capsule operations and to monitor in-orbit anomalies. Behind the applications sits a program NASA calls “Mission Control”: premium licensing, a dedicated community of practice, and hackathons that replaced classroom training with hands-on problem solving. Public contract postings for NASA’s Enterprise Automation Service and its Consolidated Applications and Platform Services program show the same picture from the procurement side, with Power Platform developers hired to modernize the agency’s enterprise applications.

Every figure above comes from that public session and public postings. Techdio has no relationship with NASA; we simply think the story is the clearest available illustration of what happens when low-code scales.

What 47,000 users actually means for data

A user count like that is usually read as an adoption success. Read it as a data story instead. Tens of thousands of people building and using apps means thousands of forms, flows and imports, each of them a new path into a shared Dataverse. Every path can create a record. Every path can create it slightly differently: a trailing space, a different capitalization, a phone number with or without the country code, a person who already exists under a maiden name.

In a sales database that produces two invoices for one customer. In an operations database that monitors anomalies on a crew capsule, a duplicate or stale record is a different kind of problem: two entries for one component, or a status that was corrected in one record and not the other. The more decisions ride on the data, the less data quality is a cosmetic issue.

Why low-code makes data quality more urgent, not less

Entry points multiply. Traditional applications had a handful of screens, built by developers who knew the schema. Low-code hands form building to the people closest to the work, which is exactly why it is valuable, and exactly why the number of doors into the database grows faster than anyone’s ability to review them.

Dataverse is shared. The strength of the platform is that a canvas app, a model-driven app, Dynamics 365 and Power BI all read the same tables. That is also why one careless form can pollute everyone’s reports. The Contact table does not know which app created the bad record.

Governance usually stops at the app. Most Power Platform governance programs, including the “Mission Control” approach NASA described, focus on environments, licensing, data loss prevention policies and maker enablement. Those are necessary. None of them check whether the records the apps create are complete, consistent and unique. Data governance has to be a separate line item, or it does not happen.

Agents and Copilot inherit whatever they find. As organizations connect AI agents to Dataverse, every duplicate becomes two answers to one question. We wrote about that shift when the Data Quality App added MCP support: an agent is only as reliable as the table it reads.

Five data quality rules for any Power Apps program

  1. Every form searches before it creates. Whether it is a duplicate detection rule on a model-driven form or a lookup before a Patch in a canvas app, no app should be allowed to create a person or an organization without checking for an existing one. The techniques are in how to prevent duplicates in Power Apps forms.
  2. Identifiers are protected with alternate keys. Customer numbers, employee IDs, serial numbers and similar fields get a uniqueness constraint in Dataverse so the platform refuses the second copy regardless of which app sends it.
  3. Completeness is enforced at entry. Required fields, formats and rules such as “at least one of email or phone” apply on every table, because an incomplete record cannot be matched later.
  4. Matching goes beyond exact values. Fuzzy and phonetic matching are part of the design, not an afterthought, because the duplicates that hurt are the ones that are not spelled the same.
  5. Quality is measured over time. A score per table, tracked over 30, 60 and 90 days, turns data quality from a cleanup project into something a platform team can actually manage.

How Techdio approaches it

The Data Quality App runs natively in your Dataverse environment and works on any table, which means it protects every app on the platform at once rather than one form at a time. Live monitoring flags duplicates as records are created, data quality rules enforce completeness at the point of entry, background detection finds the historical duplicates and resolves them with bulk merge, and Data Health Studio reports the trend. One of our enterprise customers resolved more than 2 million duplicate records that way. If your organization is on the same path as NASA, with more makers and more apps every quarter, the Dataverse data quality guide is the place to start, and the free 15-day trial shows where your environment stands today.

Frequently asked questions

Does NASA really use Microsoft Power Apps?

Yes. In a public ESPC conference session reported by The Space Channel, NASA’s Power Platform lead described growing to 47,000 active users, an Artemis Launch Tracker canvas app used in hundreds of pre-launch tests, and Dataverse-based solutions for Orion crew capsule operations and in-orbit anomaly monitoring.

Why does data quality matter more in Power Apps than in traditional applications?

Low-code multiplies the number of forms, flows and imports that write to a shared Dataverse, and it puts form design in the hands of people who are not database specialists. More entry points and a shared data platform mean one careless form can affect every app and report that reads the same table.

How do you keep data quality high across many Power Apps?

Enforce uniqueness with alternate keys, make every form search before it creates, apply completeness rules on every table, add fuzzy and phonetic duplicate detection for the matches exact rules miss, and measure quality over time. The Data Quality App provides these capabilities on any Dataverse table so they cover all apps at once.

Improve your data quality in Dynamics 365

The Data Quality App keeps records complete and correct with data quality rules at the point of entry, finds duplicates with fuzzy and phonetic matching, resolves them with bulk merge and measures your data health over 30, 60 and 90 days. Native in your own environment, free for 15 days.

Start your free 15-day trial See the Data Quality App

Hasret Smajlović is the co-founder of Techdio, a Microsoft Certified Global ISV building data quality and migration solutions for Dynamics 365 and Power Apps. Working in the Microsoft business applications ecosystem since 2009, Hasret has delivered more than 100 end-to-end Dynamics 365 implementations, upgrades and migrations across cloud and on-premises environments. In 2024, Microsoft selected Hasret for its Partner Advisory Council as one of the world's top 25 Business Applications professionals among Microsoft partners. Hasret studied strategic management at Harvard Business School Online and holds a Mini MBA in organizational leadership.