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.