Sign in

John F Morton

@johnfmorton.bsky.social
512 followers 2.5K following 136 posts

Long-time geek. I love Web dev, Craft CMS, audio and accessibility. I’m also an elected voter registrar in Warren, CT. Go Democracy! Blog: supergeekery.com

PostsRepliesMedia
John F Morton @johnfmorton.bsky.social · 02/09/2026
Bespoken 5.4.0 for Craft CMS is out: narrate your entries with ElevenLabs or your own self-hosted Alias TTS server (open source, voice cloning, pay per use), and edit the narration script before generating. ▶️ youtu.be/O2-0vwSqUMg 🔗 github.com/johnfmorton/... Plugin: plugins.craftcms.com/bespoken
youtu.be
Bespoken update Sept 2, 2026 - Editable previews
YouTube video by John F Morton
010
John F Morton @johnfmorton.bsky.social · 02/08/2026
LLM Ready 1.6.0 for #craftcms: AI-bot User-Agent detection now defaults to off — varying a canonical URL's response by UA is how shared caches get poisoned. Crawlers still get Markdown via /llms.txt + .md URLs. Also: SEOmatic/Ether SEO noindex respected. plugins.craftcms.com/llm-ready
plugins.craftcms.com
LLM Ready
Serve Markdown versions of your Craft CMS pages to AI crawlers and LLMs via .md URLs, content negotiation, and user-agent detection.
131
John F Morton @johnfmorton.bsky.social · 10/07/2026
LLM Ready for @craftcms.com turns your pages into clean Markdown for AI. The question I keep circling: should that Markdown say anything different than the HTML? "No, but maybe..." supergeekery.com/blog/designi...
supergeekery.com
Designing Better Markdown for LLMs - SuperGeekery
The LLM Ready plugin turns Craft CMS pages into clean Markdown for AI, no second set of templates required. But should that Markdown differ from the HTML? My case for the abstract: a short, factual pa...
011
John F Morton @johnfmorton.bsky.social · 12/06/2026
LLM Ready 1.5.0 for Craft CMS is out. Refreshed the built-in AI bot list (thanks Dario!): added Claude-SearchBot, Claude-User, Perplexity-User and Meta's agents, dropped stale ones. New settings let you fully customize the list. plugins.craftcms.com/llm-ready?cr...
plugins.craftcms.com
LLM Ready
Serve Markdown versions of your Craft CMS pages to AI crawlers and LLMs via .md URLs, content negotiation, and user-agent detection.
000
John F Morton @johnfmorton.bsky.social · 07/06/2026
LLM Ready 1.4.0 for Craft CMS. Serve Markdown versions to AI crawlers. NEW FEATURES: pull descriptions natively from SEOmatic, Ether SEO, SEOmate, or SEO Fields. Plus a dashboard widget, front-matter overrides, and HTTP Link header injection. #craftcms plugins.craftcms.com/llm-ready?cr...
plugins.craftcms.com
LLM Ready
Serve Markdown versions of your Craft CMS pages to AI crawlers and LLMs via .md URLs, content negotiation, and user-agent detection.
030
John F Morton @johnfmorton.bsky.social · 07/06/2026
I dropped Pupeteer like it was hot. It was actually just my server overheating while generating some Critical CSS for my Craft CMS site. supergeekery.com/blog/critica...
supergeekery.com
Critical CSS without Chrome: How I traded Puppeteer for Beasties - SuperGeekery
Generate critical CSS for a Craft CMS + Vite site without Puppeteer or headless Chrome. How I replaced rollup-plugin-critical with Beasties for a simpler local DDEV setup and a more reliable productio...
010
John F Morton @johnfmorton.bsky.social · 07/04/2026
I wrote up how I'm running Google's Gemma 4 entirely on my Mac with Ollama. Five minute setup, no API keys, no data leaving my laptop. Turns out "just run it locally" is a pretty good answer for sensitive docs and spotty Wi-Fi. supergeekery.com/blog/running...
supergeekery.com
Running Google’s Gemma 4 Locally on macOS with Ollama - SuperGeekery
Learn how to run Google’s Gemma 4 locally on macOS with Ollama. No API keys, no usage limits, no data leaving your laptop. Full setup in under five minutes.
010
John F Morton @johnfmorton.bsky.social · 23/03/2026
AI crawlers are reading your site right now — and they're getting a noisy mess of HTML instead of your actual content. I built LLM Ready for Craft CMS to fix that. Clean Markdown endpoints, automatic llms.txt, zero config required. Blog post + plugin details 👇 supergeekery.com/blog/llm-rea...
supergeekery.com
LLM Ready: The Craft CMS plugin - SuperGeekery
Take control of how AI sees your Craft CMS site. LLM Ready automatically serves clean Markdown to AI crawlers, generates your llms.txt, and requires zero configuration to get started.
041
John F Morton @johnfmorton.bsky.social · 18/03/2026
Bespoken 5.3.0 is out! Big update to my Craft CMS text-to-speech plugin. Now handles long-form content — auto-chunks text, generates audio via ElevenLabs, and stitches it into one seamless MP3. Plus: credit usage display, cost estimates, + multisite support. plugins.craftcms.com/bespoken?cra...
plugins.craftcms.com
Bespoken
Customizable, high-quality text-to-speech generation for Craft CMS.
000
John F Morton @johnfmorton.bsky.social · 03/03/2026
I made a web component that turns any image into half-tone, duotone, and Technicolor effects using WebGL. One HTML tag, real-time rendering, fully customizable. Try the playground: johnfmorton.github.io/some-shade-web-component/
johnfmorton.github.io
Some Shade — WebGL Half-Tone & Duotone Shading Web Component
An interactive playground for Some Shade, a WebGL-powered web component that applies real-time half-tone and duotone shading effects to any image.
061
John F Morton @johnfmorton.bsky.social · 02/03/2026
“Good. Fast. Cheap. Pick any two.” That rule shaped my career. AI coding tools have bent it — not by replacing skill, but by amplifying it. Maybe the rule didn’t disappear. But it feels negotiable. supergeekery.com/blog/good-fa...
supergeekery.com
Good, Fast, Cheap — and What Happens When the Rule Breaks - SuperGeekery
Has AI broken the “Good, Fast, Cheap” rule? A look at how AI coding amplifies creativity and reshapes how I build apps and ideas.
000
John F Morton @johnfmorton.bsky.social · 23/02/2026
Movie Finger Prints turns any video into a single poster — frames extracted across the full runtime, composed into a grid or quadtree mosaic. Part data viz, part artwork. Open source, cross-platform. github.com/johnfmorton/movie-finger-prints
github.com
GitHub - johnfmorton/movie-finger-prints: Generate a single poster image that visually represents an entire video using sequential frame captures and customizable layouts.
Generate a single poster image that visually represents an entire video using sequential frame captures and customizable layouts. - johnfmorton/movie-finger-prints
000
John F Morton @johnfmorton.bsky.social · 05/02/2026
I just published Login Lockdown, an AI-built Craft CMS plugin. It's free. My post is about building things quickly and letting AI amplify, not replace, developer judgment. If you’re a seasoned developer wondering where AI fits in your world, I share my thoughts. supergeekery.com/blog/login-l... #ai
supergeekery.com
Login Lockdow: an AI created Craft CMS plugin experiment - SuperGeekery
An AI-built Craft CMS plugin that locks down failed login attempts—and a look at how AI is reshaping real-world development workflows.
030
Reposted by John F Morton
Will McKinley @willmckinley.bsky.social · 31/01/2026
SCTV is on Internet Archive if you'd like to enjoy the early work of Catherine O'Hara and her fellow sketch comedy gods. S1: archive.org/details/sctv... S2: archive.org/details/sctv... S3: archive.org/details/19-m... S4-5: archive.org/details/66-s... S6 + Cinemax: archive.org/details/sctv... #TVSky
The cast of SCTV
6624691056
John F Morton @johnfmorton.bsky.social · 17/01/2026
I finally published my first TRMNL plugin: Metro North Trip Status It shows the status of the trip you take all the time, right on your TRMNL display—because that’s usually the only train info need. If you’re using TRMNL and commuting on Metro-North, here it is: usetrmnl.com/recipes/225668
usetrmnl.com
TRMNL
Community Recipe, install in 1 click.
101
John F Morton @johnfmorton.bsky.social · 17/01/2026
Just shipped v1.0.4 of Progressive Share Button 🚀 A zero-dependency Web Component for native OS share buttons via Web Share API. Demo: johnfmorton.github.io/progressive-share-button/ NPM: npmjs.com/package/progressive-share-button #webdev #javascript #webcomponents
johnfmorton.github.io
Progressive Share Button - Demo Page
020
John F Morton @johnfmorton.bsky.social · 18/12/2025
What’s with the yelling?
000
John F Morton @johnfmorton.bsky.social · 05/12/2025
For more info on the Kiroween Hackathon, you can read all about it here: kiroween.devpost.com #kiro
kiroween.devpost.com
Kiroween
Build something wicked for Kiroween, our annual Halloween-themed hackathon where developers dare to code in dark mode
010
John F Morton @johnfmorton.bsky.social · 05/12/2025
The third app is the Poll Worker Signup. It's a web app that is designed to make it easy for people in my town to sign up and volunteer for working during elections. It features email confirmations for people who sign up and verification and CSV export for the admin user. github.com/johnfmorton/...
github.com
GitHub - johnfmorton/poll-worker-sign-up
Contribute to johnfmorton/poll-worker-sign-up development by creating an account on GitHub.
100
John F Morton @johnfmorton.bsky.social · 05/12/2025
The second sample app is the Pen Plotter Playground. It's a creative workspace for creating SVG graphics that can be used on a pen plotter for generative art work. It does work on a remote server, but it's designed to be used on your local machine. github.com/johnfmorton/...
github.com
GitHub - johnfmorton/pen-plotter-project: A workspace for hand-crafted SVGs with live preview and instant file saving.
A workspace for hand-crafted SVGs with live preview and instant file saving. - johnfmorton/pen-plotter-project
110
John F Morton @johnfmorton.bsky.social · 05/12/2025
As part of the hackathon, I've created three apps as a proof of concept that show that my starter kit actually works. The first is Uptimer. A self-hosted site monitoring application. It sends email and phone notifications (via Pushover) when your site goes down. devpost.com/software/upt...
devpost.com
Uptimer
A Laravel-based uptime monitoring application that helps you track website availability and receive instant notifications when your sites go down or recover.
100
John F Morton @johnfmorton.bsky.social · 05/12/2025
I've just completed the Kiro Laravel Skeleton. It's a starter kit for working with #laravel and #kiro. It includes refined spec docs to make your Laravel code clean, organized and well-documente. I've entered this into the Kiroween hackathon. devpost.com/software/kir...
devpost.com
Kiro Laravel Skeleton
Kiro Laravel Skeleton is a starter kit with refined Kiro specs for pro-level Laravel development. It features DDEV, Vite, Tailwind, Mailpit, and hot-module reloading. No setup. Just clone and create!
110
Reposted by John F Morton
Jen Rubin @jenrubin.bsky.social · 11/11/2025
Even if not pushing for this debacle, Minority Leader Chuck Schumer’s inability to hold his caucus is proof positive he is the wrong leader for this time.
44643132
Reposted by John F Morton
Unusual Whales @unusualwhales.bsky.social · 10/11/2025
BREAKING: Democratic Representative Ro Khanna has said: "Senator Schumer is no longer effective and should be replaced"
41976172
Reposted by John F Morton
mjs @the-silver-lining.bsky.social · 10/11/2025
The pain of the shutdown was for nothing. They'll never extend the credits now (at least not without an abortion ban), and you've taught them you'll bail them out every time.
396342
Reposted by John F Morton
ChrisO_wiki @chriso-wiki.bsky.social · 09/11/2025
1/ The US Government has quietly removed a memorial to Black soldiers who died in World War II from the Netherlands American Cemetery in Margraten, South Limburg. The move follows a complaint from the right-wing Heritage Foundation to the American Battle Monuments Commission. ⬇️
868109757230
John F Morton @johnfmorton.bsky.social · 06/11/2025
I won the top spot in the Code with Kiro Hackathon with Upload Drive-In. It solves a common friction point: collecting files from people who aren’t inside your system. Simple upload page → files go right to Google Drive. Interested? Get in touch! devpost.com/software/upl...
devpost.com
Upload Drive-In
Upload Drive-In is a self-hosted web service that makes accepting files of any size for your organization an easy and robust process for both your team and your clients.
010
John F Morton @johnfmorton.bsky.social · 15/09/2025
Just wrapped my final hackathon sprint: Upload Drive-In. A Laravel app that makes big file uploads as easy as drag & drop, landing straight in your Google Drive. Hackathon project page: devpost.com/software/upl... No more email attachments. No more “link expired.” Just drop it off at the Drive-In.
devpost.com
Upload Drive-In
Upload Drive-In is a self-hosted web service that makes accepting files of any size for your organization an easy and robust process for both your team and your clients.
030
John F Morton @johnfmorton.bsky.social · 04/09/2025
My video intro to Upload Drive-In is posted. Whew! The video was probably harder than the development work. 🙃 @kirodotdev #hookedonkiro www.youtube.com/watch?v=DiuX...
youtube.com
Upload Drive-In, a self-hosted file upload service that integrates w Google Drive. h/t Kiro IDE.
YouTube video by John Morton
000
Reposted by John F Morton
Tim Kelty @timkelty.bsky.social · 03/09/2025
Worth mentioning the similar, but different `BasicHttpAuthStatic`: craftcms.com/docs/5.x/ref...
craftcms.com
Application Configuration | Craft CMS Documentation | 5.x
Customize and extend core application components.
121
Reposted by John F Morton
Angie @angieherrera.bsky.social · 02/09/2025
New blog post: Password-protect individual Craft CMS 5 pages without plugins! 🔒 Uses native sessions, super simple for content managers to use. Based on a Craft 3 tutorial but updated for v5. Perfect for keeping looky-loos out of exclusive content.
block81.com
152
John F Morton @johnfmorton.bsky.social · 02/09/2025
I will do that!
010
John F Morton @johnfmorton.bsky.social · 02/09/2025
It’s built on Laravel. It includes support for multiple employees in the company. Email notifications for both clients and employees for file uploads. Self organizing of files in Google Drive.
110
John F Morton @johnfmorton.bsky.social · 02/09/2025
It’s a self-hosted service for small businesses to accept large and sensitive files from clients that integrates with Google Drive.
110
John F Morton @johnfmorton.bsky.social · 02/09/2025
What are you building? Can you share?
100
John F Morton @johnfmorton.bsky.social · 30/08/2025
I've been working on an app using Kiro - kiro.dev. If you're a dev friend of mine, you'll know this already. Sorry for the constant kiro talk! I'm working on an app I call Upload Drive-In. I will share it here soon. @kirodotdev #hookedonkiro
kiro.dev
Kiro
Kiro is an agentic IDE that helps you go from prototype to production with spec-driven development.
230
John F Morton @johnfmorton.bsky.social · 29/08/2025
I’m giving your playlist a spin. It’s fun to dive into another’s long-running curated playlist. Thanks for sharing.
010
John F Morton @johnfmorton.bsky.social · 18/08/2025
I’m reading Tramps Like Us. Coming of age story. Starts in 1975. I’m half through in a day. Loving it.
010
Reposted by John F Morton
Marisa Kabas @marisakabas.bsky.social · 16/08/2025
While masked agents were violently attacking a delivery worker this morning, bystanders repeatedly asked to see their badge numbers but they refused. Bystander: You guys are ruining this country, you know that, right? Agent: Liberals already ruined it.
97181063281
Reposted by John F Morton
Marisa Kabas @marisakabas.bsky.social · 16/08/2025
NEW: Video shared with me from a bystander in DC shows multiple masked federal agents (at least one of whom appears to have an ICE badge) violently attacking and handcuffing a delivery worker in the street outside Bluestone Lane cafe near Logan Circle this morning. Please take care when watching.
51550112558
John F Morton @johnfmorton.bsky.social · 08/08/2025
New release: Bespoken 5.0.9 adds Redactor field support for Craft 5 sites that haven't updated to CKEditor fields. Create professional narrated audio from your content with a click of a button with ElevenLabs. #craftcms plugins.craftcms.com/bespoken?cra...
plugins.craftcms.com
Bespoken
Customizable, high-quality text-to-speech generation for Craft CMS.
020
Reposted by John F Morton
James Harrold @jamesharrold.bsky.social · 14/07/2025
Switched from WordPress to Craft CMS just over a year ago. Steep learning curve at times, but no regrets. Wrote up some of the best resources that helped me get started—hope it’s useful to other newbies too! 🔗 weareabstrakt.com/insights/cra... #CraftCMS #WebDev #CMS #FrontendDev #DevResources
weareabstrakt.com
A guide to learning Craft CMS in 2025
A guide to learning Craft CMS in 2025
0104
John F Morton @johnfmorton.bsky.social · 14/07/2025
Bespoken 5.0.8 is live. Voices can now have individual models and pronunciation rule sets. Great for multilingual sites. Backward compatible with existing setups. #craftcms plugins.craftcms.com/bespoken?cra...
plugins.craftcms.com
Bespoken
Customizable, high-quality text-to-speech generation for Craft CMS.
020
John F Morton @johnfmorton.bsky.social · 15/05/2025
Is Google a monopoly? Let’s check with the YouTube team.
A video billboard for YouTube that says, “There’s only one YouTube.”
000
John F Morton @johnfmorton.bsky.social · 26/04/2025
Two. www.nytimes.com/2025/04/25/u...
nytimes.com
2-Year-Old U.S. Citizen Deported ‘With No Meaningful Process,’ Judge Suspects
A federal judge in Louisiana said the deportation of the child to Honduras with her mother, even though her father had filed an emergency petition, appeared to be “illegal and unconstitutional.”
000
John F Morton @johnfmorton.bsky.social · 22/04/2025
Rights are not things that are up for debate. www.nytimes.com/2025/04/21/u...
nytimes.com
Same-Sex Marriage Is the Law of the Land. Some States Are Debating It Anyway. (Gift Article)
State efforts to urge the Supreme Court to reconsider same-sex marriage have not advanced, but they have reopened the issue.
011
Reposted by John F Morton
Catherine Rampell @crampell.bsky.social · 22/04/2025
Markets are now down ~14% since Trump was inaugurated. Not as bad as the recent trough under Trump, but the gap between market performance to date vs. performance in same period in earlier administrations appears to be growing
1639571
John F Morton @johnfmorton.bsky.social · 20/04/2025
Tips on Getting Great Voice Clones from ElevenLabs. supergeekery.com/blog/tips-on...
supergeekery.com
Tips on Getting Great Voice Clones from ElevenLabs - SuperGeekery
Learn how to create a natural-sounding ElevenLabs voice clone using your own writing. Get better TTS results with this simple, effective recording tip.
010
Reposted by John F Morton
Outspoken™️ @out5p0ken.bsky.social · 17/04/2025
Putin
58291441467
John F Morton @johnfmorton.bsky.social · 17/04/2025
@jimacosta.bsky.social You are rocking on Substack. It’s quickly become one of my must listen shows. Thanks.
100