Skip to content

Portfolio

Case studies in integration, automation, and reporting.

The projects below are illustrative, anonymized examples that describe the type of work I do and how I approach it.

These are representative project templates, not named client engagements. No client names, confidential details, or measured performance figures are claimed.

Showing 6 of 6 projects

Data integration

Operational Data Integration Platform

Python API services, PostgreSQL, scheduled data collection, and dashboard-ready data.

Challenge

Operational data lived in several disconnected systems and spreadsheets, so every report started with manual exports and reconciliation, and no one trusted the numbers by the time they were assembled.

Approach

Designed a normalised PostgreSQL model as the single record, built Python API services to pull from each source system with retries and authentication handling, and scheduled collection jobs with logging and data-quality checks. Curated views were exposed for reporting so downstream tools read consistent, documented structures.

Technology stack

PythonFastAPIPostgreSQLCloud SQLCloud SchedulerREST APIs

Outcome

Reporting inputs became consistent and repeatable, and the manual export-and-reconcile step was removed from the routine.

CRM workflow

CRM Lead Routing Automation

Lead enrichment, scoring, routing, Zoho workflow automation, and reporting.

Challenge

Incoming leads were assigned by hand, follow-up was inconsistent, and there was no reliable view of which sources produced qualified opportunities.

Approach

Mapped the qualification rules with the team, then implemented enrichment and a transparent scoring model in the CRM. Routing rules assigned owners automatically with clear fallbacks, and reporting was added so the rules themselves could be reviewed and tuned rather than treated as a black box.

Technology stack

Zoho CRMZoho CreatorZoho AnalyticsPythonWebhooks

Outcome

Lead handling became consistent and auditable, and the team could see how routing decisions were made.

Cloud automation

Cloud-Based Monitoring Pipeline

Cloud Run services, scheduled processing, operational alerts, and data quality controls.

Challenge

Scheduled processing ran on an ad-hoc machine with no visibility: failures were noticed only when someone spotted missing data days later.

Approach

Moved processing into containerised Cloud Run services triggered on a schedule, added structured logging and health checks, and introduced data-quality controls that compare expected against received volumes. Failures and anomalies raise alerts to an operational channel with enough context to act on.

Technology stack

Cloud RunCloud SchedulerPythonPub/SubPostgreSQL

Outcome

Problems surface immediately with actionable context, and the pipeline runs without a machine someone has to remember to keep on.

Business intelligence

Business Performance Dashboard

BigQuery / PostgreSQL data model, KPI reporting, filtering, and stakeholder views.

Challenge

Different teams calculated the same metrics in different ways, so meetings were spent debating whose figures were right instead of what to do about them.

Approach

Agreed definitions for each KPI, implemented them once in a documented reporting model over BigQuery and PostgreSQL, and built role-appropriate views with filtering so each stakeholder group sees the slice relevant to them, derived from the same underlying logic.

Technology stack

BigQueryPostgreSQLSQLData modellingDashboarding

Outcome

Teams work from shared, documented metric definitions, and discussion shifts from reconciling numbers to acting on them.

Renewable energy monitoring

Renewable-Energy Monitoring System

Device or source data ingestion, reliability checks, production monitoring, and alerts.

Challenge

Production data arrived from multiple devices and vendor portals in different formats and at different intervals, making it hard to tell an underperforming asset from a reporting gap.

Approach

Built ingestion adapters per source with normalisation into a common time-series model, added completeness and plausibility checks to distinguish missing data from genuine underperformance, and set thresholds that trigger alerts when production or reporting deviates from expectation.

Technology stack

PythonCloud RunPostgreSQLTime-series modellingAlerting

Outcome

Asset performance and data reliability can be assessed from one place, and gaps are identified as gaps rather than mistaken for outages.

AI workflow

AI-Assisted Research Workflow

Structured company research, document extraction, qualification workflows, and review steps.

Challenge

Preparing background research and extracting details from documents consumed hours of skilled time, and the output format varied from person to person.

Approach

Defined a strict output schema first, then used language models for extraction and summarisation against that schema, with source references retained. Every generated result enters a human review step before it is accepted, and low-confidence items are flagged rather than silently passed through.

Technology stack

PythonLLM APIsDocument extractionPostgreSQLCloud Run

Outcome

Research and extraction arrive in a consistent, reviewable format, with people spending their time on judgement rather than transcription.