shafi.
Website design / WordPress development / Team leadership
02 / Operations case studies

The work behind the outcomes.

How I connect website delivery, team development, and ongoing support.

01Vendasta / Website fulfilmentFrom website designer to leading delivery.2 → 18

The context

As the website function grew, delivery depended on more than individual design skill. The team needed consistent ways to organise work, support one another, and maintain quality across a high volume of projects.

My contribution

I was promoted from Website Designer to Team Lead, then to Website Manager, helping build the team and shape the processes behind website fulfilment. My focus was connecting people, workflow, and quality so delivery could scale.

The result

The team grew from 2 to 18 people and delivered 1,000+ websites annually. The website operation I helped lead generated approximately CAD $4M in revenue across two years, connecting stronger delivery capacity with business growth.

02Vendasta / Delivery operationsMaking website delivery more efficient.14 → 4 days

The context

Website delivery involves a stream of builds, updates, and support requests. Improving turnaround meant looking at how work moved through the team, as well as the quality of the final website.

My contribution

I worked on delivery workflows and the way web support requests were categorised. Defining request types and processing expectations helped the team approach live-project requests more consistently.

The result

Website turnaround dropped from 14 days to 4 days, a 71.4% reduction and 10 days faster per project. Leadership feedback also recognised the lasting value of the processes I helped establish for website delivery and support.

Written from my published role history, outcomes, and client feedback.

~$4MCAD revenue across two years

Approximate revenue generated by the website operation I helped lead at Vendasta. Team capacity, consistent delivery, and quality all contributed to that scale.

10 daysFaster website turnaround

Turnaround dropped from 14 days to 4: a verified 71.4% reduction, alongside growing the website team from 2 to 18.

1,000+Websites delivered a year

Delivered under my leadership, with consistent quality checks and launch readiness across the team.

03 / Project case studies

Real businesses. Hands-on website work.

A closer look at selected projects across local services, home elevators, and healthcare. Design, delivery, and the support that comes after launch.

01All The Fixings / Ongoing website supportStaying involved after launch.Build → support

The context

A local handyman business needed a website and a dependable partner to support it as the business developed. The work extended beyond the initial design and launch.

My contribution

I handled the website from design through WordPress launch, followed by ongoing support and SEO services. I continued that relationship remotely after moving to Ontario.

The result

The client's recommendation highlights responsive support, practical problem-solving, and a website that became a useful marketing tool. The value was a continuing relationship and dependable website ownership.

02Nibav Home Lifts / Home elevatorsMaking a specialist product easier to explore.Website design

The project

A website design project for a home elevator brand, included in my selected portfolio.

My focus

Website design and the presentation of a specialist product offering.

Design priorities

Clear product information, a readable page hierarchy, and a consistent brand experience across screen sizes.

03Smile Dental Group / HealthcareA clear digital front door for dental care.Website design

The project

A website project for a dental care provider, bringing healthcare information into a visitor-friendly web experience.

My focus

Website design with an emphasis on presenting services clearly.

Design priorities

Approachable layouts, readable service information, and a clear route through the practice's website.

04Cochrane Plaza Dental / HealthcareHelping patients find their way.Website design

The project

A website project for a community dental practice, featured in my original portfolio.

My focus

Designing a web presence around the practice and its services.

Design priorities

Simple navigation, responsive layouts, and practice information that is easy to scan.

04 / Builds & automation

I manage the delivery. I build it too.

Seven working demos with fictional brands: WordPress plugins, a child theme and AI automations. Each opens with a live demo, the full source, the problem it solves and what the same job costs with an off-the-shelf tool.

Fictional brands, modelled on problems I have handled on client websites; client names stay confidential. “Saved” figures are estimates from public USD list prices, November 2026.

05 / My tech stack

The tools behind the work.

For building websites, understanding performance, organising delivery, and keeping support moving. Items outlined in red were added through the builds above.

Platforms

Building
WordPressShopifyBigCommerceEcwidWixWebflow

Builders & front end

Building
DiviElementorWPBakeryHTML5CSS3JavaScriptPHPSCSSWordPress REST APIWP-CLI

Delivery & support

Leading
JiraZendeskSlackNotionBasecamp

Analytics & SEO

Both
Google AnalyticsSearch ConsoleSemrushSchema.org / JSON-LD

Automation & AI

Building
ZapierClaude APICodexNetlify Functions
06 / My approach

A clear plan. A reliable operation.

I connect daily website requests to the bigger picture: what matters, who owns it, and what needs to happen next. Each step has a leadership side and a hands-on side.

01

Bring order to the work.

Clarify requests, establish priorities, and turn business needs into work a web team can act on. Keep scope, ownership, and expectations visible.

Leading

Request types, priorities and owners agreed before work starts.

Building

Intake forms that capture the right details, and triage that runs the DNS and SSL checks first.

INTAKE · PRIORITISATION · OWNERSHIP
02

Protect quality through delivery.

Stay close to the build: content, responsive layouts, functionality, and launch readiness. Help the team resolve issues and deliver consistently.

Leading

Shared QA checklists and launch-readiness reviews for the whole team.

Building

Child themes and hooks instead of edited core files, plus accessibility and structured data checks before launch.

DELIVERY · QA · LAUNCH READINESS
03

Keep the website moving forward.

Manage updates, troubleshoot problems, and improve the process behind repeat requests. A successful launch is the start of ongoing website ownership.

Leading

Support queues sorted by impact, with clear notes and follow-through.

Building

Automations for the repeat work: alt text, lead routing and ticket triage.

MAINTENANCE · SUPPORT · CONTINUOUS IMPROVEMENT
07 / In their words

Good work. Lasting relationships.

Recommendations from two directors, an HR manager, a content lead, a client and an operations manager. Their key words are highlighted.

6
recommendations
3
organisations
2
directors at Vendasta
1
client CEO I still support
Without hesitation, I would recommend Shafi to lead any web team.
Mark BarreraDirector, Managed Services · VendastaSenior leader
RecommendInspiredProactivePatientIn-depth knowledgeResponsiveCommittedSeamlessCommendable
What stood out most was Shafi’s proactive approach: he anticipated issues and implemented smart solutions ahead of time. He collaborated seamlessly across teams, translating requirements into clear, user-friendly web experiences.
Tibin ThomasDirector · Vendasta
Problem solvingTeamwork
His positive attitude not only made the work environment enjoyable but also inspired his colleagues to give their best.
Leela PrincyHR Manager · Vendasta
LeadershipTeamwork
He’s patient in helping others and has in-depth knowledge of performance and revenue metrics.
Anandhi MoorthyContent Manager · Vendasta
ExpertiseTeamwork
Despite the distance, his responsiveness and commitment have remained unwavering.
Troy Theodore WruckCEO · All The Fixings
Client careReliability
His ability to balance academics and work was commendable.
Arun PROperations Manager · Pluto Education
Reliability

Read the full recommendations on LinkedIn ↗

08 / A little about me

Hands-on experience. Operational perspective.

I understand the build. I organise the delivery. I help the team succeed.

I'm Shafi, a website manager, designer, editor, and WordPress developer based in Toronto. My background spans WordPress development and editing, SEO, fulfilment, team leadership, and technical support. I'm comfortable discussing the details with a developer and the priorities with a stakeholder.

I've helped scale a web team from 2 to 18 people and managed the delivery of more than 1,000 websites a year. I bring that operational perspective to everyday work: clearer requests, thoughtful QA, reliable support, better handoffs, and automations for the work that repeats.

My full story on LinkedIn ↗

Shafi.

What I bring to the room
Website operations & quality

Coordinating responsive website builds, content updates, quality checks, and launch readiness, backed by hands-on WordPress experience.

Website support & maintenance

WordPress updates, plugin conflicts, caching, responsive issues, and hosting, DNS, or SSL triage, with clear notes and follow-through.

Team & project leadership

Work allocation, delivery processes, team guidance, and quality assurance that help people produce consistent work at scale.

WordPress development & automation

Custom plugins and child themes using hooks and filters, REST API work, SCSS and JavaScript front ends, and AI automations, built with AI coding tools and tested before launch.

Website design, editing & SEO

Content and design updates, on-page and technical SEO, structured data, analytics, and performance coordination that keep the website aligned with business priorities.

2025 – Present / VendastaWeb Support SpecialistWordPress support, content updates, troubleshooting, and clear documentation for ongoing website requests.
IndependentWebsite Designer & DeveloperFrom early ideas to launch and ongoing support, plus SEO.
2020 – 2023 / VendastaWebsite Designer → Team Lead → Website ManagerPromoted from designer to team lead and website manager. Helped grow a 2-person team to 18, deliver 1,000+ websites annually, and support approximately CAD $4M in website revenue across two years.
2019 – 2020 / Nibav IT SolutionsWordPress DeveloperBuilding and maintaining WordPress websites, turning wireframes into responsive web experiences.
2018 – 2019 / TechgrapherOperations ManagerConnecting operations, marketing, and customer support.
Certified in

Atlassian Agile Project Management

Digital Marketing · SEO Foundations

09 / Your next chapter

A website to manage? A team to move forward? Something to build?

Let's talk about website operations, a delivery challenge, a WordPress build, or a role where hands-on web experience and team leadership can make a difference.

STRAIGHT TO SHAFI shafi97.ca@gmail.com
LinkedIn ↗
+1 226 977 9874

ON THE DESK / FOCUS MODE A little rhythm. A lot of focus.

What I listen to while I design, build, troubleshoot, and keep website work moving.

Open in Spotify ↗
What brings you here?
0 / 4,000 · at least 20 characters

MY CORNER OF THE WORLDToronto
01 of 07 · Northline Service Requests
northlinefield.ca/request-service
24/7 line · 1-800-555-0142

Request service

Tell us what needs attention. Urgent requests are routed to the on-call supervisor.

wp-admin › Service Requests

TitlePriorityEmailDate
Plant 2, Hamilton: R. OseiHighr.osei@example.comSample
North Yard: M. TremblayLowm.tremblay@example.comSample

Send one, or submit it empty to see validation. In WordPress the form posts to admin-post.php and saves an nl_request post; here the row stays in your browser.

Problem

Requests came in by phone and a generic email. Site names and urgency were often missing, urgent jobs sat behind routine ones, and nobody could see a full list of what had been asked for.

Solution

A form that asks for the right details every time, saves each request as a private post, lists them in wp-admin by priority, and emails the team. A filter adds fields and an action hands requests to a CRM.

Why it's needed

Field teams can't act on "something is broken, call me." Required fields and a priority choice mean the dispatcher knows where and how fast before calling back, and the record stays with the business, not one person's inbox.

Is there something on the market?

  • Gravity Forms Basic$59 / yr1 site
  • Gravity Forms Pro$159 / yr3 sites
  • Gravity Forms Elite$259 / yrUnlimited sites
$477Saved in licence fees (estimate)Gravity Forms Pro for 3 company sites over 3 years

When to buy instead: if staff need to build lots of different forms themselves, a form builder is worth paying for. This plugin suits one or two forms that rarely change.

USD list prices, Nov 2026: Capterra, Gravity Forms pricing

02 of 07 · Ridgeway Work Orders
ridgewaymaintenance.ca/planner/this-week
Ridgeway Planner Week 46 · sample data

Drag a card to another day, or use its "Move to" menu. The hours bar turns amber, then red, as a day passes 16 crew hours. Inside WordPress the same script reads and saves through /wp-json/ridgeway/v1/work-orders.

Problem

The week was planned on a whiteboard. Overbooked days only showed up mid-week, emergencies waited in a pile nobody was watching, and the plan wasn't visible to anyone off site.

Solution

Work orders live in WordPress. The board shows each day's booked hours against crew capacity, counts emergencies still in the backlog, and saves each move through the REST API.

Why it's needed

Overloading a day means jobs slip and overtime climbs. Seeing the load before Monday lets a planner move routine work and keep space for breakdowns.

Is there something on the market?

  • MaintainX Essential$25 / user / moFull CMMS with mobile app
  • MaintainX Premium$75 / user / moHigher tier
$1,500Saved per year (estimate)5 planners on MaintainX Essential × $25 × 12 months

When to buy instead: a full CMMS also handles technicians' mobile work, preventive schedules and parts. This board only covers weekly planning for a team that already keeps work orders on its site. For a whole maintenance department, buy the CMMS.

USD list prices, Nov 2026: Toolradar, MaintainX pricing

03 of 07 · Schema Kit
wp-admin/options-general.php?page=schema-kit
Schema Kit

Search preview

Checks

    JSON-LD output

    Edit any field and the graph, checks and preview update as you type. Try a phone number without +1 or a title over 60 characters. The business shown is example data.

    Problem

    Many small business sites have no structured data at all, or two plugins printing different versions of it. Search engines then can't read the business name, address, phone and hours reliably.

    Solution

    One plugin owns the graph. Staff fill a settings screen, the plugin prints a single JSON-LD block, and checks flag weak titles, descriptions and badly formatted phone numbers or postal codes.

    Why it's needed

    Correct business details help search engines match the site to local searches. A single source also stops the duplicate or conflicting markup that creeps in when themes and plugins each add their own.

    Is there something on the market?

    • Schema Pro, annual$79 / yr$69 first year, renews at full price
    • Schema Pro, lifetime$249 once$229 on offer
    $237Saved in licence fees (estimate)Schema Pro annual plan at full price over 3 years

    When to buy instead: paid schema plugins cover dozens of types (recipes, events, courses) with field mapping. If a site needs many types, buy. For one local business graph, this is smaller and easier to audit.

    USD list prices, Nov 2026: Schema Pro pricing page

    04 of 07 · Harbour & Pine
    Preview at
    harbourandpine.ca/menu
    Port Stanley · Lake Erie

    Lake fish, wood fire and a long table.

    Seasonal plates from Ontario farms and the morning catch. Open Wednesday to Sunday from 5 pm.

    Hours
    Wed to Sun, 5 pm to 10 pm
    Address
    12 Main St, Port Stanley
    Reservations
    519-555-0110

    Tonight's menu

    • Smoked whitefish dip

      $16

      Rye crisps, pickled shallot, dill oil

      Local catch
    • Charred leeks

      $14

      Hazelnut romesco, aged gouda

      Vegetarian
    • Lake Erie perch

      $32

      Brown butter, capers, new potatoes

      Local catch
    • Wood-fired half chicken

      $29

      Maple glaze, roasted roots, jus

      House favourite
    • Butter tart, made properly

      $11

      Raisins on request, crème fraîche

      Vegetarian
    • Wild blueberry crumble

      $12

      Oat streusel, vanilla ice cream

      Seasonal

    Before you visit

    Do you take walk-ins?

    Yes, the bar and patio are kept for walk-ins every night.

    Can you handle allergies?

    Tell us when you book and the kitchen will plan around it.

    Is there parking?

    Free lot behind the building, plus street parking on Main.

    Harbour & Pine

    Fictional demo brand

    Visit

    12 Main St, Port Stanley, ON

    Hours

    Wed to Sun, 5 pm to 10 pm

    Switch the width to see the navigation collapse into a menu button and the dishes drop to one column. The layout responds to the frame itself through container queries.

    Problem

    The menu was a block of text edited in a page builder, changes to the parent theme were wiped out on every update, and the site loaded a third-party menu widget plus scripts it never used.

    Solution

    A child theme holds every change. Dishes are their own post type with a course filter, scripts load deferred, unused scripts are removed, and the layout is built in SCSS with container queries.

    Why it's needed

    Most restaurant visitors are on a phone looking for the menu and hours. Menu items saved as real content are faster to load, easier for staff to update and readable by search engines.

    Is there something on the market?

    • Elfsight Restaurant Menu, Basic$5 / moBilled yearly, 5,000 views a month
    • Elfsight Restaurant Menu, Pro$10 / moBilled yearly, 50,000 views a month
    $180Saved in widget fees (estimate)Elfsight Basic plan over 3 years

    The bigger win: no outside widget script on every page, and the menu lives in WordPress where search engines can read it. A widget is fine for a site with no developer to maintain it.

    USD list prices, Nov 2026: Elfsight pricing page

    05 of 07 · Deskmate
    deskmate.internal/queue
    Deskmate Replay of a sample run

    Open tickets

    Pick a ticket and run the agent. The steps replay a scripted sample run so the page needs no API key; the real script in agent.mjs makes these calls live.

    Problem

    Web support queues fill with the same questions: site down after a domain move, "not secure" warnings, email gone after a migration. The first ten minutes of each ticket are spent running the same lookups by hand.

    Solution

    The agent runs those lookups the moment a ticket arrives, matches the result to a runbook entry and drafts a plain-language reply with the evidence attached. A person checks it and sends.

    Why it's needed

    A site-down ticket that waits behind content edits costs the customer sales. Sorting by real impact, with checks already done, gets urgent issues to the right person faster.

    Is there something on the market?

    • Intercom Fin AI Agent$0.99 / resolutionAnswers customers directly in chat and email
    $2,376Saved per year at list price (estimate)200 resolutions a month × $0.99 × 12. Deskmate pays only model usage.

    Not a straight swap: Fin replies to customers on its own; Deskmate is internal and a person sends every reply. Teams that want hands-off customer answers should look at Fin.

    USD list price, Nov 2026: Intercom help centre, Fin pricing

    06 of 07 · AltPilot
    wp-admin/upload.php?altpilot=review

    Media Library · Alt text review

    0 of 4 have alt text

    Run it, then edit or approve each suggestion. Results here are pre-written for the sample images; the plugin gets them from the model and saves to _wp_attachment_image_alt.

    Problem

    Sites collect hundreds of images with empty alt text. Screen reader users hear file names, image search has nothing to read, and writing them all by hand is the job everyone puts off.

    Solution

    Every new upload gets a draft description within seconds, written for the page it sits on. Editors see what was written by AI and approve or fix it. One command clears the old backlog.

    Why it's needed

    Alt text is a basic accessibility requirement under standards like WCAG, which Ontario's AODA points to for many organisations' websites. It also gives search engines words to match images to.

    Is there something on the market?

    • AltText.ai Bronze$5 / mo100 images a month
    • AltText.ai Silver$19 / mo500 images a month
    • AltText.ai Gold$59 / mo2,000 images a month
    $119Saved in the first year (estimate)One Gold month ($59) for a 2,000-image backlog plus 12 months of Bronze ($60)

    Honest view: the saving is modest, and model usage still costs a little. The real value is control: your prompt, your page context and a review step built into WordPress.

    USD list prices, Nov 2026: AltText.ai pricing page

    07 of 07 · LeadFlow
    POST maplecomfort.ca/api/lead
    Try:
    1 · Read the message
    status
    waiting
    2 · Decide the route
    Emergency: Slack #dispatch + HubSpot
    Normal: HubSpot + Slack #new-leads
    Spam: logged, nothing sent
    3 · What the team sees
    Nothing yet.

    Type your own message or pick a sample. In this demo a keyword fallback reads the message in your browser; the deployed function uses the model for step 1 and the same decideRoute() rules for step 2.

    Problem

    Website leads land in a shared inbox. A "no heat, kids at home" message can sit for hours next to spam and quote requests, and someone retypes every lead into the CRM.

    Solution

    Each message is read the moment it is sent. Emergencies ping dispatch in Slack, every real lead becomes a HubSpot contact with a one-line summary, and spam goes nowhere.

    Why it's needed

    For home services, the first company to call back usually gets the job. Routing by urgency and skipping manual data entry gives the team back time and gets emergencies answered first.

    Is there something on the market?

    • Zapier Professional$19.99 / moBilled yearly, 750 tasks a month
    • Zapier Team$69 / moBilled yearly, team plan
    $240Saved per year (estimate)Zapier Professional: 750 tasks covers about 250 leads a month at 3 tasks each (AI step, HubSpot, Slack)

    When to buy instead: Zapier lets non-developers change the steps themselves. This function needs a developer to edit, but runs on hosting the site already has and keeps lead data in fewer places.

    USD list prices, Nov 2026: Zapier pricing guide

    shafi.
    Get in touch ↗