BIChart Logo
BIChart

Migrate Lovable to Fabric App and Rayfin: BIChart’s first win

FabricFabric Apps

At BIChart, we are in the business of rapid migration of analytics from Tableau to Power BI and Fabric. It was only fitting that my first experience was migrating our migration calculator from Lovable to Fabric App and Rayfin. Microsoft may have a winner on its hands for AI-first building. Fabric Apps and Rayfin is vibe coding where you want it, and underlying structure you need. This is conceptually true so far with limited testing, but proof the excitement is well warranted.

What is a Fabric App?

Fabric Apps are a new item type in Microsoft Fabric that let you build and host real web applications directly inside your Fabric workspace, sitting alongside your reports, semantic models, and other data assets. Instead of standing up your own servers, login system, and database, the app runs on your existing Fabric capacity and inherits Entra ID single sign-on, workspace permissions, and governance automatically. The result is a fully custom, code-driven application that ships as a governed, shareable Fabric artifact rather than a separate website you have to host, secure, and manage on your own.

What is Rayfin really?

In practice, Rayfin:is an an ORM-style schema-as-code layer + Data API Builder + auth + static hosting, bundled and deployed into Fabric. Nothing in here is doing anything exotic, but in practice, it’s a massive value add for a very large group of professionals, typically removed from this kind of work. Rayfin is a thin, opinionated wrapper that saves you from hand-writing DAB config, SQL migrations, and Entra auth plumbing. All of this is optimized for Agentic work.

The Level of Effort to Port our Lovable Calculator to a Fabric App was an hour.

The heavy lift was not the UI or logic but the platform glue, since swapping Supabase auth and tables for Fabric SSO and Rayfin entities is where all the real work lived. The app code itself barely changed, which is the whole point of keeping business logic separate from the backend it happens to run on.

Lovable to Fabric App

Power BI and Tableau to Fabric Apps

There are many analytics use cases better suited as an app than a simple dashboard with few charts or an operational tabular report. The depth of interactivity and exploration (not to be confused with data discovery and exploration). Persistence and information origination is the purpose where you would want an app. There are natural, data intensive apps that fall in between app development and business intelligence.

  • Commissions and compensation management
  • Simple planning and forecasting (not to be confused with Financial Budgeting and Planning)
  • Calculators and scenario exploration
  • Survey analysis

Steps to Migrate our Calculator from Lovable to Fabric App and Rayfin

Step 1 was creating my Fabric capacity, Workspace, and enabling Fabric Apps.

Step 2 was creating my Fabric App project. Right out of the gates, it is clear Microsoft built a solution that is AI-first for building.

Step 4: Building my GITHub repo and complete my project.

Step 4: Convert my Lovable and Supabase powered app to Rayfin and Fabric App.

PROMPT: You are porting an existing **Lovable** (React + Vite + Tailwind + shadcn/ui) app
that uses **Supabase** for auth and data into a **native Microsoft Fabric App**
backed by **Rayfin**. The app must run inside Fabric with Entra ID / Fabric SSO,
persist data through Rayfin entities (not Supabase), and keep its original
business logic and UI intact.

This is where I started just to see what would happen. I am happy to share the entire prompt/skill, but acknowledge that everything is changing and evolving so fast it may not be relevant in 60 days.

Step 5: Deploy and test

It was that simple! All of the nuance was abstracted away for publishing. Even scenario saving/loading worked flawlessly on the first pass. I may have been lucky because my use case was extremely simple.

Step 6- Post-migration code review. The actual prompt I used in this example was very basic and provided a lot of latitude for the LLM to make decisions, review docs, correct itself, and solve for reproducing the Lovable app. At this step, we effectively have a prototype, but that also means there is risk embedded in this app. The next immediate step is to remove clear risks and take time to understand what was built, even if you are not an engineer by trade.

PROMPT: Do a focused code review of this app's migration to Microsoft Fabric + Rayfin (MSSQL via Data API Builder) from its prior backend. Be brutally honest and specific — cite file:line.

Focus on migration correctness, not green-field design:

Behavior parity: did the port preserve the original logic, or silently change it?
Backend translation: data model, field naming (snake_case vs camelCase), relationships, and .select()/query mappings — flag any field that's read but never selected, or mapped to the wrong name.
Dual-backend drift: the local-storage fallback path vs the Rayfin path — find logic that works in one but breaks in the other.
Auth swap: the move to Fabric embedded/postMessage auth + row-level security — anything trusting the client that shouldn't, or missing the new identity model.
Migration leftovers: dead code, stale assumptions, type mismatches hidden by tsc --noCheck, and parsing of legacy/stored data without validation.
Output: a ranked list of migration defects (severity, location, concrete fix), then the 3 highest-risk items to fix before this ships.

.Step 7- Remediate risks and bugs, and apply basic SDLC standards set forth by your internal team. There will be a host of resources floating around to help you move from prototype to production-grade Fabric Apps. For this article, I acknowledge this step and will eventually backlink to the best resources I find along the way.

PROMPT: Reviewing the scorecard against the codebase and Fabric/Rayfin docs to produce a remediation plan aligned with recommended patterns.

Here is an example of a simple rubric to give me some guidance on how much risk was in the migration and where we ended up. This is once again a self-defined process from a go-to-market team self-servicing. I recommend establishing these standards early in your exploration with your IT / data security organization.

The real-world testing with Rayfin and Fabric Apps and Production Readiness

Building software with an LLM is easy work. Managing, scaling, and securing change over time is where I have found “agentic” workflows fall apart quickly. Fabric Apps and Rayfin together solve a lot of common challenges out of the gates. I am excited to see how this solution materializes as a solution for us at BIChart; it’s been a great experience so far.

I also look forward to discussing with clients where Tableau migration to Fabric can unlock new data activation use cases for Fabric Apps.

Ryan Goodman

Ryan Goodman

Ryan Goodman has been in the business of data and analytics for 20 years as a practitioner, executive, and technology entrepreneur. Ryan recently returned to technology after 4 years working in small business lending as VP of Analytics and BI. There he implanted an analytics strategy and competency center for modern data stack, data sciences and governance. From his recent experiences as a customer and now working full time as a fractional CDO / analytics leader, Ryan joined BIChart as CMO.