Practical Python, websites
and writing for small teams.

I'm Kirk Davies, a freelancer in Ottawa. I build scripts, scrapers, automations and simple websites, and I write clear docs and copy.

See working samples

Services

Python scripts

Small, readable tools that do one job well.

Web scrapers

Collect public data into CSV or spreadsheets, respecting site rules.

Small websites

Fast, responsive pages for a business, event or project.

Automations

Invoices, reports, file renaming, moving data between tools.

Data cleanup

De-duplicate, standardize and validate messy spreadsheets.

Writing

Clear explainers, docs and web copy.

Working samples

Real, runnable projects built for this portfolio (not client work). Each page shows the output and full source.

CSV Contact Cleanup

PythonData cleanup

Standardizes names, emails, phones and dates; drops blank and duplicate rows; flags anything a person should check, including ambiguous dates.

View project & code →

Polite Web Scraper

PythonScraping

Collects 100 book listings (title, price, rating, stock) from books.toscrape.com, a sandbox site made for scraping practice, with a delay between requests.

View project & code →

Data Report with Charts

PythonReporting

Turns the scraper's CSV into a one-page HTML report: summary stats, a table and two charts.

View project & code →

Invoice PDF Generator

PythonAutomation

Builds a clean PDF invoice, HST included, from a simple JSON file. Sample data only.

View project & code →

Small Business Landing Page

HTML/CSSWebsites

A responsive single-file landing page for a fictional bakery: hero, feature cards and a demo signup form. No frameworks.

View project & code →

Writing Sample: Explainer Article

Writing

A plain-language article for small business owners on which chores are worth automating.

View project & code →

Excel Report Automation

PythonExcel/Sheets

Turns a raw sales CSV into a formatted Excel workbook: styled data sheet, live-formula summary by region, and a chart. Fictional data.

View project & code →

PDF to CSV Extraction

PythonData extraction

Pulls line items out of PDF statements (including a two-page one) into a single CSV, and checks each PDF's printed total against the extracted rows.

View project & code →

Shopify Product CSV Importer

PythonE-commerce

Cleans a messy supplier sheet into Shopify's product-import CSV format, grouping size variants and sending bad rows to a rejects file instead of guessing.

View project & code →

Weekly Report Email Automation

PythonAutomation

Summarizes a week of orders (revenue, change vs last week, refunds, top products) and writes a ready-to-review email file with the CSV attached. Sends nothing.

View project & code →

How I work

Honest disclosure: I use AI tools to help draft code and text. Everything I deliver is reviewed, tested and edited by me before it reaches you, and I'm responsible for it. If you'd rather a project be done without AI assistance, tell me up front and we can discuss it.

1. Scope

We agree on what "done" looks like, in writing.

2. Build & review

AI-assisted drafting, then human testing and review.

3. Hand-off

Readable code, plain-English instructions, and a revision round.

Contact

Got a repetitive task or a small site in mind? Contact details coming soon.