diff --git a/Makefile b/Makefile
index ccef8ff1..d2cd4ccc 100644
--- a/Makefile
+++ b/Makefile
@@ -18,6 +18,10 @@ serve: # Serve the application
npm run serve
.PHONY: serve
+talk: # Scaffold a new conference talk: make talk NAME=my-conf-2026
+ hugo new --kind conference-bundle conferences/$(NAME) --source sites/ainsley-clark
+.PHONY: talk
+
deploy-prod: # Deploy production to Vercel
vercel --prod
.PHONY: deploy-prod
diff --git a/README.md b/README.md
index ef4e42d1..f711a69b 100644
--- a/README.md
+++ b/README.md
@@ -57,6 +57,16 @@ hugo new --kind post-bundle insights/my-post
hugo new --kind portfolio-bundle portfolio/client-name
```
+**Create a new conference talk (ainsleyclark.com)**
+
+```shell
+make talk NAME=my-conf-2026
+```
+
+Then add `images/featured.jpg` and `files/slides.pdf` to the bundle, fill in the event metadata and sources, and
+generate a QR code pointing to `https://ainsleyclark.com/conferences/my-conf-2026/`. The page stays in draft (excluded
+from production builds) until `draft: false` is set, typically a day before the talk.
+
## Open Source
ainsley.dev permits the use of any HTML, SCSS and Javascript found within the repository for use with external projects.
diff --git a/sites/ainsley-clark/archetypes/conference-bundle/files/.gitkeep b/sites/ainsley-clark/archetypes/conference-bundle/files/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/sites/ainsley-clark/archetypes/conference-bundle/images/.gitkeep b/sites/ainsley-clark/archetypes/conference-bundle/images/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/sites/ainsley-clark/archetypes/conference-bundle/index.md b/sites/ainsley-clark/archetypes/conference-bundle/index.md
new file mode 100644
index 00000000..26262038
--- /dev/null
+++ b/sites/ainsley-clark/archetypes/conference-bundle/index.md
@@ -0,0 +1,28 @@
+---
+title: {{ replace .Name "-" " " | title }}
+description: A description of the talk between 120 and 160 characters for search engines and social cards.
+heading: {{ replace .Name "-" " " | title }}
+talkTitle: The Actual Title of the Talk
+lead: A short description of the talk that appears on the card and page.
+weight: 1
+publishdate: {{ dateFormat "2006-01-02" .Date }}
+pageColour: white
+draft: true # Flip to false ~a day before the talk to publish.
+tags:
+ - Go
+buttonName: View Talk
+event:
+ name: Conference Name
+ date: {{ dateFormat "2006-01-02" .Date }}
+ location: Venue, City
+ url: https://example.com/
+# video: https://www.youtube.com/watch?v=xxxx
+slides:
+ path: files/slides.pdf
+ name: {{ .Name }}-ainsley-clark.pdf
+ text: Download slides
+sources:
+ - title: 1. Source Title
+ url: https://example.com/
+ description: A short description of the source.
+---
diff --git a/sites/ainsley-clark/content/conferences/_index.md b/sites/ainsley-clark/content/conferences/_index.md
index 69385953..9c97d99f 100644
--- a/sites/ainsley-clark/content/conferences/_index.md
+++ b/sites/ainsley-clark/content/conferences/_index.md
@@ -1,3 +1,6 @@
---
title: Conference Talks
+build:
+ render: "never"
+ list: "always"
---
diff --git a/sites/ainsley-clark/content/conferences/go-guild-feb-2026/index.md b/sites/ainsley-clark/content/conferences/go-guild-feb-2026/index.md
index a7578abb..c21cc604 100644
--- a/sites/ainsley-clark/content/conferences/go-guild-feb-2026/index.md
+++ b/sites/ainsley-clark/content/conferences/go-guild-feb-2026/index.md
@@ -2,6 +2,7 @@
heading: Go Guild - Sept 2024
lead: Building Open Source Go Projects in Public with MelkeyDev. Learn how popular Go author, Melkey built go-blueprint live on twitch; with a community round up as always.
weight: 9
+publishdate: 2024-09-01
tags:
- Open Source
- Community
diff --git a/sites/ainsley-clark/content/conferences/gophercon-uk-2025/files/slides.pdf b/sites/ainsley-clark/content/conferences/gophercon-uk-2025/files/slides.pdf
new file mode 100644
index 00000000..b2b637e7
Binary files /dev/null and b/sites/ainsley-clark/content/conferences/gophercon-uk-2025/files/slides.pdf differ
diff --git a/sites/ainsley-clark/content/conferences/gophercon-uk-2025/index.md b/sites/ainsley-clark/content/conferences/gophercon-uk-2025/index.md
index e60750b1..477ed7e7 100644
--- a/sites/ainsley-clark/content/conferences/gophercon-uk-2025/index.md
+++ b/sites/ainsley-clark/content/conferences/gophercon-uk-2025/index.md
@@ -1,14 +1,29 @@
---
+title: GopherCon UK 2025 - Deploying Go Microservices in Minutes
+description: How Just Eat uses tooling to deploy Go micro-services in minutes, exploring how Go Kit helps engineers to deploy complex event-driven workflows with ease.
heading: GopherCon UK 2025
lead: How Just Eat uses tooling to deploy Go micro-services in minutes. This talk explores how Go Kit helps engineers to deploy complex event-driven workflows with ease.
weight: 1
+publishdate: 2025-08-14
+pageColour: white
+draft: false
tags:
- Go
- Microservices
- Platform Engineering
-buttonName: Watch Talk
-externalURL: https://www.youtube.com/watch?v=JnjKQZOsvcw
-build:
- render: "never"
- list: "always"
+buttonName: View Talk
+event:
+ name: GopherCon UK
+ date: 2025-08-14
+ location: The Brewery, London
+ url: https://www.gophercon.co.uk/
+video: https://www.youtube.com/watch?v=JnjKQZOsvcw
+slides:
+ path: files/slides.pdf
+ name: gophercon-uk-2025-ainsley-clark.pdf
+ text: Download slides
+# sources:
+# - title: Go Kit
+# url: https://github.com/go-kit/kit
+# description: The micro-service framework covered in the talk
---
diff --git a/sites/ainsley-clark/content/conferences/gophercon-uk-2026/files/deck.key b/sites/ainsley-clark/content/conferences/gophercon-uk-2026/files/deck.key
new file mode 100644
index 00000000..38b44ce5
Binary files /dev/null and b/sites/ainsley-clark/content/conferences/gophercon-uk-2026/files/deck.key differ
diff --git a/sites/ainsley-clark/content/conferences/gophercon-uk-2026/images/featured.jpg b/sites/ainsley-clark/content/conferences/gophercon-uk-2026/images/featured.jpg
new file mode 100644
index 00000000..16e70143
Binary files /dev/null and b/sites/ainsley-clark/content/conferences/gophercon-uk-2026/images/featured.jpg differ
diff --git a/sites/ainsley-clark/content/conferences/gophercon-uk-2026/index.md b/sites/ainsley-clark/content/conferences/gophercon-uk-2026/index.md
new file mode 100644
index 00000000..1fd09df0
--- /dev/null
+++ b/sites/ainsley-clark/content/conferences/gophercon-uk-2026/index.md
@@ -0,0 +1,70 @@
+---
+title: How to Stay Passionate in Tech in the Age of AI
+description: How AI tooling is reshaping our sense of accomplishment as engineers, and nine practical ways to reclaim your passion and craft in this new era.
+heading: GopherCon UK 2026
+talkTitle: How to Stay Passionate in Tech in the Age of AI
+lead: The lines between human and AI labour are becoming increasingly blurred. This talk explores how AI tooling is quietly reshaping our sense of accomplishment as engineers, what the research says about effort, ownership and craft, and nine practical ways to reclaim your passion in this new era.
+weight: 1
+publishdate: 2026-07-21
+pageColour: white
+draft: true # Flip to false ~a day before the talk to publish.
+tags:
+ - AI
+ - Career
+ - Craftsmanship
+buttonName: View Talk
+event:
+ name: GopherCon UK
+ date: 2026-08-13 # TODO: Confirm conference date.
+ location: The Brewery, London
+ url: https://www.gophercon.co.uk/
+slides:
+ path: files/deck.key
+ name: how-to-stay-passionate-in-tech-ainsley-clark.key
+ text: Download slides
+sources:
+ - title: 1. Breaking Engagement Apart
+ url: https://www.cambridge.org/core/journals/industrial-and-organizational-psychology/article/breaking-engagement-apart-the-role-of-intrinsic-and-extrinsic-motivation-in-engagement-strategies/A277714CC7A3FE3E94DE80F4EEBBC2EF
+ description: The role of intrinsic and extrinsic motivation in engagement strategies.
+ - title: 2. Self-Determination Theory
+ url: https://selfdeterminationtheory.org/SDT/documents/2000_RyanDeci_SDT.pdf
+ description: Deci & Ryan, 2000.
+ - title: 3. The Measurement of Experienced Burnout
+ url: https://doi.org/10.1002/job.4030020205
+ description: Maslach & Jackson, 1981. Journal of Organizational Behavior.
+ - title: 4. The Scale of AI Fatigue in 2025
+ url: https://clearing-ai.com/stats.html
+ description: A synthesis of data from various sources by Clearing AI.
+ - title: 5. The 73% Collapse
+ url: https://quasa.io/media/the-73-collapse-how-ai-is-erasing-entry-level-tech-jobs-and-rewriting-the-career-ladder
+ description: How AI is erasing entry-level tech jobs and rewriting the career ladder.
+ - title: 6. AI Sucks the Joy Out of Programming
+ url: https://alexn.org/blog/2025/10/27/ai-sucks-the-joy-out-of-programming/
+ description: Alexandru Nedelcu.
+ - title: 7. Has Anyone Lost Passion in SWE Due to AI?
+ url: https://news.ycombinator.com/item?id=45572130
+ description: Hacker News discussion.
+ - title: 8. Canaries in the Coal Mine?
+ url: https://digitaleconomy.stanford.edu/app/uploads/2025/11/CanariesintheCoalMine_Nov25.pdf
+ description: Six facts about the recent employment effects of AI. Stanford Digital Economy Lab, 2025.
+ - title: 9. The State of Psychological Ownership
+ url: https://doi.org/10.1037/1089-2680.7.1.84
+ description: Pierce, Kostova & Dirks, 2003. Review of General Psychology.
+ - title: 10. The Impact of Generative AI on Critical Thinking
+ url: https://www.microsoft.com/en-us/research/wp-content/uploads/2025/01/lee_2025_ai_critical_thinking_survey.pdf
+ description: Self-reported reductions in cognitive effort from a survey of knowledge workers. Microsoft Research.
+ - title: 11. Expecting to Teach Enhances Learning
+ url: https://pubmed.ncbi.nlm.nih.gov/24845756/
+ description: Nestojko, Bui, Kornell & Bjork, 2014. Memory & Cognition.
+ - title: 12. AI Coding Tools in 2026
+ url: https://tech-insider.org/ai-coding-tools-2026-transforming-software-development/
+ description: How generative code is transforming software development.
+ - title: 13. Stack Overflow Developer Survey 2025
+ url: https://survey.stackoverflow.co/2025/
+ description: Annual developer survey, including language salary data.
+ - title: 14. KPMG Workplace Friendships Survey
+ url: https://kpmg.com/us/en/media/news/kpmg-survey-workplace-friendships.html
+ description: Workplace friendships play a critical role in employee mental health and job satisfaction.
+---
+
+Passion isn’t found, it’s built — over time, through effort and repetition. From the IKEA effect to diary studies of AI-assisted work, this talk digs into why engineers are reporting a declining sense of craft, and shares nine practical ways to stay connected to the work: prompting with intent, post-processing, setting boundaries, building and finishing things, teaching, finding a niche, staying connected and never stopping learning.
diff --git a/sites/ainsley-clark/content/conferences/just-eat-techfest/index.md b/sites/ainsley-clark/content/conferences/just-eat-techfest/index.md
index c9c0525a..8fd1e97a 100644
--- a/sites/ainsley-clark/content/conferences/just-eat-techfest/index.md
+++ b/sites/ainsley-clark/content/conferences/just-eat-techfest/index.md
@@ -2,6 +2,7 @@
heading: JET Tech Fest
lead: A career change is daunting. Moving from hospitality into the tech industry was an uphill battle, but it led me to a field I genuinely love. If you’re trying to break into a new industry, this story may resonate.
weight: 9
+publishdate: 2023-08-01
tags:
- Career
- Soft Skills
diff --git a/sites/ainsley-clark/content/conferences/london-gophers/files/slides.pdf b/sites/ainsley-clark/content/conferences/london-gophers/files/slides.pdf
new file mode 100644
index 00000000..21fc99f9
Binary files /dev/null and b/sites/ainsley-clark/content/conferences/london-gophers/files/slides.pdf differ
diff --git a/sites/ainsley-clark/content/conferences/london-gophers/index.md b/sites/ainsley-clark/content/conferences/london-gophers/index.md
index 4790c6c9..71699299 100644
--- a/sites/ainsley-clark/content/conferences/london-gophers/index.md
+++ b/sites/ainsley-clark/content/conferences/london-gophers/index.md
@@ -1,14 +1,25 @@
---
+title: London Gophers - Deploying Go Microservices
+description: Learn how Just Eat deploys Go microservices with well crafted tooling, making sophisticated event-driven workflows faster to ship and easier to maintain.
heading: London Gophers
lead: Learn how Just Eat deploys Go microservices with well crafted tooling. Making sophisticated event-driven workflows faster to ship, easier to maintain & easier to run.
weight: 2
+publishdate: 2025-02-19
+pageColour: white
+draft: false
tags:
- Go
- Event-Driven
- Architecture
-buttonName: Watch Talk
-externalURL: https://drive.google.com/file/d/1jEjlx3S9dEaeggHuj4s1Cd_mAssn9St-/view?usp=sharing
-build:
- render: "never"
- list: "always"
+buttonName: View Talk
+event:
+ name: London Gophers
+ date: 2025-02-19
+ location: London
+ url: https://www.meetup.com/londongophers/
+video: https://drive.google.com/file/d/1jEjlx3S9dEaeggHuj4s1Cd_mAssn9St-/view?usp=sharing
+slides:
+ path: files/slides.pdf
+ name: london-gophers-ainsley-clark.pdf
+ text: Download slides
---
diff --git a/sites/ainsley-clark/layouts/conferences/card.html b/sites/ainsley-clark/layouts/conferences/card.html
index 652b4c42..1cf8d90b 100644
--- a/sites/ainsley-clark/layouts/conferences/card.html
+++ b/sites/ainsley-clark/layouts/conferences/card.html
@@ -1,8 +1,11 @@
+{{ $internal := ne .RelPermalink "" }}
{{ partial "components/featured-card.html" (dict
- "href" .Params.externalURL
+ "href" (cond $internal .RelPermalink .Params.externalURL)
"image" (.Resources.GetMatch "images/featured.*")
"imageDefault" (.Resources.GetMatch "images/featured-small.*")
"heading" .Params.heading
@@ -11,5 +14,5 @@
"buttonName" .Params.buttonName
"fullWidth" false
"numbers" false
- "external" true
+ "external" (not $internal)
)}}
diff --git a/sites/ainsley-clark/layouts/conferences/schema.html b/sites/ainsley-clark/layouts/conferences/schema.html
new file mode 100644
index 00000000..1086c764
--- /dev/null
+++ b/sites/ainsley-clark/layouts/conferences/schema.html
@@ -0,0 +1,34 @@
+
+{{ with .Params.event }}
+
+{{ end }}
diff --git a/sites/ainsley-clark/layouts/conferences/single.html b/sites/ainsley-clark/layouts/conferences/single.html
new file mode 100644
index 00000000..8178a601
--- /dev/null
+++ b/sites/ainsley-clark/layouts/conferences/single.html
@@ -0,0 +1,175 @@
+{{ define "main" }}
+
+
+ {{ . | safeHTML }}
+
+ {{ . | safeHTML }}
+
+ {{- else -}}
+ {{ warnf "No talkTitle or heading param provided to page: %s" .RelPermalink }}
+ {{- end }}
+
+ {{ with .Params.lead -}}
+ Sources & links
+ {{ range . }}
+ {{ partial "components/box-links.html" (dict
+ "link" .url
+ "heading" .title
+ "sub" .description
+ "title" (printf "Open %s" .title)
+ )}}
+ {{ end }}
+