Project

Rayfin XP

  • React
  • TypeScript
  • Microsoft Fabric
  • Rayfin
  • Power BI
  • rough.js
Cover image for Rayfin XP

A fun take on a Microsoft Fabric data app, built on the @microsoft/rayfin Data App template. Instead of a plain dashboard, your analytics live inside a tiny Windows XP desktop.

What it is

The whole experience boots like an old PC and drops you onto a Bliss-wallpaper desktop with working icons, a Start menu, and a taskbar clock:

The data layer

The Paint dashboard is wired to a live Power BI semantic model (contosoSales, registered in fabric.yaml). Each visual calls a query factory — a .dax query plus a TypeScript factory — through the useSemanticModelQuery hook, and the Region / Category slicers inject DAX filters so the whole canvas re-queries on selection.

The MSN chat is a small keyword-intent agent: it matches your message to a premade DAX query and runs it live against the same semantic model the dashboard uses, then formats the reply MSN-style. There’s no LLM and no API key — answers come straight from the model.

Because Fabric auth can’t be mocked, the live charts and agent answers only render inside the Fabric portal embed; standalone, the desktop, Minesweeper and Notepad still run with no sign-in.

Why I built it

It started as an excuse to learn the Rayfin Data App template end to end — semantic-model queries, slicer-driven DAX filters, and Fabric embedding — and turned into a nostalgia project. It’s a personal hobby build, not affiliated with or endorsed by Microsoft.


← All projects