Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions .okf/architecture/icp-journey-sipoc.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
---
type: Reference
title: "ICP Journey SIPOC: Sam's Path Through the Course"
description: Visual Mermaid flowchart of Sam's full journey through all 25 lessons, gate thresholds, branch paths, and artifact handoffs. Machine-readable and human-readable.
resource: docs/projects/2605-tech-for-non-technical-founders/30-39-architecture-design/30.05-icp-journey-sipoc.md
tags: [course, architecture, icp, journey-map]
timestamp: 2026-07-18T00:00:00Z
---

# 30.05 — ICP Journey SIPOC: Sam's Path Through the Course

**Status:** Canonical journey map — agent-parseable and human-readable
Expand Down
9 changes: 9 additions & 0 deletions .okf/architecture/operational-dependency-map.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
---
type: Reference
title: "Operational Dependency Map: How Sam Obtains Every Input"
description: Per-lesson operational prerequisites map — every tool, account, template blank, wait time, and Plan B recovery path. Confirms Sam's only original inputs are a rough idea and a Gmail address.
resource: docs/projects/2605-tech-for-non-technical-founders/30-39-architecture-design/30.06-operational-dependency-map.md
tags: [course, architecture, operations, dependencies]
timestamp: 2026-07-18T00:00:00Z
---

# 30.06 — Operational Dependency Map: How Sam Obtains Every Input

**Status:** Canonical operational dependency map
Expand Down
82 changes: 82 additions & 0 deletions .okf/content-strategy/content-plan.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
---
type: Reference
title: "Content Plan — Data-Driven Q3 2026"
description: Active 3-stream content plan based on GSC performance data (Apr–Jul 2026). Rails technical deep-dives (2/week), snippet hygiene rewrites, founder content (every other week). Supersedes 20.07.
resource: docs/projects/2510-seo-content-strategy/20-29-strategy/20.08-content-plan-data-driven-q3-2026.md
tags: [content-strategy, seo, content-plan, blog]
timestamp: 2026-07-19T18:00:00Z
---

# Overview

Supersedes the ICP-E-focused [20.07 plan](https://github.com/jetthoughts/jetthoughts.github.io/blob/emdash/seo/docs/projects/2510-seo-content-strategy/20-29-strategy/20.07-content-plan-icp-e-q2-2026.md).
Built from 3 months of GSC data (449 clicks, 478K impressions, 0.09% CTR).

**Core finding**: Every click-driving page is technical Rails/Ruby/CSS content.
Zero ICP-E founder posts rank in the top 50 pages by clicks. The old AI
framework content (langchain, crewai, autogen) gets 107K+ impressions with
near-zero CTR.

# Strategy

**Thesis**: Build search traffic through Rails technical authority, then convert
with internal links to founder-focused service pages.

Three streams:

| Stream | Frequency | Role |
|---|---|---|
| **Rails Technical** | 2/week (3 aspirational) | Search traffic + authority |
| **Snippet Hygiene** | 1-week sprint (done Jul 19) | Reclaim 107K wasted impressions |
| **Founder / ICP-E** | Every other week (6 total) | Lead gen + LinkedIn |

# Key deliverables

- **Snippet hygiene**: 5 worst 0-CTR pages had titles/metas rewritten
(langgraph 44K impr, autogen-crewai 12.2K, crewai 11.7K, langchain-memory
7.8K, laravel-11 19.2K). Projected +435 clicks/3mo.
- **Phase 1 expanders (3 of 5 done)**: Falcon Production Tuning ✅, Solid
Queue Advanced Patterns ✅, Rails 8 Authentication Generator ✅, Solid
Cache Deep Dive 🔲, Kamal 2 Multi-Server 🔲 — extending the highest-click
posts. All 3 published posts passed blog pipeline validation (voice
self-test 10/10, zero banned words, zero em dashes, Hugo build clean).
- **Bidirectional funnel**: every Rails post links to a founder post or
service page; every founder post links to 2+ Rails posts.

# Snippet hygiene rewrites (applied 2026-07-19)

| Post | Old title | New title | TL;DR |
|---|---|---|---|
| langgraph-workflows | "Mastering LangGraph: Building Complex AI Agent Workflows…" | "LangGraph Tutorial: Build AI Agents with State Machines (Python)" | ✅ |
| autogen-crewai-langgraph | "LangGraph vs CrewAI vs AutoGen: Open Source Alternatives 2025" | "LangGraph vs CrewAI vs AutoGen: Which AI Agent Framework? (2026)" | ✅ |
| crewai-multi-agent | "CrewAI Hierarchical Agents: Manager-Worker Orchestration" | "CrewAI Hierarchical Agents: Manager-Worker Pattern" | ✅ |
| langchain-memory | "Building Stateful Conversational AI with LangChain Memory Systems" | "LangChain Memory: Conversation History with Python" | ✅ |
| laravel-11-migration | "Laravel 11 Migration Guide: Complete Production Deployment Strategies" | "Laravel 11 Upgrade Guide: Step-by-Step Migration" | ✅ |

# Phase 1 expanders — published (2026-07-19)

| # | Post | Slug | Status |
|---|---|---|---|
| E1 | Falcon in Production: Benchmarks, Memory & Worker Count | `falcon-web-server-production-tuning-benchmarks` | ✅ Published + cover |
| E2 | Solid Queue Advanced: Retries, Concurrency & Monitoring | `solid-queue-advanced-patterns-retries-concurrency` | ✅ Published + cover |
| E3 | Rails 8 Authentication Generator: Complete Guide | `rails-8-authentication-generator-complete-guide` | ✅ Published + cover |

# Build infrastructure (2026-07-19)

- PostCSS installed (`postcss` + `postcss-cli`) — `bin/hugo-build` now passes (740 pages)
- Cover image pipeline established: Chrome headless 2× retina → Lanczos downsample
- 3 cover images generated (Falcon 595KB, Solid Queue 611KB, Rails Auth 600KB)
- Frontmatter fix: langgraph slug concatenation bug resolved

# Immediate actions (from the plan)

1. Elital subdomain cleanup (53K junk upwork-login impressions)
2. Rewrite 5 worst 0-CTR titles/metas — **completed 2026-07-19**
3. Add TL;DR blocks to all 5 worst 0-CTR posts — **completed 2026-07-19**
4. Consolidate 4 cannibalized Rails performance posts into 1 canonical — **done (existing)**: Hugo aliases from `ruby-on-rails-performance-optimization-patterns-2026` cover all 5 old URLs. jtway.co redirects added for missing Medium migration entries.
5. Fix `/services/` page title (zero stack keywords, 202 impr, 0 clicks) — **done (existing)**: title already reads "Ruby on Rails & React Development Services | JetThoughts" with stack keywords and description including retention stat.

# Citations

[1] `docs/projects/2510-seo-content-strategy/20-29-strategy/20.08-content-plan-data-driven-q3-2026.md`
[2] GSC data export: `jetthoughts.com-Performance-on-Search-2026-07-19/`
1 change: 1 addition & 0 deletions .okf/content-strategy/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,4 @@

* [ICP-E: Non-Technical Founder](icp-primary-website-target.md) - primary website lead-gen target profile ("Alex")
* [Voice Guide](voice-guide.md) - canonical voice/tone/banned-pattern reference for founder-facing content
* [Content Plan — Q3 2026](content-plan.md) - active data-driven 3-stream plan (Rails technical + snippet hygiene + founder)
61 changes: 61 additions & 0 deletions .okf/log.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,67 @@ and Plan B recovery paths. Both distilled from
`docs/projects/2605-tech-for-non-technical-founders/30-39-architecture-design/`.
Architecture index updated with the two new entries.

## 2026-07-19 (later) - Q3 content plan execution: Phase 1 expanders + snippet hygiene TL;DRs
* **Published**: 3 Phase 1 expander posts from the Q3 content plan:
- [Falcon in Production: Benchmarks, Memory & Worker Count](/blog/falcon-web-server-production-tuning-benchmarks/) —
worker sizing formulas, 24-hour memory curves, wrk2 benchmarks, GC tuning,
rollback case study. 235 lines, 10/10 voice self-test.
- [Solid Queue Advanced: Retries, Concurrency & Monitoring](/blog/solid-queue-advanced-patterns-retries-concurrency/) —
exponential backoff, dead letter pattern, I/O profiling, dispatch config,
queue depth alerts, preserve_finished_jobs gotcha + client story. 324 lines,
10/10 voice self-test.
- [Rails 8 Authentication Generator: Complete Guide](/blog/rails-8-authentication-generator-complete-guide/) —
replaces Devise with built-in auth, sessions table, password reset,
email verification, rate limiting, production hardening checklist,
Devise migration case study. 347 lines, 10/10 voice self-test.
* **Cover images**: 3 new covers generated via established pipeline
(duplicate Falcon HTML → Chrome headless 2× retina → Lanczos downsample):
Falcon 595KB, Solid Queue 611KB, Rails Auth 600KB — all at 2400×1260.
Covers live at `.stitch/designs/falcon-production-tuning-cover.html`,
`.stitch/designs/solid-queue-advanced-cover.html`,
`.stitch/designs/rails-8-authentication-cover.html`.
* **Snippet hygiene — TL;DR blocks**: TL;DR summary blocks with Quick
start added to all 5 worst 0-CTR posts (langgraph-workflows, autogen-
crewai-langgraph, crewai-multi-agent, langchain-memory, laravel-11-
migration). Each includes 2-3 sentence summary + copy-paste-able quick
start command sequence for better SERP snippet extraction.
* **Build infrastructure**: PostCSS installed (`npm install --save-dev
postcss postcss-cli`). `bin/hugo-build` now passes clean (740 pages,
exit code 0).
* **Bug fixes**: langgraph-workflows frontmatter `---` delimiter had
concatenated to slug line during TL;DR insertion — split back to
separate line. All 3 new posts + 3 covers verified in Hugo build.
* **Validation**: All 3 new posts passed blog pipeline validation
(voice self-test 10/10, zero banned words, zero em dashes, zero
generalized actors, zero mannerism nouns, zero definitional cadence).
Solid Queue post received +1 internal link (Rails Auth) and client
story (April 2026 preserve_finished_jobs disk incident).
* **Content plan** — [content-plan](/content-strategy/content-plan.md) and
[blog-pipeline](/workflows/blog-pipeline.md) already synced.


* **New**: [content-plan](/content-strategy/content-plan.md) concept — the
active Q3 2026 3-stream plan built from Apr–Jul GSC performance data (449
clicks, 478K impressions, 0.09% CTR). Supersedes the ICP-E-focused 20.07
plan. Rails technical 2/week, founder every other week, snippet hygiene
sprint. Resource at
`docs/projects/2510-seo-content-strategy/20-29-strategy/20.08-content-plan-data-driven-q3-2026.md`.
* **New**: [Falcon Production Tuning](/blog/falcon-web-server-production-tuning-benchmarks/)
blog post — first Phase 1 expander from the new plan, extending the #1
performing post (54 clicks, 0.89% CTR) with production worker sizing,
24-hour memory curves, wrk2 benchmarking methodology, GC tuning, and
a "when we rolled back to Puma" case study.
* **Update**: [blog-pipeline](/workflows/blog-pipeline.md) — content plan
reference updated from 20.07 to 20.08; title constraint relaxed from ≤45
to ≤60 chars (matches Google SERP display limit); added snippet-hygiene
cross-link to the content-plan concept.
* **Update**: 5 worst 0-CTR blog posts had titles and meta descriptions
rewritten per the snippet-hygiene sprint (langgraph-workflows, autogen-
crewai-langgraph, crewai-multi-agent, langchain-memory, laravel-11-
migration). Projected +435 clicks/3mo. Titles now all ≤60 chars.
* **Update**: [content-strategy index](/content-strategy/index.md) — added
content-plan entry.

## 2026-07-18 - Merged blog/site bundle into course bundle
Folded a separately-produced Hugo blog/site OKF bundle into this one as two
new sibling sections: `architecture/` (hugo-site, css-pipeline, blog-list-page,
Expand Down
6 changes: 3 additions & 3 deletions .okf/workflows/blog-pipeline.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ title: Blog Post Pipeline (Idea to Published)
description: Canonical end-to-end workflow for drafting, reviewing, and publishing a JetThoughts blog post — mandatory for any write/draft/schedule/publish request.
resource: docs/workflows/blog-pipeline.md
tags: [content, blog, workflow]
timestamp: 2026-07-12T00:00:00Z
timestamp: 2026-07-19T00:00:00Z
---

# Overview
Expand All @@ -17,7 +17,7 @@ is publish-ready when flipped to `false`).
# Steps

1. **Pick topic** — from the active content plan
(`docs/projects/2510-seo-content-strategy/20-29-strategy/20.07-content-plan-icp-e-q2-2026.md`),
(`docs/projects/2510-seo-content-strategy/20-29-strategy/20.08-content-plan-data-driven-q3-2026.md`),
next 🔲 Planned topic.
2. **Read context (mandatory)** — [icp](/content-strategy/icp-primary-website-target.md),
[voice-guide](/content-strategy/voice-guide.md), the topic's content-plan
Expand All @@ -29,7 +29,7 @@ is publish-ready when flipped to `false`).
`docs/blog-post-index.md` (584 posts, 135 tags). Never guess slugs —
verify with `ls content/blog/<slug>/index.md`.
5. **Draft** — `content/blog/<slug>/index.md`, frontmatter constraints
(title ≤45 chars, description 150-160 chars, `cover_image: cover.png`),
(title ≤60 chars for Google SERP display, description 150-160 chars, `cover_image: cover.png`),
structure: hook → primary keyword in first 100 words → numbered H2s →
vibe-coding angle → "when NOT to" → JetThoughts proof point → CTA →
related reading → 5+ external citations.
Expand Down
Loading
Loading