Systems and standalone tools I've designed and built myself, end to end — no developer, no team. Automations that run a workflow on their own, and browser tools that each solve one real problem.
Workflows that read their own data and act on it, on a schedule or as records change.
A compliance-gated approval workflow for healthcare ad copy: a regex check, an AI check, a guarded status path with a full audit log, and a per-client SLA. Built on Airtable's free plan.
Healthcare ads fail on two kinds of risk: claims a regulator or ad platform would reject, and the client's own brand rules. The usual setup is a shared sheet, a status column anyone can overwrite and an approval history buried in email. Here every asset passes a regex for forbidden terms, then an AI check for the claims a regex can't see. The AI flags and never decides: a high-risk asset reaches the client only with a written, logged override reason.
Airtable can't refuse a save, so a transition guard detects invalid status changes, reverts them within seconds and logs every move. On 30 synthetic assets, the regex alone caught 8 of 15 non-compliant ones; regex plus AI caught all 15, with no false flags on clean copy. It's a consistency check on a small synthetic set, not a benchmark.
An Airtable ops system for campaign planning — linked data, two daily automations, and an AI field that writes the next action for each campaign.
Campaign plans live in one place, content status in another, and the campaign about to launch without its content ready gets noticed on launch day. Campaign Tracker links every content piece to its campaign and does the checking itself: a conditional rollup scores content readiness, one daily automation moves campaigns live on their launch date, another emails only when content is overdue. A dashboard, a timeline and a content view sit on top, shared as read-only live views.
An AI field writes the next action for each campaign. Testing it against edge cases showed the model ignoring its own 14-day urgency rule, so the rule moved into a formula: the base computes urgency, the model only writes the sentence. Demo data.
A self-hosted n8n workflow that reads a knowledge vault every Monday and sends one Telegram message: decisions logged last week, notes nobody has touched in a month.
A knowledge base only works if someone notices what's drifting. Weekly Digest runs on a Monday schedule: two parallel branches read the Projects and Decisions folders of an Obsidian vault from disk, extract the text, and filter it in code nodes — decisions logged in the last seven days, project notes untouched for more than 30. A merge node joins the two lists and a final node composes a single Telegram message.
It runs in Docker on my own machine, with no cloud service and no paid tier, so the vault never leaves the computer. A week with no new decisions still sends the stale-notes list, which turns the digest into a maintenance reminder rather than a notification nobody reads.
Each one runs entirely in the browser and ships with nothing to install.
Audit your Meta tracking setup, generate Pixel + CAPI code with deduplication pre-wired, and export a ready-to-import GTM container.
Most marketers find out their Meta tracking is broken only when performance drops or Events Manager starts throwing warnings. Pixel & CAPI Studio turns tracking setup into a proactive workflow across three tabs. Audit runs a questionnaire over nine standard Meta events and returns a 0–100 health score — explicit four-component formula, prioritized issue list, one-click jump to the fix. Implement generates the base code, browser snippet and CAPI payload for any standard or custom event, with required parameters flagged as TODOs. GTM Export packages the full event set into a container JSON ready to import via Admin → Import Container — base Pixel tag, per-event tags, triggers and reusable variables included.
Every browser snippet and server payload shares the same event_id strategy, so deduplication keeps working instead of Meta counting conversions twice. Everything runs client-side. No signup, no server, no data leaves the browser.
Build clean UTM tracking URLs, then audit existing campaigns for the naming inconsistencies that quietly break attribution.
Marketers build UTM links by hand or half-remember their own naming conventions, so "Meta", "meta" and "facebook" end up as three different sources in the same GA4 property. UTM Builder Pro fixes both ends of that problem: the Build tab generates clean, correctly-formatted tracking URLs from a simple form, with A/B variant support and optional Bitly shortening. The Audit tab scans a CSV export — or your own activity log — and clusters inconsistent source, medium and campaign values using a built-in synonym dictionary and fuzzy matching, so drift gets caught before it wrecks a quarter of reporting.
Everything runs client-side. No signup, no server, no data leaves the browser.
Snapshot, consolidate, extract — and watch over Google Sheets data, on autopilot. Runs entirely inside your own Google account.
Shared Google Sheets get used as databases but don't behave like one — anyone with access can overwrite a cell, and yesterday's data is simply gone. Consolidating several sheets means fragile IMPORTRANGE chains or paid connectors. Sheet Vault is one Apps Script engine with five outputs: immutable, timestamped CSV snapshots archived on Drive; a unified DATA table rebuilt from those snapshots with type normalization and header-based column matching, so schema drift gets caught instead of silently imported; curated CSV extracts with filters and split-by-group; row-level history and diff between any two runs; and an optional Sentinel that emails when a run errors or a source suddenly loses a large share of its rows.
Scheduling lives in a spreadsheet tab, not in code — fill the AUTOMATIONS rows and sync — and a _latest folder keeps DATA.csv and every extract fresh at a permanent link, ready for Looker Studio or a CRM's daily import. Sources are strictly read-only, and the code contains no external calls at all: nothing ever leaves the Google account, and that's verifiable in a single commented, MIT-licensed file.
A content linter for the web — structure, readability, formatting, SEO and accessibility, checked before anything goes near publish.
Most writing tools hand back a single opaque score. Housestyle gives back a prioritized list instead — Critical, Warning, Suggestion — click any item and it jumps straight to where it is, in the article or in the relevant field. What's mechanically fixable gets a before/after preview and a one-click apply; what needs judgment gets flagged, never silently rewritten.
The editorial standard itself is configurable, not hardcoded — sentence length, passive voice, SEO ranges, minimum headings — with four starting presets and a "suggest from my draft" option that reads actual writing instead of guessing intentions. Runs entirely client-side; no AI required for any of it to work.
Checks product images against Amazon's 8 official main-image requirements — instantly, in the browser, no AI or API involved.
Five of Amazon's eight main-image requirements are things a computer can actually verify — pure white background, frame fill, no decorative borders, full visibility, resolution and sharpness — so the tool checks those automatically via canvas pixel analysis the moment an image is uploaded. The other three need a human eye (no text or props, photographic rather than illustrated), so they're presented as guided checkboxes instead of a fake automated verdict. Every failed check comes with a specific, actionable fix.
No image data is ever uploaded, transmitted or stored — everything happens locally in the browser.
Turns a platform and an objective into a structured video script — grounded in a knowledge base of your real voice, not generic AI copy.
16 narrative structures, one per platform-and-objective combination — a Meta Ads problem-agitation script isn't built the same way as a LinkedIn point-of-view post, and the tool treats them as genuinely different architectures, not the same template reworded. A Knowledge Base stores background, proof points and a few reference scripts so the model writes in an actual voice instead of generating what sounds like everyone else's ad copy. A built-in teleprompter with keyboard shortcuts means recording can start right after.
Ships as a standalone HTML file supporting Gemini, Claude or GPT-4o, or as a React artifact that runs inside Claude.ai directly, no API key needed.
Converts Instagram shortcodes to numeric media IDs and back, in batch — for anyone who works with Meta's APIs and Ads Manager.
Every Instagram post has more than one identifier depending on which Meta system is looking at it, and converting between the shortcode in a URL and the legacy numeric ID isn't something you can do by hand. This tool does it in both directions, for as many items as you paste at once, auto-detecting whether you gave it a URL, a shortcode or an ID. It also flags Facebook's newer pfbid links as explicitly non-reversible rather than silently failing on them — Meta has said those are designed to rotate and resist exactly this kind of decoding.
Built on JavaScript's BigInt, since Instagram's media IDs regularly exceed what a standard Number can represent safely.
If a recurring problem doesn't have a tool yet, I build one.
Get in touch →