Julian Holien

AI automation developer & AI consultant

I build AI automations, internal tools, data pipelines and websites for small teams and agencies. I also do paid AI consulting.

Superior, Colorado Works remotely Open to projects, contract work and part-time roles

Bring me a task your team repeats every week. I work out what to automate, what still needs a person, and what a useful first build looks like. Then I build it and keep it running.

I use AI where it helps and plain automation where that is enough. Everything I build has checks around it: source checks, a separate review, and a person's approval before anything sensitive happens.

Client websites

Three live sites

Every site is public. Open it and look around.

Client
Synsational Irrigation & Landscaping
Sector
Landscaping and irrigation
SEO
Full: a page per service, a service-area page, structured data, answer-first FAQs. Nine pages in the sitemap.
Notable
The owner's edits go live in minutes

A service business with a page for each service

synsationallandscaping.com ↗

The front page shows the work and gets the call. The detail lives on a page per service, built so search engines and AI answer engines can read what he does and where he does it.

Everything on it is the owner's own photography and his real service list. He edits his own wording through a preview screen, and an approved change is live a couple of minutes later.

The SEO. The front page stays a showcase, because that is what the owner wanted it to be. All the search depth lives underneath it: a page for each of his five services, a service-area page naming the towns he covers, a sitemap, and structured data that tells Google and the AI answer engines what the business is, what it offers, its hours and where it works. The FAQs on the service pages are written to answer the question first, so they can be quoted directly.

Why it stops there. He had no Google listing and no reviews when the site went up. Rather than invent any, the site makes no rating claims at all. The next gain for him is the listing and real reviews, not more words on the page.

Client
Just Results Personal Training
Sector
Gym and personal training
Replaced
A WordPress site on a German host
SEO
Full technical layer added October 2026: structured data on every page, sitemap, robots and llms files, clean addresses, redirects from the old URLs.

Same information, a much better site, and a real SEO layer

justresultsgym.com ↗

This was not just a move off WordPress. I cloned the information from his old site page for page, checked it against the original so nothing was lost, and rebuilt the design from scratch: a faster, cleaner five-page site that reads well on a phone, with his own photos and his real offers.

Reading the domain's settings first is what found the real problem. The domain had three address records answering in rotation, and two of them pointed at parked pages. Roughly two of every three visitors had been landing on a blank screen, and nobody had noticed.

The SEO. The old site had no canonical addresses and no structured data. The new one has both: every page carries hidden business data generated from one source file, so the hours and prices in the data can never disagree with the page. It also has a sitemap, a robots file, an llms file for AI answer engines, clean addresses, redirects from the three old WordPress addresses that Google still held, and its new pages are submitted to search engines automatically.

Why no new pages. His content and his offers were already right. The site's problems were technical, so that is what got fixed. New pages and FAQs are a separate job, and only worth doing in his own words.

Client
TheSkrewball
Sector
Sports training programs
Build
Product pages and checkout
SEO
Basic: page titles, descriptions and share previews. No sitemap or structured data yet.

Training programs, sold direct

skrewballsystem.com ↗

An arm-care and velocity training brand that sells structured programs to players and coaches. The pages carry a tiered product, explain who each path is for, and take payment without handing the visitor to something that looks like a different company.

The SEO. Basic on purpose. The brief was selling, not search: the buyers come from the coach's own audience, so the product pages and the checkout came first. Titles, descriptions and share previews are set. A sitemap and structured data are the next step if the programs should be found through search as well.

Systems I've built

Six, each with a two-page case study

I designed, built and run all six. The names and data in the pictures are made up. The numbers in the text come from the systems themselves.

Kind
AI automation
Status
The form is live. The automatic first draft is built and tested end to end on sample requests, and is being switched on.
Numbers
  • 400+ demo sites built and published
  • 27 trades it knows
  • 8 of 8 planted mistakes caught in a 13-site test
  • 15+ client sites shipped by an earlier version
Built with
Python, Node.js, Netlify Functions, Claude, headless Chrome

A client describes the website they want. The first draft builds itself.

My site builder makes a demo website from a business's public Google listing, with no form needed. When a client does fill in the form, with their photos, their logo and a written description, what they put on it wins.

One AI step turns their words into a short, checked brief. The builder applies it as a first draft and texts me what was done and what still needs a person.

The AI only fills in a brief. It can't touch the site. Colors must be real color codes, text has length limits, and anything that reads like an instruction or a link is thrown out.

Case study, 2 pages. Select a page to read it full size. Download the PDF
Kind
Data funnel with AI checks
Status
Ran in September 2026 for a white-label postcard campaign.
Numbers
  • 13,812 businesses checked in seven Colorado regions
  • 1,149 AI website checks, each re-tested by code
  • 460 qualified leads, 423 of them mailed
  • About $0.30 in data costs per qualified lead
Built with
Python, Google Places, Colorado's public business filings, address verification, Claude

13,812 map listings in. 460 businesses worth a postcard out.

A nine-step data funnel that finds local businesses with no working website, and the owner to address a card to. It checks a whole region the same way every time.

AI makes the one judgment call a script can't: does this business have a website its listing doesn't show? A separate code check then visits every site the AI reports.

Finding the owner. The shop's address is checked with the mail service before any card is paid for. Then the business is looked up in Colorado's public business filings to find the registered agent, who is usually the owner, and the address the state has on file for that person. The card is addressed to a named person at that address, which is often not the shop, so it lands with the owner instead of the front counter.

When the AI isn't sure, the answer stays "not sure". Every paid lookup is logged before it is sent, so a re-run never pays twice. Every business that drops out carries the step and the reason.

Case study, 2 pages. Select a page to read it full size. Download the PDF
Kind
Direct mail automation
Status
The 423-card run mailed on October 3, 2026. Results are not in yet.
Numbers
  • 576 personalized cards mailed, July to October 2026
  • 423 in one white-label run for two agencies
  • Under $1 per card, printed and mailed
  • 5 minutes between scan checks, all day
Built with
Python, headless Chrome, the Lob print-and-mail API, Netlify, text alerts

A postcard that shows each business its own new website.

Every card carries a picture of a website already built for that exact business, and a QR code that opens it. The cards are made, checked and mailed by code. When someone scans one, I get a text within minutes, while they are still looking.

It runs white-label. Two agencies' cards went out in each agency's own name, colors and wording from the same system, and each agency's links can only open that agency's demos.

Case study, 2 pages. Select a page to read it full size. Download the PDF
Kind
Monitoring and auto-healing
Status
Runs today on nine live client websites, their contact forms and my background jobs.
Numbers
  • Every 2 minutes: each live site is loaded and checked
  • Every 15 minutes: each contact form is checked
  • 3 tries, then it stops and texts a person
  • 6 repairs a day at most for any one system
Built with
Python, scheduled jobs on a Linux server, the hosting and email providers' APIs, text alerts

A watchdog that fixes what's safe to fix and only calls a person for the rest.

Most monitoring just sends alerts. This one checks a system the way a user would, makes sure a failure is real, rules out its own blind spots, returns the system to its last known-good state, and proves the repair worked. It stays quiet unless a person is needed.

It never acts on a request that got no answer. It can't loop. It only ever goes back to a state that was live and passing, and a change a person made is never overwritten.

Case study, 2 pages. Select a page to read it full size. Download the PDF
Kind
Email automation
Status
The client record runs on its own. Sorting has run by hand while its schedule is switched on. The reply assistant has run since August 2026 on my own outreach, which is now paused, so no real reply has needed a draft yet.
Numbers
  • 3 times a day: a client's email record saves itself
  • 131 automated tests on the reply assistant
Built with
Python, the Gmail API, Claude, a calendar API, Netlify Functions

My inbox sorts itself, saves client files, and drafts replies for my OK.

Rules file my email. Bills and notifications are filed away, client mail stays in front of me, and anything no rule matches is left alone. A client's whole email history saves itself as one transcript, with every attachment.

For my outreach, AI sorts each reply and drafts the common ones in wording I approved in advance, with two real open times from my calendar.

Nothing sends until I approve it from my phone. The AI sorts replies. It doesn't write freely, and when it isn't sure, it doesn't draft.

Case study, 2 pages. Select a page to read it full size. Download the PDF
Kind
Custom software
Status
In regular use by me and several sales reps.
Numbers
  • 7 people signing in, at three access levels
  • 9 board layouts
  • 700+ leads in the system (September 2026)
Built with
Plain HTML and JavaScript, Netlify Functions and Blobs, signed sign-in passes, an offline cache

A sales CRM where every rep sees only their own leads.

A lead board built for a small sales team. Each rep signs in and sees their own pipeline: calls, call-backs and demo links. Leads arrive by themselves from imports, website forms, postcard scans and ads, already assigned to the right person.

Access is enforced on the server, so a rep's phone never receives another rep's leads. The board keeps working without signal and sends its changes when signal comes back.

Case study, 2 pages. Select a page to read it full size. Download the PDF
Also built

AI agent workflows with review and permission gates

My daily setup runs several AI coding agents in isolated workspaces. A separate review checks each build, and the agents can't send, spend or delete without my approval.

Technical write-ups, one page each

The dense versions, for a developer or a hiring manager who wants the detail.

Automated site generation and deployment pipeline. One page. Select it to read it full size. Download the PDF
Outbound email pipeline and deliverability engineering. One page. Select it to read it full size. Download the PDF

How I work

Checks around the work

Source checks drop any claim that can't be traced to a real record. A separate review looks at each build. Sending, spending and deleting wait for a person's approval.

AI where it helps

I use AI for the judgment calls a script can't make, and plain rules everywhere else. Sometimes the right answer is a tool you already own or a simple rule, and I'll say so.

Honest status

I say what is built, what is switched on, and what hasn't produced results yet. You can see that in every case study above.

Tested by breaking it

A safety rule only counts if a test fails when the rule is removed. I break each one on purpose to make sure the test is real.

Ways to work with me

A project

A website, an automation or an internal tool. A fixed setup fee plus monthly support, agreed before I start.

White-label for agencies

I build under your brand. You keep the client relationship, and we agree up front how client contact works. You work directly with me, the person doing the work.

AI consulting

$100 per hour. The first 20-minute call is free. Bring one repeated task. We work out what to automate, what needs a person, and what a useful first build would be.

Contract or part-time

I'm open to contract work and part-time roles, remote or around Denver and Boulder.

Get in touch

The fastest way to reach me is a LinkedIn message. Tell me the task or the project in a sentence or two.

Message me on LinkedIn ↗ linkedin.com/in/julianholien
Case study