{"ok":true,"site":{"host":"laurihanninen.com","url":"https://laurihanninen.com/","type":"live","desc":"Bitcoin and crypto product marketing. Built the PMM function at Trezor from zero and leads GTM for open-source hardware wallets and self-custody software.","tools":[{"name":"getProfile","kind":"answer","impl":"imperative","description":"Fetch Lauri Hänninen's concise professional profile (role, location, expertise, featured writing). Plain-text/Markdown. Use this for most bio questions.","inputSchema":{"type":"object","properties":{},"required":[]},"hasHandler":true,"hasExecute":true,"__source":"polyfill","executable":true,"handlerField":"execute","page":"/","pages":["/","/articles/","/articles/abc-product-marketing/","/articles/analytics-as-code/","/articles/b2b-and-b2c-product-marketing-are-not-the-same-job/","/articles/danger-zone-inconsistent-metrics/"]},{"name":"getFullProfile","kind":"answer","impl":"imperative","description":"Fetch Lauri Hänninen's comprehensive profile (full career history, technical depth, structured data). Use when getProfile doesn't have enough detail.","inputSchema":{"type":"object","properties":{},"required":[]},"hasHandler":true,"hasExecute":true,"__source":"polyfill","executable":true,"handlerField":"execute","page":"/","pages":["/","/articles/","/articles/abc-product-marketing/","/articles/analytics-as-code/","/articles/b2b-and-b2c-product-marketing-are-not-the-same-job/","/articles/danger-zone-inconsistent-metrics/"]},{"name":"listArticles","kind":"answer","impl":"imperative","description":"List Lauri's published articles as Markdown (titles, dates, descriptions, links).","inputSchema":{"type":"object","properties":{},"required":[]},"hasHandler":true,"hasExecute":true,"__source":"polyfill","executable":true,"handlerField":"execute","page":"/","pages":["/","/articles/","/articles/abc-product-marketing/","/articles/analytics-as-code/","/articles/b2b-and-b2c-product-marketing-are-not-the-same-job/","/articles/danger-zone-inconsistent-metrics/"]},{"name":"getArticle","kind":"answer","impl":"imperative","description":"Fetch a single article by slug as Markdown. Slug is the path segment (e.g. \"abc-product-marketing\"). Use listArticles first if you need to discover slugs.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","description":"URL slug of the article, without slashes. Example: \"abc-product-marketing\"."}},"required":["slug"]},"hasHandler":true,"hasExecute":true,"__source":"polyfill","executable":true,"handlerField":"execute","page":"/","pages":["/","/articles/","/articles/abc-product-marketing/","/articles/analytics-as-code/","/articles/b2b-and-b2c-product-marketing-are-not-the-same-job/","/articles/danger-zone-inconsistent-metrics/"]}],"category":"Media & Personal","favicon":"/favicons/laurihanninen.com.png","apiSurface":"polyfill","toolCount":4}}