SO.Sherlyn Olalo, home
All projects

Data & Analytics

Power BI Dashboard

An internal report portal that lets authenticated users browse, search and view embedded Power BI reports, organised by category and access-controlled by role.

The Power BI Dashboard portal showing the categorised report library, with role-based navigation on the left and an embedded Power BI report filling the main panel.

Year

2025

Role

Full-stack Developer

Client

Lifewood Data Technology

Stack

Next.js 15, Supabase, Tailwind CSS, Framer Motion, GSAP, Vercel

Internal Lifewood portal, no public demo.

01

The problem

Lifewood's business reports lived inside Power BI. Useful, but only if you had a license and knew where to look. Most of the team didn't. Reports were scattered, access was inconsistent, and there was no organised way to discover what data existed or who could see what. The ask was simple: make the reports accessible, organised, and controlled.

02

What I built

A full-stack internal portal that embeds Power BI reports directly in the browser, no viewer license required. Users log in via Supabase, land on a categorised report library, and can search, filter and view any report they have access to. Favorites and recents persist per user so nothing gets buried.

Decisions that shaped the portal

  • Role-based access

    Admins and regular users see different interfaces; report visibility is controlled without touching Power BI's own permission system.

  • Admin panel

    Full CRUD for reports and categories, Excel source management, and a complete activity log so every change is traceable.

  • Embed approach

    Public embed URLs kept the integration lightweight and maintainable, avoiding SDK complexity.

Next.js 15 App Router handles routing and server components, Supabase covers auth and all persistent data, Tailwind does the styling, and Framer Motion plus GSAP drive the particle card effects and page transitions.

03

What I learned

This was the first time I built something people used on the clock. It sharpened everything. I stopped guessing what mattered and started watching where they slowed down. Search got better. Categories got renamed. Features I didn't plan showed up in requests after the first deploy: the activity log, the Excel manager, the folder toggles. That's the job: build the core solid and stay close to the people using it.