Five detailed case studies spanning financial dashboards, Python automation,
SQL analytics, IFRS reporting, and business intelligence.
5
Featured Projects
$2.4M+
Revenue Impacted
500+
Hours Automated
1M+
Data Rows Processed
99.8%
Accuracy Rate
01
📈 Power BI · Finance
Executive Financial Dashboard
"Real-time visibility that transformed decision-making speed by 60%."
A mid-size retail company with 12 locations had no centralised view of their financial performance. Leadership relied on weekly spreadsheet emails that were always 5–7 days out of date — meaning costly decisions were made on stale data. I designed and built a comprehensive Power BI dashboard that aggregates live data from QuickBooks, their POS system, and Excel trackers into a single source of truth.
🎯 The Challenge
Finance team spending 12+ hours/week manually compiling reports from 4 disconnected systems. Leadership making pricing and inventory decisions based on week-old data. No drill-down capability — any follow-up question required another manual report.
⚡ The Solution
Built a 6-page Power BI report with DirectQuery connections to QuickBooks and SQL Server. Designed custom DAX measures for gross margin, YOY comparisons, and rolling averages. Created executive summary, P&L deep-dive, expense analysis, product performance, and location comparison pages.
✅ The Outcome
Dashboard refreshes every 2 hours automatically. Finance team reclaimed 10+ hours/week. CEO identified a low-margin product line that was masked in flat reports — discontinuing it recovered $28K annually. Voted "most impactful internal tool" by the leadership team.
10h
Saved Per Week
$28K
Annual Recovery
6
Report Pages
Tech Stack
Power BI DesktopDAXSQL ServerQuickBooks APIPower Query (M)Excel
Project Process
1
Discovery & Data Audit
Mapped all data sources, identified quality issues, aligned on KPI definitions with CFO.
2
Data Model Design
Built star schema in Power BI with date dimension, fact tables for sales, expenses, and inventory.
3
DAX Measure Library
Wrote 40+ DAX measures including time intelligence, rolling averages, and variance calculations.
4
Dashboard Design & UAT
Two rounds of user testing with finance team and executives. Iterated on layout and drill-through paths.
02
🤖 Python · Automation
Invoice Automation System
"500+ invoices per month, fully automated — zero manual intervention."
A B2B services company was generating, sending, and reconciling invoices manually using a combination of Excel templates, copy-paste, and Gmail. With 500+ clients billed monthly, the accounts team was spending 25+ hours every month on a purely mechanical task. I built a Python automation pipeline that handles the entire lifecycle — generation, sending, tracking, and reconciliation.
🎯 The Challenge
Accounts team manually copying data from a CRM export into Word templates, exporting to PDF, attaching to individual emails, and then tracking payments in a separate spreadsheet. Error rate was 3–4% causing payment delays and client friction. Month-end reconciliation took a full day.
⚡ The Solution
Python script that reads the CRM export (CSV), generates branded PDF invoices using ReportLab, sends personalised emails via SMTP with attachments, logs all activity to a SQLite database, and produces a reconciliation report comparing sent invoices to bank statement entries via fuzzy matching.
✅ The Outcome
Invoice error rate dropped from 3.4% to 0.1%. Month-end reconciliation reduced from 8 hours to 20 minutes. Staff reallocated 25 hours/month to higher-value work. System has processed 6,000+ invoices since deployment with zero outages.
Built dynamic invoice templates matching company branding with ReportLab, supporting multi-line items.
3
Email & Logging Pipeline
SMTP sender with retry logic, delivery confirmation tracking, and full audit trail in SQLite.
4
Reconciliation Module
Bank statement parser with fuzzy matching against invoice records, flagging discrepancies automatically.
03
🗄️ SQL · Analytics
Sales Insights Engine
"Unlocking customer lifetime value from 1M+ rows of dormant data."
An e-commerce company had 3 years of transactional data sitting in a PostgreSQL database — completely unexploited. Their sales team was guessing which customers to prioritise for upsell. I designed a suite of SQL analytics queries, an ETL pipeline, and a segmentation model that gave the sales team a ranked, actionable customer list every Monday morning.
🎯 The Challenge
Over 1M rows across 5 tables with no analysis layer. Sales team using gut feel for upsell targeting. No way to identify at-risk customers before they churned. Basic reporting only — revenue totals with no segmentation or trend insight.
⚡ The Solution
Built 12 complex SQL views in PostgreSQL using CTEs, window functions (NTILE, LAG, LEAD, ROW_NUMBER), and correlated subqueries. Created an RFM (Recency, Frequency, Monetary) segmentation model. Automated weekly ETL to push results into a Google Sheet accessible to sales reps.
✅ The Outcome
Sales team increased Q3 upsell conversion by 34% by focusing on top-quartile customers. Identified 180 at-risk accounts — retention campaigns saved an estimated $420K in ARR. Leadership had segment-level profitability for the first time.
"Audit-ready IFRS financials delivered in half the usual time."
A manufacturing SME needed IFRS-compliant annual financial statements for the first time — their bank required them for a £2M facility renewal. Their books were in QuickBooks but had never been presented to IFRS standards. I prepared the full suite: Statement of Financial Position, Income Statement, Cash Flow Statement, Statement of Changes in Equity, and 22 pages of notes.
🎯 The Challenge
Books maintained on a cash basis rather than accrual. Several lease agreements needed IFRS 16 treatment for the first time. Fixed asset register was incomplete. Tight 6-week deadline before bank submission. Previous accountant unfamiliar with IFRS requirements.
⚡ The Solution
Performed opening balance conversion from cash to accrual basis. Applied IFRS 16 lease model with amortisation schedules. Rebuilt fixed asset register and calculated depreciation under IAS 16. Prepared all primary statements and 22 disclosure notes in a branded, board-ready Excel workbook.
✅ The Outcome
Financials delivered in 5 weeks — 1 week ahead of deadline. Bank approved the facility. Auditor's management letter had zero material findings. Client retained for ongoing quarterly management accounts. Package passed Big 4 due diligence review 6 months later.
"Reallocating $200K of ad spend to channels with 2× better ROAS."
A DTC e-commerce brand was spending $840K/year across 12 marketing channels with no clear view of which channels were actually driving revenue. Their attribution was last-click only and their reporting was fragmented across three tools. I built a unified Tableau dashboard that aggregated spend and revenue data from all channels, applied multi-touch attribution, and delivered weekly channel-level ROAS reports.
🎯 The Challenge
Marketing team working with last-click attribution only — systematically over-crediting Google PPC and under-crediting email nurture sequences. Spend decisions based on gut feel. No unified view across Meta, Google, SEO, Email, Affiliate, and 7 other channels.
⚡ The Solution
Built ETL pipeline pulling from Meta Ads API, Google Ads API, Klaviyo, and 9 other sources into a central data warehouse. Applied linear and time-decay multi-touch attribution models. Built 4-page Tableau dashboard with channel comparison, trend analysis, budget optimisation simulator, and cohort performance.
✅ The Outcome
Brand reallocated $200K from low-ROI display and podcast to email and SEO. Overall ROAS improved from 3.1x to 3.8x within 2 quarters. Marketing team reduced weekly reporting time from 6 hours to 30 minutes. Dashboard presented to Series A investors as evidence of operational maturity.