AI & Software

Experience

Bemco Machine Works Ltd. · Wrench Digital

Manufacturing Intern

Bemco Machine Works LTD. · Mississauga, ON  ·  May 2025 – Aug. 2025, May 2026 – Aug. 2026
  • Designed and deployed a production quality-control system replacing an entirely paper-based inspection workflow, now used daily by 6 machinists across 5 tablets and the front office to document ~10 work orders per day.
  • Built a full-stack React application on Cloudflare Pages, Workers, D1, and R2, implementing PIN-based user authentication, role-based permissions, and device-level access control for shop-floor kiosks.
  • Engineered an automated tolerance-verification engine that parses mixed dimensional formats (decimals, fractions, one-sided and bilateral tolerances) and hard-stops production when a reading falls out of spec, replacing manual sign-off with enforced verification.
  • Architected a three-stage inspection pipeline (casting → inspection report → QA-approved-to-ship) with blind inspector verification, preventing operators’ readings from being visible during independent re-measurement.
  • Machined precision components on CNC mills and manual lathes to ±0.001 in., and reverse-engineered legacy parts into SolidWorks drawings released to production. That shop-floor work is what the QC system was built on.
The application
Office work order entry. Customer, drawing, revision, casting count
1 / 4
Access control and enforced verification
Role enforcement. The system tracks who entered the original readings and refuses to let them self-verify.
1 / 4
Generated records
Sampling logic. 10% of parts, minimum one, escalating to 100% on a failure
1 / 3

Stack

React on Cloudflare Pages, Workers for the API, D1 (SQLite) for records, R2 for stored documents. PIN authentication with role-based permissions, and device-level access control, so a shop-floor tablet only sees its own scope.

Screens shown use demonstration data. The same system is covered from the quality side under Experience › Mechanical.

Web Developer (Contract)

Bemco Machine Works LTD. · Mississauga, ON  ·  May 2026
  • Bemco asked me to build them a website while I was still working in the shop. I built a full multi-page site in HTML, CSS and JavaScript on Cloudflare Pages, and handled the hosting migration and the DNS and email recommendations that came with it.
  • Capabilities pages, a product gallery and a contact form, and it works on a phone.
https://bemcomachine.caOpen site ↗

BEMCO Machine Works Ltd. The first site I was paid to build, and the one the business came out of.

BEMCO Machine Works Ltd. The shop I interned at hired me for a second and unrelated thing, which I took as a reasonable signal.

Founder

Wrench Digital · Mississauga, ON  ·  May 2026 – Present
  • Building that site is what started the business. I set up Wrench Digital as a web design business for small trades companies in the GTA, priced as a one-time build fee plus $25 a month for hosting.
  • However, the hard part wasn't building the sites. It was setting the price low enough that a small shop would say yes and high enough to cover hosting and my time.
https://wrenchdigital.caOpen site ↗

Wrench Digital. Services, pricing, portfolio and a quote form, hand-coded and running on Cloudflare Pages.

Wrench Digital. Written from scratch in HTML, CSS and JavaScript. Multiple pages, a lead capture form, and Stripe checkout for the fixed-price packages.

SiteGap

Internal tool for Wrench Digital  ·  2026
  • Finding clients was the slow part, so I built the tool that does it. SiteGap searches an area for local businesses with no web presence, scores them, and lists them as leads.
  • It writes a cold email or a call script for each one, auto-generates a demo site so there is something to show before they decide, and takes a lead through a Stripe checkout.
  • Built on Cloudflare Workers, D1, Next.js and SerpAPI, with the outreach generated through the Anthropic Claude API.
https://sitegap.pages.devOpen site ↗

SiteGap. Find businesses with no website, then close them.

SiteGap. The landing page is public. The dashboard behind it holds the lead table, the generated emails and call scripts, the demo builder and the outreach tracker.