Yu (John) Zhang

Application · Web Developer, Cohere

Polished pages, shipped quickly, built to be edited.

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.

years shipping production web apps
15+
years at CarltonOne, now Lead Developer
10
on Google.ca for “voip” and “internet phone”
Page 1
Softroute, 2005–2007
unit-test coverage held on a rewritten codebase
100%
FeatureCreep

Fit

What the role asks for, and where I've done it

Each card maps one part of the job description to work I've actually shipped.

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

Faster, less painful publishing

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

Component-driven front ends

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

Performance where it moves the needle

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

AI tools every day, owning what I merge

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

Leaving code clearer than I found it

I've defined coding standards, led legacy rewrites, and kept a rewritten codebase at full test coverage.

Evidence: FeatureCreep, Instaclick, CarltonOne

How I work

From a marketing request to a shipped page

Roughly how I'd take a landing-page request on a small web team.

  1. 01

    Agree on the goal

    Who the page is for, what it should get them to do, and how we'll know it worked.

  2. 02

    Model the content

    Reuse existing sections where possible; add schema fields editors will understand without a walkthrough.

  3. 03

    Build with AI, review like a human

    Use AI tools to move fast, then read every line, test the edge cases, and check it on a phone.

  4. 04

    Ship, measure, iterate

    Watch performance and results after launch, and fix what actually matters first.

Experience

Where I've done this before

  1. 2016 – now

    Lead Developer · CarltonOne Engagement

    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.

  2. 2014 – 2016

    Senior Web Developer · FeatureCreep Technology

    Rebuilt web modules on a componentized architecture, defined the coding standard, and kept the new codebase at 100% unit-test coverage.

  3. 2008 – 2014

    Web Developer · Instaclick

    Pilot team for the company's first Symfony production site; worked across front end, back end and testing.

  4. 2005 – 2007

    Web Marketing Specialist · Softroute

    Built and optimized the company website, reached page one on Google.ca for competitive terms, and ran and measured marketing campaigns.

This site

How this page is built

A small version of the setup the role describes, reusable for more than one site.

Next.js + TypeScript

App Router with server components that run at build time. The page is exported as static HTML and served by Caddy.

Tailwind CSS

Design tokens as CSS variables, light and dark themes, and scroll-linked motion in pure CSS that respects reduced-motion settings.

Sanity schemas

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.

pnpm + Turborepo

One monorepo with shared UI and content packages, and one app per site, each deployed to its own subdomain.

FAQ

Questions you might have

Have you used React in production?

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.

Why apply for this role with a lead title?

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.

How do you use AI tools without losing ownership of the code?

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.

Where are you based?

Vaughan, Ontario, close to Cohere's Toronto office.

I'd like to help build cohere.com.

If this looks like a fit, I'd be glad to talk.