Rayfin Data App — The Future of Power BI Reporting

You can build an application whose frontend is TypeScript and ReactJS, and whose backend is a Power BI semantic model — meaning you get a fully interactive, visualized report inside your application without it being a Power BI report at all.

Project Rayfin makes this possible. And it is going to change the way we share Power BI reports with our audience — the way we distribute our reports altogether.

In this article, I walk through a live demo of exactly what this looks like, how to build it, and — most importantly — the cost story that makes this a genuinely significant shift for anyone who distributes Power BI content at scale.

Published by Reza Rad | RADACAD


📺 Watch the full video on YouTube: Rayfin Data App — TypeScript + Semantic Model + GitHub Copilot

🌐 RADACAD Blog: radacad.com



What You Are Looking At (Video: 0:52)

Take a look at the demo I show in the video. There is a frontend that looks like a Power BI report — but it is not a Power BI report. It is a TypeScript frontend. It has multiple pages, it is loaded inside a Fabric/Power BI environment, and it looks like a polished, professional report.

But the data comes from a Power BI semantic model, while the frontend itself is TypeScript. This is built using Project Rayfin.

Rayfin — also called Fabric App — was announced recently at Microsoft Build. It is a way to build end-to-end applications that work with the rest of your Fabric objects. You can build an application that writes data into a database. You can also build an application that reads data from a Power BI semantic model and visualizes it. That second scenario is a specific template inside Rayfin — we call it the Data App template.

For a full introduction to what Rayfin is and how the different templates work, I have a dedicated article here: What Is Fabric App or Rayfin and Why You Should Care.


Building the Data App From Scratch (Video: 2:01)

To show the full process, I started completely from scratch in VS Code.

Step 1: Create the Rayfin project

Open a terminal in VS Code and run:

npm create microsoft/rayfin@latest

This gives you the latest version of the Rayfin project. You get the option to use a template or start blank. At the time of recording, four templates were already available, with more coming. In another video, I covered the To-Do App template in detail. Here, I am using the Data App template — specifically designed for when you want to visualize something from a Power BI semantic model.

You will be asked what to call the project. I named mine my-first-data-app-one.

💡 Note: This step assumes you already have Rayfin installed and configured — VS Code plus the required libraries. I covered that full setup process in a separate video and article on getting started with Rayfin.

Step 2: Review the project structure

Once created, this is a fully-fledged web application project. It includes all the standard project files of a web application — a Rayfin YAML file, a source folder with different sections, apps, and projects. This is the basic template you build on top of.

Step 3: Navigate into the project and start prompting

cd my-first-data-app-one

At this point, no AI has been used yet — this is all standard project scaffolding. From here, the workflow shifts to AI-assisted development.


Using AI to Build the Report (Video: 5:34)

Here is the exact prompt I used:

“In my application, which is a Data App template of Rayfin, I want a frontend with three report pages connecting to this semantic model in my workspace.”

That’s it. A fabric workspace name, a semantic model, and a request for three report pages — nothing more specific than that.

This takes a little time to process, because the AI has to:

  1. Connect to the Power BI semantic model
  2. Analyse the model — tables, fields, relationships
  3. Determine the best ways to visualize the data
  4. Combine multiple tools and capabilities to build the actual application

Once it finishes, you can continue refining it conversationally. Don’t like the theme? Ask for a different one. Want a different layout? Ask for it. You can iterate exactly the way you want, entirely through prompts.

⚠️ Important security note: During this process, the AI may ask permission to run commands. Be careful to only do this in a development workspace — never give AI access to make modifications directly in a production workspace. This is critical to get right before you start experimenting.

The quality of the output depends on what you give it

I gave the AI almost no requirements — I did not specify which fields I wanted in the report. I just threw a prompt at it and got a result. You can absolutely provide more — business requirements, field definitions, metadata documentation — and the outcome will be significantly better tailored to what you actually need. The AI is combining the semantic model’s structure with the reasoning power of the LLM to decide what makes sense to visualize.


Publishing the App to Fabric (Video: 8:57)

Once the app is built, you can run it locally with npm run dev to preview it in a development environment. But to make it available in the actual Fabric environment, publish it:

npx rayfin up

This asks which Fabric workspace you want to deploy to. I chose my test workspace — fab-test-radacad. Once confirmed, Rayfin handles all the publishing: it creates a web app, and gives you the URL of that web app directly in the terminal output.

Going into the Fabric environment and searching for the app by name, you will find exactly what was just published — the very first draft of whatever the AI created. In my demo, it was a fairly simple report with sections for Products and Customers — not perfectly designed, but functional. The important thing to notice: this frontend is not a Power BI report. It is a TypeScript frontend, which is completely normal for a web application. Behind the scenes, it is powered by a Power BI semantic model.

I also showed a second, more refined version I had built earlier through continued prompting — a nicer UI, charts, three distinct report pages. Nothing in that version is PBIR or a Power BI report either. It is a standard TypeScript web application frontend, built entirely through AI agent prompts.


The Cost Story — Why This Actually Matters (Video: 11:33)

This is the part of the video I consider most significant — because it is not just a technical demo, it directly changes how organisations think about distributing Power BI content.

If you want to share a Power BI report with your users, those users need Power BI licenses — either Power BI Pro licenses, or a Fabric capacity considered premium, meaning F64 or higher. F64 costs roughly $5,000 USD a month.

Anything below F64 means paying for Pro accounts per user — $14 USD per user, per month. If you have 20 Power BI users, that is $280 a month just to let non-self-service users browse content.

With Rayfin’s Data App template, once the app is built, you can share it throughout your workspace instead. Right now (at the time of recording, in preview), sharing happens by adding a user to the workspace with Viewer access — with a URL-sharing option planned for later.

The demo that proves the point

I demonstrated this live. I created a test user — nopowerbi@radacad.com — and confirmed via the user management panel that this user has no Power BI license at all. Only a Microsoft Fabric free license. That means this user can be part of a Fabric workspace, but cannot consume standard Power BI content.

I gave this user Viewer access to the workspace, and separately gave them permission to the underlying semantic model (Manage Permissions → add the user directly). Then, logged in as that user in an incognito browser — free account, no trial, nothing paid — the user could open the workspace, find the app, navigate through its pages, and see live data.

The actual numbers

The workspace in my demo runs on F2 capacity — roughly $250 USD a month, or as low as $156 a month on a yearly contract.

Compare that to the $280/month Pro licensing cost for just 20 users. With Rayfin’s Data App approach — whether you have 20 users or 100 users, the cost stays the same, because you are paying for capacity, not per-user licenses. (Load does matter — F2 might not be sufficient for very heavy usage, in which case you would move up a tier — but the fundamental economics remain far more favourable than per-user Pro licensing.)

For the deeper technical breakdown of this pricing model and Rayfin more broadly, see: What Is Fabric App or Rayfin and Why You Should Care.


Two Things That Are Genuinely Changing

1. Cost-effective distribution. This approach lets you share reports with your audience in a dramatically more cost-effective way than traditional Power BI Pro licensing — especially for large audiences of report consumers who are not self-service users.

2. AI-built visual frontends. I am no longer building Power BI reports in the traditional sense. I am building visual frontends in TypeScript, using AI agents and LLMs — something that, in the past, would have taken significant development time. Now, LLMs are genuinely good at producing HTML and TypeScript code. Rayfin hosts and shares it. All of it combined is going to change how Power BI distribution and reporting works going forward.


Will This Kill the Power BI Report?

I don’t think so.

There will still be a need for Power BI reports. Self-service users — people who want the full flexibility of building and modifying their own analysis — will continue to use Power BI reporting, because that is exactly what gives them that flexibility.

But for the majority of users who are simply report consumers — not builders — a platform like the Data App template works better, and is significantly more cost-effective.

The future of Power BI visualization is heading in this direction.


Key Takeaways

  • Rayfin’s Data App template lets you build a TypeScript frontend powered by a Power BI semantic model backend — a fully visualized report that is not a Power BI report
  • Setup is four commands: npm create microsoft/rayfin@latestcd project-name → prompt-based AI development → npx rayfin up
  • AI builds the report from a simple prompt — the more context and business requirements you provide, the better the result
  • Always develop against test/dev workspaces, not production, when giving AI agents the ability to run commands
  • The cost story is real and significant: F2 capacity (~$156–250/month) can replace Pro licensing costs that scale per user — the same F2 cost applies whether you have 20 or 100 viewers
  • This does not replace Power BI reports — it changes how report consumers (not self-service builders) access content


Reza Rad is a Microsoft Regional Director, Data Platform MVP (16 consecutive years), Author, and Trainer. He is the co-founder of RADACAD and the author of multiple books on Power BI, Power Query, and Microsoft Fabric. You can follow him on LinkedIn and subscribe to the RADACAD YouTube channel.


Reza Rad on FacebookReza Rad on LinkedinReza Rad on TwitterReza Rad on Youtube
Reza Rad
Trainer, Consultant, Mentor
Reza Rad is a Microsoft Regional Director, an Author, Trainer, Speaker and Consultant. He has a BSc in Computer engineering; he has more than 20 years’ experience in data analysis, BI, databases, programming, and development mostly on Microsoft technologies. He is a Microsoft Data Platform MVP for 12 continuous years (from 2011 till now) for his dedication in Microsoft BI. Reza is an active blogger and co-founder of RADACAD. Reza is also co-founder and co-organizer of Difinity conference in New Zealand, Power BI Summit, and Data Insight Summit.
Reza is author of more than 14 books on Microsoft Business Intelligence, most of these books are published under Power BI category. Among these are books such as Power BI DAX Simplified, Pro Power BI Architecture, Power BI from Rookie to Rock Star, Power Query books series, Row-Level Security in Power BI and etc.
He is an International Speaker in Microsoft Ignite, Microsoft Business Applications Summit, Data Insight Summit, PASS Summit, SQL Saturday and SQL user groups. And He is a Microsoft Certified Trainer.
Reza’s passion is to help you find the best data solution, he is Data enthusiast.
His articles on different aspects of technologies, especially on MS BI, can be found on his blog: https://radacad.com/blog.

Leave a Reply

Your email address will not be published. Required fields are marked *