Growth-focused UI with marketing partners
I started as a web marketing specialist: I built the company site, ran campaigns, and built the tracking that measured them.
Evidence: Softroute: vbuzzer.com, campaign tracking, AJAX express checkout
Application · Web Developer, Cohere
I'm John, a web developer with 15+ years of production experience and a start in web marketing and SEO. I built this site with the stack your web team uses, to show how I'd work on cohere.com.
Fit
Each card maps one part of the job description to work I've actually shipped.
I started as a web marketing specialist: I built the company site, ran campaigns, and built the tracking that measured them.
Evidence: Softroute: vbuzzer.com, campaign tracking, AJAX express checkout
I like turning business rules into configuration so people can change things without a developer. This site's sections are content, not code.
Evidence: CarltonOne: configurable reseller incentive programs
I rewrote legacy modules as Vue.js front ends backed by TypeScript (NestJS) services. This site is my React and Next.js work.
Evidence: CarltonOne: Vue.js + Node.js/NestJS rewrites
I moved heavy work off the request path with an async queue, and tune MySQL where it matters. This page ships as static HTML with no client JavaScript of its own.
Evidence: CarltonOne: RabbitMQ async processing layer
I use Claude Code, MCP servers and agent Skills daily, and I review, debug and can explain every change before it ships.
Evidence: Introduced AI-assisted development to my current team
I've defined coding standards, led legacy rewrites, and kept a rewritten codebase at full test coverage.
Evidence: FeatureCreep, Instaclick, CarltonOne
How I work
Roughly how I'd take a landing-page request on a small web team.
Who the page is for, what it should get them to do, and how we'll know it worked.
Reuse existing sections where possible; add schema fields editors will understand without a walkthrough.
Use AI tools to move fast, then read every line, test the edge cases, and check it on a phone.
Watch performance and results after launch, and fix what actually matters first.
Experience
2016 – now
Lead a team on a global loyalty and incentive platform: Vue.js and NestJS rewrites, a reseller incentive system, gamification features, and an async processing layer.
2014 – 2016
Rebuilt web modules on a componentized architecture, defined the coding standard, and kept the new codebase at 100% unit-test coverage.
2008 – 2014
Pilot team for the company's first Symfony production site; worked across front end, back end and testing.
2005 – 2007
Built and optimized the company website, reached page one on Google.ca for competitive terms, and ran and measured marketing campaigns.
This site
A small version of the setup the role describes, reusable for more than one site.
App Router with server components that run at build time. The page is exported as static HTML and served by Caddy.
Design tokens as CSS variables, light and dark themes, and scroll-linked motion in pure CSS that respects reduced-motion settings.
Every section on this page is a typed content block. The same schemas power a Sanity Studio, so editors can reorder or add sections without code.
One monorepo with shared UI and content packages, and one app per site, each deployed to its own subdomain.
FAQ
My production front-end work has been in Vue.js. The ideas carry over directly: components, props, state, and build tooling. This site is my React and Next.js work, and I'm happy to walk through any of it.
I enjoy the craft of building pages people actually see, and working directly with design and marketing. A small team that ships quickly is where I do my best work.
AI writes drafts and does the mechanical work; I set the direction, review every change, and test it. If I can't explain a line, it doesn't get merged.
Vaughan, Ontario, close to Cohere's Toronto office.