Planning Phase 3: Advanced Features and Monetization Strategy with Copilot CLI
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:
- Quick Wins (High Impact, Low Effort): Tags, Monetization, Analytics
- Major Projects (High Impact, High Effort): Search, Newsletter, Medium API
- Nice-to-Haves (Low Impact, Low Effort): None identified
- 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
- Add
- 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:
- Builder: Infrastructure (Phase 1)
- Creator: Content (Phase 2)
- 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:
- Spend 2 hours on each research topic (scattered browsing, Reddit, docs)
- Make fragmented decisions without clear tradeoffs
- Ship features in random order based on excitement level
- Hope results match hopes
With Copilot CLI, Phase 3 planning was:
- ✅ Research 6 topics in 90 minutes (focused, synthesized answers)
- ✅ Map decisions to explicit criteria (revenue, reader value, growth)
- ✅ Sequence features by impact/effort (data-driven roadmap)
- ✅ 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
- cfktech-resume repository: https://github.com/brianjmurray/cfktech-resume
- Phase 1 post: Building cfktech.com: Portfolio Site with Automated CI/CD
- Phase 2 post: Using Copilot CLI to Build a Scalable Blog
- GitHub Issues: Phase 3 roadmap tracked as Issues #28-32