Hi, I'm James McDonald.

Full stack developer with a background in digital marketing.

Current

I've worked at Exponential-e since April 24, where I've taken on broad responsibility across digital marketing, reporting, lead flow, tool optimisation and website troubleshooting.

My work has included Google Ads, LinkedIn Ads, Qualified AI, SEO, campaign tracking, dashboarding, UTM governance, and cross-functional support for digital campaigns. During my time I've reduced low-quality Google Ads leads from a peak of around 60% to 7%, took ownership of around 200k of budget and contributed to over 60m of Total Contract Value pipeline through web and digital channels.

Since early 2025, I've had full day-to-day ownership of digital marketing at Exponential-e, this includes: strategy, execution, reporting, lead handoff, platform ownership and optimisation initiatives on or off the website.

That wider scope pushed me further into the operational and technical side of the role, currently it sits at the intersection of marketing, operations, and technical problem solving, with a strong focus on improving tracking, lead quality, reporting and the effectiveness of the wider digital setup.

Previous

At Mellcrest, I managed website content and worked on SEO and web development, helping improve search visibility, conversions, and revenue. I also built an internal AI tool to improve product descriptions at scale.

Earlier, during my placement year at Fade AV, I worked on analytics, content, and paid search optimisation, using performance data to improve targeting and traffic quality.

Technical focus

Alongside my day job, I build my own software and automation projects using Next.js, React, Express, TypeScript, Python, SQL, and background workers.

I enjoy understanding how systems connect, where friction sits, and how software can improve the way people work. A lot of what I build is shaped by practical day-to-day problems: repetitive tasks, messy data, and workflows that should be simpler than they are.

What I've built

This Website

Custom coded with a next frontend and an express backend. Easily extensible which lets me build custom tools & programs to run from anywhere.

Link Checker

Start from a URL and map the pages beneath it, then explore the internal links between them.

Learn more

Map Scraper

Define a bounding box on a map then collect business information from a range of sources.

Learn more

People Enricher

Upload a CSV of people you would like data for and recieve email, job title and other details

Learn more

Cold Email Outreach

Too many times I've seen poor cold emails deliver no business value. This fixes that.

Request trial

Admin Dashboard

I can view all jobs and users in the website, manage access levels, contact forms and other things.

You won't get access to this but it was fun to make and the data it produces is cool.

How I build

I build with a Next.js frontend, an Express API, and background workers that process jobs asynchronously. That setup lets me create custom interfaces on the frontend while keeping the heavier processing in the backend.

I'm especially interested in automation, web data, and building software that is genuinely useful day to day.

Languages, Tools & Frameworks

  • JavaScript/TypeScript

    • Next
    • React
    • Prisma
    • Express
    • Passport
  • Python

    • Selenium
    • SQLAlchemy
  • Technologies

    • SQL
    • MongoDB
    • Docker