Enterprise AI Automation · Vancouver, BC

Raymond Huang

I ran IT, cloud and security for 20 years, mostly at companies that had to pass audits. These days I run my own small business on AI agents I built myself. Now I'd like to do that work for other teams, on contract, by project or as a permanent hire.

20+ yrsin IT, cloud and security
100+scheduled AI jobs running daily
4,300+articles searchable by a member AI assistant
600+cruise sailings priced automatically

Selected work

Everything below runs in my own business today. The numbers are from my own logs, not an outside audit.

01Running four businesses alone

I run a content site, a paid membership community, a travel advisory practice and a lead-generation site, by myself. That only works because of this:

  • About 60 Claude Code skills. Each one is a job I used to do by hand: writing a draft, looking up prices, answering an inquiry, sending renewal reminders.
  • 100+ scheduled tasks run those skills with nobody watching. Results, failures and anything that needs my approval show up in Slack.
  • Not every job needs the expensive model. Opus gets the hard reasoning, Sonnet the routine work, OpenAI Codex the read-only research, and a good share of it is plain Python with no model at all.
Claude CodePythonPowerShellTask SchedulerMCPSlack

02Closing a paid-content leak in a RAG assistant

My membership site has an AI assistant that answers questions from 4,300+ articles (about 14,000 vector chunks) and five community chat archives. What it will answer depends on the member's tier.

While testing it I found a problem. The paywall only existed on the web page. The assistant searched the vector index directly, and the index had no idea which articles were paid, so anyone could read paid content just by asking the assistant.

What I changed:

  • Every chunk carries a permission tag, and search results are filtered on it before any text is sent to the model.
  • Tags are re-applied after each content refresh. If an article can't be fetched, ingestion fails closed instead of treating it as public.
  • A regression test asks the same questions as each member tier and checks what comes back.
After the fix: 0 unprotected chunks across 84 paid articles. I also brought average response time down from 14.3s to 11.1s (22%) and added streaming.
FastAPIQdrantOpenAI embeddingsClaudeWordPress pluginHMAC sessionsCloudflare Tunnel

03Live travel pricing

Travel prices sit behind trade portals that need a login, and they change every day. I couldn't keep up by hand, and the price pages I had published kept going out of date.

  • Browser automation runs in my own authorized accounts, and slowly. When a portal has its own internal endpoints, the script calls them from inside the logged-in page instead of clicking through screens.
  • This keeps several price lists current: 600+ cruise sailings, 20 flight routes, all-inclusive packages and resort deals. Whatever was checked longest ago gets checked next, so request volume stays low.
  • A price from search isn't trusted until the script has taken it all the way to the payment page. Some prices show up in search but can't actually be booked.
Rewriting one portal flow took a 20-hotel search from over a minute to about 26 seconds. Bookings always stop at the payment page and wait for me.
Chrome DevTools ProtocolPlaywrightPythonStatic site generation

04Watching for changes

  • Credit-card offers: every day it checks 20 issuer pages against what my articles say, drafts the edit and posts the diff to Slack. If it can't read a page reliably, it asks me instead of guessing.
  • Industry news: every 3 hours it reads 7 RSS feeds, looking for promotions that change an existing article.
  • Award seats: a daily report built on a third-party API capped at 1,000 calls a day. Queries are batched, and later features reuse data already pulled, so they cost no extra calls.
PythonRSSREST APIsSlack

05Membership and community

  • Renewals: a Google Sheet is the source of truth. Each member gets one reminder, sent through an email API with SMTP as backup, and the status is written back to the sheet.
  • Community mining: every day an LLM reads five member chat groups (316K messages archived so far) and flags what might be worth writing about. I decide what gets published.
  • Knowledge archive: 722 data points reported by members, organized so they can be searched. New ones are added every two weeks.
Google Sheets APIResendLLM classification

06Other experiments

  • cpptool.ca: a CPP retirement calculator in 6 languages. It's a static site, so there's no backend to pay for.
  • Also a Manifest V3 Chrome extension, and a text-to-image-to-video test with FLUX and Kling.

How I build

I spent a long time in security and audit, and it shows in what I let AI do on its own.

  • A person signs off on payments, client emails and new articles. Only routine data refreshes go out without me.
  • Facts and prices are checked against the source before anything goes live.
  • Secondary models run read-only, each API token works on one site only, and agents archive files rather than delete them.
  • I pick the cheapest tool that can do the job, and rate-limited APIs get batched queries.

What I can help with

Contract, project or permanent. Remote, hybrid, or on site in Metro Vancouver.

Automating repetitive work

Find out where your team's hours go, then automate the parts that pay off most with LLM agents and scheduled jobs.

RAG assistants that respect permissions

Assistants over your internal documents, with access checked at retrieval and tested for each role.

Getting data out of systems with no API

Browser and API automation for portals that won't export, with monitoring so you know when something breaks.

AI governance

Usage policy, approval steps and audit trails. I wrote the corporate AI policy in my last IT management job.

Background

B.Sc. Computer Science · ISO 27001, SOX and GDPR programs · AWS multi-region operations

  • 2026 – presentFounder & Applied AI BuilderTravel media, membership and travel advisory business, run on my own AI automation stack
  • 2022 – 2026Senior IT ManagerHealth research funder. Led the corporate AI policy, Azure and Microsoft 365, vendor risk and IT budget
  • 2021 – 2022Governance, Risk & Compliance ManagerGlobal water-quality group. SOX program, vendor security assessments, privacy
  • 2017 – 2020Technical Operations ManagerCloud operations and information security for a global SaaS: AWS in the Americas, EMEA and APAC; 99.95% uptime; 100+ external audits
  • 2001 – 2017IT Manager · Operations Team Lead · Systems AdministratorProduction environments, disaster recovery, team leadership

Get in touch

If your team has a process that eats hours every week, or an AI pilot that needs to get into production safely, email me a few lines about it.