Business Experience
During my internship at SRS Distribution, I was introduced to Power BI as part of a company-wide initiative to consolidate and streamline their data analytics tools. I worked directly with the Financial Planning & Analysis (FP&A) team to design and develop interactive dashboards that supported key business insights and reporting needs.
I quickly became proficient in Power BI, learning to connect various data sources, build data models, and apply DAX to create meaningful, user-friendly visualizations. In addition to dashboard development, I established internal branding standards for consistency across reports—aligning visuals with company style guidelines and improving usability for stakeholders.
I’m currently continuing my Power BI development by pursuing the PL-300: Microsoft Power BI Data Analyst certification.
Personal Experience
As part of my passion for competitive gaming and data visualization, I created a custom Power BI dashboard for FLV (First Light Valorant)—a grassroots community tournament. I built a structured database from raw match data, manually tracking player performance, team results, and map-specific stats. Using Power BI, I designed interactive visuals to showcase this data in a clear, engaging format tailored for the community.
What inspired this project was the realization that while professional esports teams have access to detailed analytics, community-level players and orgs are often left out of that data-driven world. This dashboard was my way of bridging that gap—combining my interest in competitive Valorant with my growing skills in data modeling and visual storytelling. It represents my belief that even smaller communities can benefit from the same kind of insights and polish as the pros.
Use the arrow buttons at the bottom to tab through the dashboards.
Player Report:
This dashboard provides a comprehensive view of an individual player’s performance and contributions across all competitive seasons. It highlights both statistical trends and key milestones in the player’s history.
Key Insights Displayed
Season Participation: Number of seasons, matches played, captaincies, playoff appearances, and championships won.
Performance Trends: A bar and line chart tracking average ACS (combat score) and expected performance across seasons.
Agent Usage: Breakdown of agent selection by pick rate, reflecting the player's preferences and strategic choices.
Teammate Synergy: Lists key allies and top rivals based on match frequency.
Performance Metrics: Lifetime averages for score, ACS, kills, assists, first bloods, and KD ratio.
Table Style Stats: Season-by-season breakdown of rank, team, finish, and performance score.
Win Percentage: Overall win rate visualized for quick interpretation.
Purpose: To offer a player-centric view that tracks progression, highlights impact, and helps evaluate consistency and adaptability across seasons. Ideal for both players seeking to reflect on their growth and for coaches/scouts analyzing player development.
Season Report:
This dashboard delivers a high-level overview of the selected season’s competitive landscape, highlighting key stats, player activity, and meta trends.
Key Insights Displayed:
Season Snapshot: Total teams, matches played, new and total players, and episode/act context.
Top Performers: Leaderboards showing top-performing players by performance score and team standings with total points and captains.
Agent Meta: Scatter plot visualizing pick rate vs. win rate with agent icons, offering quick insight into agent effectiveness.
Rank Distribution: Bar chart summarizing the spread of player ranks for the season.
Map Preferences: Donut chart indicating map selection trends across all matches.
Purpose: To provide a concise yet detailed breakdown of the season’s competitive environment, helping players, organizers, and viewers analyze player influx, team performances, strategic meta shifts, and participation trends at a glance.
Community Report:
This dashboard highlights the long-term growth, health, and evolution of the tournament community across all seasons. It offers an interactive and engaging way to explore key trends in player activity and participation.
Key Insights Displayed:
Cumulative Stats: Shows total players, teams, matches, and seasons to give a snapshot of overall scale. A calculated retention rate indicates how many players return after their first season.
Player Lifecycle Visualization: The stacked bar chart breaks down new players, veteran players, and substitutes each season, making it easy to track player flow and community loyalty.
Team Growth Over Time: A smooth line chart overlays the number of active teams per season, helping assess competitive expansion and organizational engagement.
Interactive Functionality – Powered by Bookmarks:
A custom bookmark-based menu allows users to switch between views (e.g., Retention, Rank, Performance, Map, Agent), all within a single visual space.
This makes the dashboard both dynamic and clean, showing only relevant information depending on the selected focus.
Purpose: To provide a clear, high-level overview of the tournament's community trajectory. Ideal for organizers assessing engagement trends, players reflecting on historical participation, and spectators curious about how the scene has developed over time.
Leaderboard:
This dashboard serves as a comprehensive table of all match-level player statistics across all seasons. It empowers users to explore and analyze performance metrics on a granular level.
Key Insights Displayed:
Detailed Player Breakdown: Displays match-specific data for every player including ACS, K/D/A, First Bloods, and Performance Score, providing a complete statistical view of individual contributions.
Player Identity & Role Info: Includes player name, season, week, team, rank, and agent, making it easy to assess performance in the context of team strategy and progression.
Substitute Indicator: A dedicated “Sub Status” column highlights whether a player was competing as a substitute, aiding in comparative evaluations.
Interactive Functionality – Powered by Bookmarks:
The menu tab allows toggling between Players and Performance, enabling users to quickly switch between identity-focused views and gameplay-focused metrics.
Purpose: To offer a robust, filterable dataset ideal for analysts, team scouts, and community historians. This table answers questions like “Who had the most impact in a match?”, “How has a player evolved over time?”, and “Which agents delivered the best results?”
This project was designed from the ground up with user experience in mind, following a clear, structured pipeline. I began with data entry and validation, ensuring the raw inputs were clean, consistent, and complete. From there, I handled data processing, transforming the information into a format optimized for analysis. I then moved into database creation, organizing the stats into a scalable and query-friendly structure within Power BI. Finally, I developed intuitive, visually engaging reports that made insights easy to access and understand—even for users without a technical background. This end-to-end approach allowed me to maintain accuracy, streamline updates, and focus on accessibility at every step of the process.
Data entry was done in Google Sheets due to its accessibility, shareability, and existing use within the organization. The sheet was structured to be intuitive—data is entered left to right, top to bottom, following a natural flow. Dropdowns and color-coded headers guide users and ensure consistency, while formulas automatically fill in repetitive or derived information. Custom validation rules and conditional formatting were implemented to reduce manual errors and make the process as streamlined and user-friendly as possible. Data entry can also be done using an API.
Once data entry was completed in Google Sheets, the information was exported and transitioned into an Excel workbook designed specifically for relational database formatting. While the original sheet prioritized ease of use and accessibility, this Excel version focused on structural organization and data normalization—preparing the dataset for efficient import into Power BI. Tables were cleaned, separated by entity (e.g., players, matches, teams), and linked using unique identifiers to ensure accurate relationships between data points. This setup allowed for more powerful querying and dashboard functionality within Power BI, without compromising the integrity or clarity of the original user-facing input. There are tens of thousands lines of data involved in this project across four years worth of tournaments.
This image represents the relational data model I designed and implemented for the FLV (First Light Valorant) community tournament analytics project. After preparing the raw data in Excel, I structured it into a normalized schema optimized for analysis in Power BI. The model consists of multiple related tables representing core entities such as Player, Team, Match, Season, and Organization, along with fact tables for player and team performance (Player Performance, Team Performance Win/Loss, etc.).
I used 1:N relationships with well-defined primary and foreign keys to ensure referential integrity across the model. Lookup tables like Agent, Map, and Week support clean dimension slicing, while the use of bridge tables (e.g. Player Season, PR) facilitates complex relationships such as many-to-many joins and historical tracking.
This project strengthened my skills in data modeling, schema design, and Power BI’s relationship engine, and allowed me to build a scalable architecture capable of supporting dynamic visuals, cross-filtering, and detailed drill-through reports. It also reinforced my understanding of data transformation best practices, including denormalization for visual-level performance and designing for both analytical depth and end-user clarity.
.