From data chaos to clarity
Every engagement below started the same way: numbers people couldn't act on without checking them twice. They're grouped by sector and type of build — skip to whichever is closest to your own situation.
Microsoft Fabric architecture
Full-stack builds: ingestion, Medallion layers, dimensional modelling, governance and publication. Where the whole chain needs one owner.
Multi-property portfolio: one reporting platform across every hotel
Multi-property hotel portfolio · Feb 2026 – present · Phased delivery with sign-off at each milestone
The chaos
Source workbooks that could not feed Power BI at all. Benchmarking reports spread across 17–23 sheets with merged headers. Debt schedules over 11 tabs. Investment summaries with duplicate and missing codes. Budgets across 31 tabs.
The clarity
Every property now reports from one place, so the group can compare hotels fairly, see profit per property, and produce the reporting lenders and investors ask for — with every figure proved back to the accounting system line by line.
What we built
Each property's files land automatically from SharePoint into Fabric, are cleaned and standardised so every hotel's data means the same thing, and feed a single model the whole group reports from. Room-weighted aggregation means a 300-room hotel and a 90-room hotel can be compared fairly rather than by raw totals. Five audiences get their own view — executive, operations, benchmarking, owner and investor, and debt and investment — all from the same numbers, published across development, test and production. Tie-out reporting proves the figures against the accounting system. Currently in delivery: franchise and brand compliance, then row-level security, governance and training.
Reporting as evidence
Programs where the reporting isn't management information — it's the record of whether obligations were met.
City of Melbourne laneway audit: from how much, to exactly where
Engaged by Waste Audit & Consultancy Services on contract · Jun 2025 – present · Ongoing update support and dashboard maintenance
The chaos
Audit data on bin compliance, compactor operations, dumped rubbish and infrastructure condition split between internal audit records and third-party contractor feeds, arriving on different daily, weekly and monthly cycles.
The clarity
One governed star-schema model with automated refresh — and a shift in the question the program could answer: not how much non-compliance existed, but where it concentrated.
What we built
Internal audit and contractor sources integrated into a single star-schema model handling three refresh cadences via SharePoint with automated refresh. More than 25 custom visuals and DAX measures covering compliance trends, damage-type analysis and operational status, with drill-through from a CBD-wide view down to individual laneways and hubs. Metadata documentation and governed datasets published in Power BI Service, with continuing update support after delivery.
Why this one matters
Regulators and public programs don't want more numbers — they want to know where to direct limited attention first. Moving a program from volume to concentration is the same shift risk-based regulation depends on, and it's the thinking we bring to any compliance or audit reporting brief.
Connecting service data to outcomes
Where the useful question isn't how much activity happened, but whether it changed anything.
Mental health and 911 response outcomes
Healthcare provider, Austin, Texas · Sep – Oct 2025
The chaos
911 dispatch records, mental health service data and community resource information sitting in separate systems, with no way to connect a crisis response to what happened afterwards.
The clarity
A star-schema model linking response to outcome, so intervention programs could actually be evaluated rather than just counted.
What we built
Dispatch, mental health service and community resource datasets integrated into a star-schema model built for relationship analysis, with an executive dashboard providing drill-down and DAX measures for response-time analysis and outcome tracking.
Medical provider time tracking and client allocation
Healthcare client via Upwork · Mar – Apr 2026
What we built
A workbook to track hours for per-diem medical providers, allocating time by visit type and membership category so the practice could reconcile provider hours against client allocation without manual recalculation.
"Zohal was simply exceptional to work with. She created a complex Excel file to help me track hours for my per diem medical providers based on visit type and membership."Healthcare clientVerified review via Upwork · Endorsed: collaborative, committed to quality, clear communicator, detail oriented
Reporting that reconciles
Backed by an accounting qualification and Xero certification — so the model reflects how the books actually work, not how the data happened to be exported.
Xero to Power BI pipeline via Microsoft Fabric
SME and SaaS clients · Productised solution
The chaos
Manual Xero exports, scattered spreadsheets, no visibility on overdue invoices, and hours lost to assembling monthly reports from figures that were already stale by the time anyone read them.
The clarity
An automated daily pipeline answering the questions owners actually ask: how much are we owed, who owes the most, what's overdue, and are we cash positive.
What we built
Xero API into Microsoft Fabric, landing to Delta Lake tables and surfacing in Power BI, with automated daily refresh and OAuth 2.0 token management for unattended operation. Covers accounts payable and receivable ageing, budget tracking, forecasting and scenario analysis.
SaaS board reporting: five days of manual work down to three hours
Fast-growing SaaS company
The chaos
Five days of manual consolidation every month to produce board reporting — by which point the numbers described a month that had already ended.
The clarity
Month-end reporting cut from five days to three hours — roughly an 80% reduction — through Power BI automation and DAX optimisation. The finance team moved from reporting a month that had already closed to seeing cash position while there was still time to act on it.
Construction job costing with QuickBooks Online
Construction client via Upwork · Apr – Jul 2026
What we built
Job-costing reporting for a construction business, reconciling project costs against QuickBooks Online so margin could be tracked at job level rather than only at the company level.
When a spreadsheet is the right answer
Not every problem needs a platform. Some need one workbook that finally behaves — built with the same discipline as anything larger: validation, error handling, and a design the client can maintain.
Accounting automation in Google Sheets
Automated accounting workflow replacing manual entry and reconciliation steps for a client who needed to stay in Sheets rather than migrate.
- Client rated 5.0 — "Phenomenal work. Seamless execution."
- Endorsed: reliable, committed to quality, clear communicator, detail oriented, accountable for outcomes
Automating compliance review
Repeat engagement automating a manual compliance review process into a structured, user-friendly document workflow.
- Client rated 5.0 across multiple projects
- "Each time she creates simple, user-friendly documents. She is willing to make tweaks until they are just right."
Payroll and reporting automation
Excel VBA and Power Query automation of recurring payroll and reporting workflows, with validation built in to catch entry errors at source.
- Removed 10+ hours of manual effort per week
- Reduced data-entry error
Investment portfolio model
Excel investment portfolio model for growth projection and scenario analysis, built alongside the Xero financial analytics work.
- Growth projection and scenario comparison
- Published in our Upwork portfolio
Automated retail KPI dashboard
KPI dashboard for a retail store operation, automating the reporting that had previously been assembled by hand.
- Automated KPI reporting
- Delivered as a fixed-scope engagement
Healthcare submission template
Excel submission form with rate automation and data validation, designed so non-technical staff could complete it without producing bad data.
- Rate automation
- Data validation at point of entry
Things we build to find out whether they work
We test new platform features on our own time first, and publish what we find — so you can judge the reasoning rather than take our word for it.
End-to-end API pipeline in Fabric
A portfolio build using a private API account to demonstrate production-grade engineering without exposing client data: Python and PySpark extraction with OAuth 2.0 token management into a Lakehouse, feeding Power BI Service auto-refresh.
- Fully unattended daily refresh in under five minutes
- 99.5% pipeline reliability with error handling
- Transfers directly to third-party integrations in client work
Version control for Power BI
We moved our BI development to the .pbip project format with Git, so report metadata lives as readable text files. Reporting assets then get what application code has had for decades.
- Complete change history and diffs
- Branches for experimentation, pull requests for review
- Safe rollback instead of "final_v7.pbix"
What clients say afterwards
"Zohal is such an asset to my company. This project required a large amount of back and forth communication for requirements and dashboard updates. Zohal handled these with grace and professionalism."
"I have used Zohal on a couple of different projects. Each time she creates simple, user-friendly documents. She is willing to make tweaks until they are just right."
"Zohal was simply exceptional to work with. She created a complex Excel file to help me track hours for my per diem medical providers based on visit type and membership."
Recognise your own reporting in any of these?
Tell us which decision your team is trying to make and where the numbers stop lining up. We'll come back with a clear read on what's causing it and what fixing it would involve.
Start a conversation →- Reply within two business days
- Fixed-scope diagnostic before any build
- Canberra-based, working AU, NZ and US