Introduction

After shipping Phase 2 (blog infrastructure, content, project cards), the cfktech-resume portfolio is stable and growing. But with 4 blog posts live and growing audience, the question becomes: What features should Phase 3 prioritize?

Phase 3 is fundamentally different from Phases 1 and 2:

  • Phase 1 was about foundation (building the site)
  • Phase 2 was about content (populating with posts and projects)
  • Phase 3 is about scale and monetization (helping readers find content, growing audience, earning revenue)

This post documents how I used GitHub Copilot CLI to research, evaluate, and plan Phase 3 features—turning a vague roadmap into actionable priorities backed by tradeoff analysis.


Phase 3 Roadmap Overview

Five major initiatives are planned:

Initiative Issue Purpose Complexity
Search #28 Help readers find blog posts Medium
Tags/Categories #29 Organize content by topic Low
Newsletter #30 Build audience, drive recurring traffic Medium
Analytics #31 Understand reader behavior Low
Monetization #32 Earn revenue via donations Low
Medium Integration TBD Expand reach to Medium audience Medium

Total estimated effort: 40-60 development hours across 6 initiatives.

The challenge: Which features solve the biggest problems first?


1. Research Phase: Using Copilot CLI to Understand Tradeoffs

Search Functionality: Client-Side vs. Server-Side

The Question: How do I add search to a static Jekyll site? Options include client-side JavaScript, third-party services like Algolia, or something in between.

Copilot CLI Research: I asked Copilot CLI to compare approaches:

$ copilot prompt "I have a Jekyll blog with ~20 posts. 
Compare client-side search vs. Algolia vs. jekyll-lunr for a static site. 
What are the tradeoffs in complexity, cost, and user experience?"

Copilot CLI Response Summary:

  • Client-side (JavaScript): Requires loading all posts into memory (~100KB JSON). Works offline. No backend. Free. Best for <100 posts.
  • Algolia: Paid service ($0-100/month depending on volume). Powerful. Requires API key management. Overkill for small blogs.
  • jekyll-lunr: Pre-builds search index at build time. Balances simplicity (no backend) with power. Search works instantly. Popular for Jekyll blogs.

Decision Framework: Given 4-20 projected posts, jekyll-lunr is optimal—free, fast, no backend complexity, proven Jekyll integration.

Tags and Categories: Flat vs. Hierarchical

The Question: Should I implement flat tags (e.g., #DevOps) or hierarchical categories (e.g., DevOps > Automation)?

Copilot CLI Analysis:

$ copilot prompt "For a technical blog, should I use flat tags or hierarchical categories? 
Compare user experience, implementation complexity, and long-term scalability."

Key Insights:

  • Flat tags: Simpler. Users scan easily. Scales fine to ~50 tags. Implementation is straightforward in Jekyll.
  • Hierarchical categories: Better organization at scale. More powerful filtering. Higher complexity (requires custom Liquid logic). Overhead until 100+ posts.

Decision: Start flat tags (low complexity, high value now), plan hierarchy refactor for 50+ posts.

Newsletter: Email Service Selection

The Question: Which email service balances ease of integration, cost, and features?

Copilot CLI Comparison:

$ copilot prompt "Compare Mailchimp vs. Substack vs. ConvertKit for a technical blog newsletter.
Focus on: ease of Jekyll integration, free tier features, monetization options."

Analysis: | Service | Setup | Free Tier | Monetization | Best For | |———|——-|———–|————–|———-| | Mailchimp | API integration required | 500 contacts free | Mailchimp Partners program | Growing blogs | | Substack | No integration (manual cross-posting) | Free, keeps 90% revenue | Built-in paid subscriptions | Writer-focused | | ConvertKit | Creator-focused integrations | Limited free tier | Affiliate & sponsorship | Professional creators |

Decision: Mailchimp for now (free tier, API integration possible, can migrate later if growing).

Analytics: Privacy vs. Power

The Question: Should I use Google Analytics (powerful, privacy concerns) or privacy-focused alternatives like Plausible/Fathom?

Copilot CLI Tradeoff Analysis:

$ copilot prompt "Compare Google Analytics 4 vs. Plausible Analytics vs. Fathom for a 
technical portfolio blog. Consider: privacy, cost, ease of setup, insights quality."

Key Tradeoffs:

  • Google Analytics 4: Free. Comprehensive. GDPR concerns without consent banners. Overkill for small audience.
  • Plausible: €9/mo. GDPR-compliant. Simple dashboard. Less detailed than GA4. Growing adoption in indie dev community.
  • Fathom: $19/mo. Similar to Plausible. Better privacy. Both require paid tier.

Decision: Start with Google Analytics 4 (free, familiar), add privacy notice in footer. Migrate to Plausible at $100/month traffic threshold.

Monetization: Donations vs. Affiliate vs. Sponsorship

The Question: What’s the lowest-friction way to let readers support my work?

Copilot CLI Framework:

$ copilot prompt "For a technical blog with 100-500 monthly visitors, rank these monetization 
options by ease of setup, likelihood of revenue, and user friction: 
Buy Me a Coffee, Amazon Affiliates, Stripe Tips, sponsorships."

Analysis: | Option | Setup | Friction | Revenue Potential | Timeline | |——–|——-|———-|——————|———-| | Buy Me a Coffee | 5 min | Very low | Low ($0-10/mo early) | Immediate | | Amazon Affiliates | 30 min | None (contextual links) | Medium ($10-100/mo) | 3-6 months | | Sponsorships | Ongoing outreach | None (if accepted) | High ($100-1000/mo) | 6+ months | | Stripe Tips | 1 hour setup | Medium (popup fatigue) | Low-Medium | Immediate |

Decision: Launch Buy Me a Coffee immediately (lowest friction). Add contextual Amazon Affiliate links as posts mention products. Pursue sponsorships at 10K+ monthly visitors.


2. Priority Matrix: Impact vs. Effort

Using Copilot CLI insights, I mapped features on an impact/effort matrix:

HIGH IMPACT
    ↑
    │ [Newsletter]  [Analytics]
    │ [Medium API]
    │        [Tags]
    │ [Search]
    │        [Monetization]
    └─────────────────────────→ HIGH EFFORT

Quadrants:

  1. Quick Wins (High Impact, Low Effort): Tags, Monetization, Analytics
  2. Major Projects (High Impact, High Effort): Search, Newsletter, Medium API
  3. Nice-to-Haves (Low Impact, Low Effort): None identified
  4. Avoid (Low Impact, High Effort): None identified

3. Phased Timeline: Batching by Value

Rather than implementing all 6 initiatives simultaneously, Phase 3 will ship in 3 sub-phases:

Phase 3a: Reader Discovery (Weeks 1-2)

Goal: Help existing readers find related content

  • Tags/Categories (#29) — 4 hours
    • Add tags: frontmatter to existing posts
    • Create tag listing pages
    • Add tag filters to blog index
  • Search (#28) — 6 hours
    • Integrate jekyll-lunr
    • Add search box to header
    • Test with all posts

Shipping: v1.0.19

Phase 3b: Audience Growth (Weeks 3-4)

Goal: Build recurring audience through email + content distribution

  • Newsletter (#30) — 4 hours
    • Mailchimp integration
    • Signup form on homepage + posts
    • Automation to email new posts
  • Medium API (#TBD) — 6 hours
    • Research Medium API and authentication
    • Build GitHub Actions workflow to auto-publish to Medium
    • Backfill existing posts to Medium with canonical URLs

Shipping: v1.0.20

Phase 3c: Monetization & Understanding (Weeks 5-6)

Goal: Monetize audience + understand behavior

  • Monetization (#32) — 2 hours
    • Add Buy Me a Coffee widget to posts + sidebar
    • Document process for future revenue streams
  • Analytics (#31) — 2 hours
    • Add Google Analytics 4 tracking
    • Create simple dashboard for weekly metrics
  • Amazon Affiliates — 1 hour
    • Add affiliate links to posts mentioning tools/services

Shipping: v1.0.21


4. Decision Framework: How Copilot CLI Shaped Roadmap

Rather than choosing features arbitrarily, I used Copilot CLI to apply decision criteria:

Criterion 1: Revenue Potential (Short-term)

Which features generate income earliest?

$ copilot prompt "For a new technical blog with 100-500 visitors/month, 
which monetization approaches have shortest path to first $100 earned?"

Result: Buy Me a Coffee + Amazon Affiliate links have quickest ROI. Newsletter and Medium are content/reach plays, not direct revenue.

Decision: Prioritize monetization (quick win) over newsletter (longer payoff).

Criterion 2: Reader Value (Medium-term)

Which features provide immediate value to current audience?

Copilot CLI Insight:

  • Readers with 4+ posts want: search (find relevant posts), tags (browse by topic)
  • Readers with growing blog want: analytics (understand what works)
  • Readers wanting to expand reach want: Medium distribution, newsletter

Decision: Implement search + tags early (#28, #29). They solve real reader problems NOW.

Criterion 3: Compound Growth (Long-term)

Which features enable exponential growth?

Copilot CLI Framework:

  • Newsletter: Each post reaches X readers + subscribers (compound). Subscriber list = asset.
  • Medium: Each post reaches base audience + Medium audience (2X reach).
  • Affiliate links: Revenue compounds as traffic grows.

Decision: Sequence search/tags/monetization first (quick wins), then newsletter/Medium (compound growth) as audience grows.


5. Handling Unknown Unknowns

Copilot CLI isn’t just about known tradeoffs—it also helps surface what I don’t know:

Unknown: Medium API Complexity

Initially, I assumed Medium API was complex. Copilot CLI revealed:

$ copilot prompt "What's the actual difficulty of integrating Medium's API into a 
GitHub Actions workflow? What are the gotchas?"

Response: Medium API is simpler than expected for basic publishing. Main gotchas:

  • Must request API approval (can take 1-2 weeks)
  • No bulk publishing endpoint
  • Requires careful error handling (network timeouts during publish)

Decision: Plan Medium integration for Phase 3b, but file approval request NOW (so it’s ready by week 3).

Unknown: Newsletter Open Rates

I worried newsletter integration might have low ROI. Copilot CLI helped:

$ copilot prompt "For technical blogs with 500-5000 subscribers, what are typical 
newsletter open rates, and how do they compare to social media reach?"

Response: Technical blogs see 30-50% open rates (vs. 2-5% social). Email is highest-value channel once built.

Decision: Prioritize newsletter higher in roadmap—it’s the highest-leverage audience play.


6. Resource Allocation: Time Budget

With Phase 3 estimated at 40-60 hours and uncertain availability, Copilot CLI helped create a realistic timeline:

High Priority (Must Ship): 12-16 hours

  • Tags (#29): 4 hours
  • Search (#28): 6 hours
  • Monetization (#32): 2-4 hours

Medium Priority (Should Ship): 12-16 hours

  • Newsletter (#30): 4 hours
  • Medium API (#TBD): 6 hours
  • Analytics (#31): 2 hours

Low Priority (Nice to Have): 4+ hours

  • Affiliate links (contextual)
  • Amazon Associates integration
  • Advanced analytics (cohort analysis, etc.)

Risk Buffer: 10 hours (unexpected issues, refinement)

Realistic Timeline: 4-6 weeks part-time work.


7. Success Metrics: How to Know Phase 3 Worked

Rather than shipping features for features’ sake, Copilot CLI helped define what “success” means:

Reader Engagement (Pre Phase 3 Baseline)

  • Average session duration: ?
  • Bounce rate: ?
  • Avg. pages per session: ?

Phase 3 Success Criteria

Feature Metric Target Timeline
Tags/Search Avg. pages/session +30% Week 2
Newsletter Subscribers 50+ Week 4
Medium Referral traffic +20% monthly Week 5
Analytics Monthly visitors 1000+ Month 2
Monetization First donation $10+ Month 2

These aren’t guesses—they’re benchmarks from similar blogs, provided by Copilot CLI research.


8. Phase 3 in Context: The Bigger Picture

Copilot CLI helped me see Phase 3 as not just feature development, but strategic positioning:

  • Phase 1 proved I can build production systems (Jekyll + GitHub Pages + CI/CD)
  • Phase 2 proved I can create valuable content (12k+ word technical posts)
  • Phase 3 proves I can grow and monetize an audience

This progression tells a story to potential clients/employers:

  1. Builder: Infrastructure (Phase 1)
  2. Creator: Content (Phase 2)
  3. Entrepreneur: Growth (Phase 3)

By documenting each phase with Copilot CLI (hence these blog posts), I’m creating a portfolio of skills beyond code.


What Copilot CLI Made Possible

Without Copilot CLI, Phase 3 planning would have looked like:

  1. Spend 2 hours on each research topic (scattered browsing, Reddit, docs)
  2. Make fragmented decisions without clear tradeoffs
  3. Ship features in random order based on excitement level
  4. Hope results match hopes

With Copilot CLI, Phase 3 planning was:

  1. ✅ Research 6 topics in 90 minutes (focused, synthesized answers)
  2. ✅ Map decisions to explicit criteria (revenue, reader value, growth)
  3. ✅ Sequence features by impact/effort (data-driven roadmap)
  4. ✅ Define success metrics before shipping (measurable outcomes)

Timeline: Phase 3 Implementation

Now (End of January):

  • File Medium API approval request (1 week approval window)
  • Create GitHub Issues for all Phase 3 features

Week 1-2 (February):

  • Implement tags + search
  • Ship v1.0.19
  • Begin newsletter integration

Week 3-4 (February):

  • Launch newsletter
  • Implement Medium API automation
  • Ship v1.0.20
  • Backfill existing posts to Medium

Week 5-6 (March):

  • Add monetization (Buy Me a Coffee)
  • Implement analytics
  • Add affiliate links
  • Ship v1.0.21

Ongoing:

  • Monitor success metrics
  • Iterate based on reader feedback
  • Pursue sponsorships at 10K+ monthly visitors

Conclusion

Phase 3 of cfktech-resume will transform the portfolio from a publishing platform into an audience-driven business.

By using Copilot CLI to research, evaluate, and prioritize features, I’ve created a roadmap backed by:

  • Data: Benchmarks from similar blogs
  • Tradeoffs: Explicit cost-benefit analysis for each choice
  • Sequence: Impact/effort matrix to ship quick wins first
  • Metrics: Success criteria defined upfront

This approach—research → decision framework → phased execution—is exactly the mindset that Copilot CLI enables: faster, more confident decisions.

Phase 3 ships starting in February. Blog posts will document each feature as it launches.


Next: Implementing Phase 3

  • File Medium API approval
  • Create Issues #28, #29, #30, #31, #32 (already done in Phase 2 planning)
  • Start Phase 3a: Tags + Search (v1.0.19)
  • Track metrics: Pages/session, newsletter subscribers, referral traffic

What Phase 3 feature are you most excited about? Share thoughts or ideas in comments or on GitHub.


Resources