A working portfolio
of over a decade.
Eight books, two API surfaces, six help centers, a seven-video developer-education series, and a thirty-year-old Apple blog — plus the launch of Agent Payments Protocol. The complete index lives below.
- Years at Google
- 10+
- Help-center articles
- 256
- DevSite articles
- 196
- Books authored
- 8
- Dev-ed videos shipped
- 7
- API surfaces documented
- 2
- Years publishing PowerPage
- 30+
- AP2 launch partners reached
- 60+
Agent Payments Protocol
featured · Sept 2025The launch of Google's open standard for agent-led commerce.
I wrote the announcement post, the protocol website, and the GitHub README and contributor docs for AP2 — Google's cryptographic payment protocol for AI agents. Shipped to a 60+ partner ecosystem on launch day.
Eight published books
Peachpit · Pearson · Greenwood







API guides
Top-level API documentation for Google's commerce and payments stack.
Developer documentation
Reference, quickstarts, and how-to guides for product integrations.
- Merchant API Reference (REST)REST API reference for Google Merchant Center.↗
- Content API for Shopping: Get StartedQuickstart for Content API integration.↗
- Content API for Shopping: Making RequestsAPI request formatting and authentication.↗
- Content API for Shopping: Batch RequestsBatch API operations guide.↗
- Merchant Support DocumentationSupport resources for Merchant Center integration.↗
- Google Analytics Developer Guide — Cookie UsageCookie implementation in Google Analytics (archived).↗
Developer docs — Google Optimize
Developer-facing documentation for Google's A/B testing platform. Sunset 30 Sept 2023; links archived.
- Google Optimize Developer SiteDeveloper resources for Google Optimize integration.↗
- Optimize Developer Guide: ExperimentsImplementing A/B tests and experiments.↗
- Optimize Developer Guide: AMP ExperimentsRunning experiments on Accelerated Mobile Pages.↗
- Optimize Developer Guide: AntiflickerPreventing page flicker during experiments.↗
Google Analytics help center
End-user and admin documentation for Universal Analytics and GA4.
- Mobile App Overview reportMobile app performance metrics and user engagement.↗
- Mobile App Conversions: Goals & Ecommerce ReportsTracking goals and ecommerce in mobile apps.↗
- Apply and remove segmentsFiltering and analyzing user segments.↗
- Advanced mobile app conversion trackingDeeper guidance on mobile app conversion reports.↗
- Set up data collection for an appConfiguring app analytics data collection.↗
- GA4: Set up Analytics for a website and/or appGetting started with GA4 implementation.↗
- What's New — Archive (2019–2024)Historical archive of Analytics feature updates.↗
Google Surveys help center
Documentation for Google's research platform.
- Surveys: PoliciesPolicy guidelines for surveys.↗
- Survey Lifecycle FAQSurvey operations FAQ.↗
- Targeting OptionsAudience targeting capabilities.↗
- MethodologySurvey methodology and sampling.↗
- WeightingStatistical weighting in survey results.↗
- Surveys 360 FeaturesAdvanced Surveys 360 features.↗
- Target Remarketing ListsTargeting remarketing audiences.↗
Google Optimize help center
End-user docs for Optimize. Sunset 30 Sept 2023; links archived.
- Optimize Help CenterSupport documentation for Google Optimize.↗
- Visual Editor DiagnosticsTroubleshooting the visual editor.↗
- Using the Visual EditorVisual experiment editor guide.↗
- How the Runtime WorksOptimize runtime execution explained.↗
- Bayesian InferenceStatistical methodology in experiment analysis.↗
- Reports ExplainedUnderstanding experiment reports and metrics.↗
- Optimize AnnouncementsProduct updates and feature launches.↗
Product documentation help center
Cross-product reference for Google's tax and compliance flows.
Other help centers
Selected documentation across Google Ads, Opinion Rewards, and more.
Security documentation
Customer-facing security advisories for Google Cloud products.
Video tutorials
Scripted and produced developer-education videos for Google Optimize.
- Working with Google Optimize — full playlistComplete video series on A/B testing.↗
- Create a New Experiment in OptimizeSetting up your first A/B test.↗
- Create a Redirect Test in OptimizeTesting different page URLs.↗
- Create a Multivariate Test (MVT) in OptimizeTesting multiple variables simultaneously.↗
- Create a Personalization in OptimizeDelivering targeted content to audiences.↗
- Create a Multi-Page Experience in OptimizeBuilding multi-page experiments.↗
- Analyze Optimize ReportsUnderstanding experiment results and significance.↗
Blog posts & editorial
Independent and freelance writing — including the Apple blog I've published daily since 1995.