About

I'm James McDonald, a full-stack developer with a background in digital marketing.

My work sits at the intersection of marketing, systems, and software. I'm interested in building practical tools that reduce repetitive work, improve visibility, and make data more useful. This website is both my portfolio and a home for the tools I'm building.

Current work

I currently work at Exponential-e, where I've taken on broad responsibility across digital marketing, reporting, lead flow, platform optimisation, and website-related problem solving.

My work sits at the intersection of marketing, systems, and software. I'm interested in building practical tools that reduce repetitive work, improve visibility, and make data more useful. This website is both my portfolio and a home for the tools I'm building.

After my manager left in January 2025, I took on much greater day-to-day ownership during a difficult period that included an economic downturn and analytics disruption caused by server changes. Since then, I've worked across budget management, campaign delivery, reporting, lead handoff, platform improvements, and website troubleshooting.

My work has included Google Ads, LinkedIn Ads, Qualified AI, campaign tracking, dashboarding, UTM governance, and cross-functional support for digital campaigns. During my time there, I reduced low-quality Google Ads leads from a peak of around 60% to 8%, took ownership of a six-figure budget, and helped influence eight figures of Total Contract Value pipeline through web and digital channels.

Previous experience

At Mellcrest, I managed website content and worked with external agencies 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.