{
    "ready": true,
    "site": {
        "id": 0,
        "domain": "allandeutsch.com",
        "display_name": "Allan Deutsch",
        "primary_country_code": "",
        "category_name": "Travel"
    },
    "metrics": {
        "global_rank": 14608,
        "country_rank": 7595,
        "category_rank": 68,
        "daily_pageviews_per_visitor": 4.27,
        "daily_time_on_site_seconds": 325,
        "bounce_rate": 33.4,
        "search_visits_percent": 45.46,
        "total_sites_linking_in": 1,
        "monthly_unique_visitors": 179,
        "recorded_at": "2026-04-16 09:10:44"
    },
    "audit": {
        "score": 93
    },
    "traffic_sources": {
        "direct_percent": 22.68,
        "search_percent": 37.93,
        "social_percent": 11.41,
        "referral_percent": 7.33,
        "email_percent": 5.9,
        "paid_percent": 14.75
    },
    "seo_profile": {
        "backlinks_total": 1,
        "referring_domains": 1,
        "dofollow_backlinks_percent": 100,
        "organic_keywords": 84,
        "indexed_pages": 107,
        "page_speed_score": 100,
        "mobile_friendliness_score": 89,
        "authority_score": 42,
        "spam_risk_score": 49
    },
    "crawl_report": {
        "robots_status": 200,
        "sitemap_status": 200,
        "sitemap_total_urls": 107,
        "crawl_blocked": false,
        "crawl_blocked_by": "",
        "crawl_blocked_reason": "",
        "notes": [],
        "created_at": "2026-04-16 09:10:44"
    },
    "keywords": [
        {
            "keyword": "Allan Deutsch",
            "position": 20,
            "search_engine": "Estimated",
            "checked_at": "2026-04-16 23:57:16",
            "is_estimated": true
        },
        {
            "keyword": "Allan Deutsch travel",
            "position": 22,
            "search_engine": "Estimated",
            "checked_at": "2026-04-16 23:57:16",
            "is_estimated": true
        },
        {
            "keyword": "Allan Deutsch reviews",
            "position": 24,
            "search_engine": "Estimated",
            "checked_at": "2026-04-16 23:57:16",
            "is_estimated": true
        },
        {
            "keyword": "allan",
            "position": 26,
            "search_engine": "Estimated",
            "checked_at": "2026-04-16 23:57:16",
            "is_estimated": true
        },
        {
            "keyword": "deutsch",
            "position": 28,
            "search_engine": "Estimated",
            "checked_at": "2026-04-16 23:57:16",
            "is_estimated": true
        },
        {
            "keyword": "allandeutsch",
            "position": 30,
            "search_engine": "Estimated",
            "checked_at": "2026-04-16 23:57:16",
            "is_estimated": true
        },
        {
            "keyword": "homepage",
            "position": 32,
            "search_engine": "Estimated",
            "checked_at": "2026-04-16 23:57:16",
            "is_estimated": true
        }
    ],
    "rating": {
        "overall": 64,
        "label": "Healthy",
        "breakdown": [
            {
                "label": "Technical foundation",
                "score": 17,
                "max": 18
            },
            {
                "label": "Authority & trust",
                "score": 13,
                "max": 30
            },
            {
                "label": "Reach & market presence",
                "score": 3,
                "max": 18
            },
            {
                "label": "Search visibility",
                "score": 4,
                "max": 12
            },
            {
                "label": "Engagement & retention",
                "score": 9,
                "max": 10
            },
            {
                "label": "Channels & diversification",
                "score": 5,
                "max": 6
            },
            {
                "label": "Registry stability",
                "score": 5,
                "max": 6
            },
            {
                "label": "Quality system",
                "score": 94,
                "max": 100
            },
            {
                "label": "Reputation system",
                "score": 48,
                "max": 100
            },
            {
                "label": "Safety system",
                "score": 100,
                "max": 100
            },
            {
                "label": "Evidence confidence",
                "score": 100,
                "max": 100
            },
            {
                "label": "External intelligence",
                "score": 50,
                "max": 100
            }
        ],
        "authority_score": 42,
        "quality_score": 94,
        "reputation_score": 48,
        "safety_score": 100,
        "confidence_score": 100,
        "fraud_score": 1,
        "authority_signals": {
            "backlinks": 1,
            "referring_domains": 1,
            "organic_keywords": 84,
            "indexed_pages": 107,
            "monthly_visitors": 179,
            "global_rank": 14608,
            "engagement_score": 82,
            "crawl_quality_score": 100,
            "brand_completeness_score": 71,
            "link_diversity_score": 92,
            "technical_reliability_score": 97,
            "whois_score": 76,
            "whois_age_years": 11.5,
            "whois_stability_score": 100,
            "spam_penalty": 6
        },
        "whois_signals": {
            "age_years": 11.5,
            "days_to_expiry": 1289,
            "days_since_last_registry_update": 234,
            "stability_score": 100,
            "registrar_changes": 0,
            "ownership_changes": 0,
            "nameserver_changes": 0,
            "status_changes": 0,
            "history_entries": 1,
            "privacy_protected": false,
            "dnssec_enabled": false,
            "has_registrant_country": false,
            "registrant_country": "",
            "nameserver_count": 2,
            "status_count": 1
        }
    },
    "authority_score": 42,
    "trust_score": 55,
    "domain_tags": {
        "primary_tag": "T",
        "primary_tag_score": 75,
        "primary_candidate": "T",
        "primary_candidate_score": 75,
        "tag_codes": "T,Uncertain",
        "tags": [
            {
                "code": "T",
                "label": "Trusted",
                "tone": "good",
                "description": "Strong trust, stability, and low-risk signals were detected.",
                "reason": "Low spam indicators plus strong trust, quality, registry, and stability signals were detected.",
                "message": "The site shows a reasonably trustworthy and stable profile.",
                "priority": 75,
                "score": 75,
                "match_percent": 75,
                "threshold_band": "strong"
            },
            {
                "code": "Uncertain",
                "label": "Uncertain",
                "tone": "unknown",
                "description": "External checks stayed inconclusive, so the model avoided a harder verdict.",
                "reason": "The evidence is mixed or only partially corroborated, so the system avoided a harder automated verdict.",
                "message": "The evidence is materially mixed or partially corroborated, so the model is avoiding a harder verdict.",
                "priority": 68,
                "score": 68,
                "match_percent": 68,
                "threshold_band": "strong"
            }
        ],
        "tag_breakdown": [
            {
                "code": "T",
                "label": "Trusted",
                "tone": "good",
                "description": "Strong trust, stability, and low-risk signals were detected.",
                "reason": "Low spam indicators plus strong trust, quality, registry, and stability signals were detected.",
                "message": "The site shows a reasonably trustworthy and stable profile.",
                "priority": 75,
                "score": 75,
                "match_percent": 75,
                "threshold_band": "strong"
            },
            {
                "code": "Uncertain",
                "label": "Uncertain",
                "tone": "unknown",
                "description": "External checks stayed inconclusive, so the model avoided a harder verdict.",
                "reason": "The evidence is mixed or only partially corroborated, so the system avoided a harder automated verdict.",
                "message": "The evidence is materially mixed or partially corroborated, so the model is avoiding a harder verdict.",
                "priority": 68,
                "score": 68,
                "match_percent": 68,
                "threshold_band": "strong"
            },
            {
                "code": "Infra",
                "label": "Risky infrastructure",
                "tone": "caution",
                "description": "The hosting / registrar / nameserver neighbourhood looks unusually risky.",
                "reason": "The infrastructure neighbourhood looks riskier than normal.",
                "message": "Infrastructure risk does not currently stand out.",
                "priority": 3,
                "score": 3,
                "match_percent": 3,
                "threshold_band": "none"
            },
            {
                "code": "C",
                "label": "Caution",
                "tone": "caution",
                "description": "Signals are mixed or weak, so this domain should be treated carefully.",
                "reason": "Review carefully: mixed trust signals.",
                "message": "The current crawl does not show a meaningful caution match.",
                "priority": 0,
                "score": 0,
                "match_percent": 0,
                "threshold_band": "none"
            },
            {
                "code": "Crypto",
                "label": "Crypto drainer risk",
                "tone": "toxic",
                "description": "Wallet-connect or seed-phrase theft patterns were detected.",
                "reason": "Wallet-connect or seed-phrase theft patterns were detected.",
                "message": "No meaningful crypto-drainer signals were detected.",
                "priority": 0,
                "score": 0,
                "match_percent": 0,
                "threshold_band": "none"
            }
        ],
        "nsfw_score": 0,
        "trust_score": 56,
        "manual": {
            "has_changes": false,
            "verified_status": "",
            "tag_codes": "",
            "rating_delta": 0,
            "authority_delta": 0,
            "trust_delta": 0,
            "note": "",
            "adjusted_by": 0,
            "adjusted_at": "",
            "lock_scores": false,
            "lock_flags": false
        },
        "summary": "Trusted (75% match) because low spam indicators plus strong trust, quality, registry, and stability signals were detected.",
        "external_intel": [],
        "external_decision": [],
        "signal_scores": [
            {
                "label": "Strongest tag heuristic",
                "value": "T · 75%",
                "tone": "good",
                "detail": "The highest raw tag match from the heuristic engine before visibility thresholds and manual overrides."
            },
            {
                "label": "Trust score",
                "value": "56/100",
                "tone": "caution",
                "detail": "Confidence derived from authority, crawl quality, stability, and risk signals."
            },
            {
                "label": "Authority score",
                "value": "42/100",
                "tone": "caution",
                "detail": "A higher authority score usually means broader reputation and backlink confidence."
            },
            {
                "label": "Spam risk",
                "value": "26/100",
                "tone": "caution",
                "detail": "Lower is better. This blends spam indicators with false-positive protections for legitimate sites."
            },
            {
                "label": "Quality score",
                "value": "90/100",
                "tone": "good",
                "detail": "Based on crawl quality, content completeness, and technical evidence."
            },
            {
                "label": "Safety score",
                "value": "100/100",
                "tone": "good",
                "detail": "Higher is safer. Direct fraud signals can heavily cap this even when SEO signals look strong."
            },
            {
                "label": "Fraud score",
                "value": "1/100",
                "tone": "good",
                "detail": "Lower is better. This reflects phishing, drainer, fake-support, fake-shop, and malware signals."
            },
            {
                "label": "Infrastructure risk",
                "value": "3/100",
                "tone": "good",
                "detail": "Lower is better. This reflects the IP, registrar, and nameserver neighbourhood seen by the crawler."
            },
            {
                "label": "Evidence confidence",
                "value": "100/100",
                "tone": "good",
                "detail": "Higher means the crawler had enough pages and registry evidence to make a stronger call."
            },
            {
                "label": "External evidence",
                "value": "Low",
                "tone": "unknown",
                "detail": "Quality of the structured search and review evidence cluster."
            },
            {
                "label": "External decision",
                "value": "Inconclusive",
                "tone": "unknown",
                "detail": "How third-party evidence compares with the current candidate tag."
            },
            {
                "label": "NSFW score",
                "value": "0/100",
                "tone": "good",
                "detail": "Context-aware adult-content detection with medical / educational false-positive reduction."
            },
            {
                "label": "Registry stability",
                "value": "100/100",
                "tone": "good",
                "detail": "Based on age, expiry runway, and the amount of ownership / registrar churn."
            }
        ],
        "signal_sections": [
            {
                "title": "Registry & ownership",
                "items": [
                    {
                        "label": "Domain age",
                        "value": "11.5 years",
                        "tone": "good",
                        "detail": "Older domains generally carry more historical trust than very new ones."
                    },
                    {
                        "label": "Stability score",
                        "value": "100/100",
                        "tone": "good",
                        "detail": "Penalised by registrar, ownership, and nameserver churn."
                    },
                    {
                        "label": "Days to expiry",
                        "value": "1,289",
                        "tone": "good",
                        "detail": "Very short renewal windows can be a weak trust signal."
                    },
                    {
                        "label": "Registrar / ownership changes",
                        "value": "0 / 0",
                        "tone": "good",
                        "detail": "Frequent ownership churn can weaken trust."
                    },
                    {
                        "label": "Nameserver changes",
                        "value": "0",
                        "tone": "good",
                        "detail": "Repeated infrastructure changes can indicate instability."
                    },
                    {
                        "label": "DNSSEC / privacy",
                        "value": "DNSSEC off · privacy off",
                        "tone": "caution",
                        "detail": "DNSSEC strengthens DNS trust; privacy is neutral on its own."
                    }
                ]
            },
            {
                "title": "Reputation & search evidence",
                "items": [
                    {
                        "label": "Backlinks",
                        "value": "1",
                        "tone": "unknown",
                        "detail": "Broader backlink evidence usually improves confidence."
                    },
                    {
                        "label": "Referring domains",
                        "value": "1",
                        "tone": "unknown",
                        "detail": "Unique linking domains are more useful than raw link volume."
                    },
                    {
                        "label": "Organic keywords",
                        "value": "84",
                        "tone": "caution",
                        "detail": "Search footprint helps distinguish real sites from thin shells."
                    },
                    {
                        "label": "Indexed pages",
                        "value": "107",
                        "tone": "good",
                        "detail": "Larger index coverage usually means more evidence to classify from."
                    },
                    {
                        "label": "Brand strength",
                        "value": "71/100",
                        "tone": "good",
                        "detail": "Stronger brand signals reduce false positives for legitimate sites."
                    },
                    {
                        "label": "Risk label",
                        "value": "GOOD",
                        "tone": "unknown",
                        "detail": "This is the raw crawl / heuristic risk label feeding the tag model."
                    }
                ]
            },
            {
                "title": "Crawl, content & technicals",
                "items": [
                    {
                        "label": "HTTP status",
                        "value": "200",
                        "tone": "good",
                        "detail": "Healthy responses make classification more reliable."
                    },
                    {
                        "label": "HTTPS / speed",
                        "value": "HTTPS OK · 173 ms",
                        "tone": "good",
                        "detail": "Slow or broken technical signals weaken confidence."
                    },
                    {
                        "label": "Content words",
                        "value": "476",
                        "tone": "caution",
                        "detail": "Thin pages are harder to trust and easier to manipulate."
                    },
                    {
                        "label": "Schema / structure",
                        "value": "0 schema · meta · H1",
                        "tone": "caution",
                        "detail": "Structured markup and basic on-page hygiene improve quality confidence."
                    },
                    {
                        "label": "Links on page",
                        "value": "5 internal · 4 external",
                        "tone": "caution",
                        "detail": "Link patterns help detect thin directories and promo pages."
                    },
                    {
                        "label": "Page speed / mobile",
                        "value": "100/100 · 89/100",
                        "tone": "good",
                        "detail": "Better technical quality generally reduces low-effort site patterns."
                    },
                    {
                        "label": "Crawl access",
                        "value": "Open",
                        "tone": "good",
                        "detail": "The crawler reached the site without an anti-bot challenge."
                    }
                ]
            },
            {
                "title": "External evidence & explainability",
                "items": [
                    {
                        "label": "Decision state",
                        "value": "Inconclusive",
                        "tone": "unknown",
                        "detail": "Structured third-party evidence is still too thin, mixed, or unqualified to force a harder verdict."
                    },
                    {
                        "label": "Evidence quality",
                        "value": "Low",
                        "tone": "unknown",
                        "detail": "Blends source trust, domain matching, evidence diversity, and freshness."
                    },
                    {
                        "label": "Support vs contradiction",
                        "value": "0 / 0",
                        "tone": "unknown",
                        "detail": "Compares how much structured external evidence supports the candidate tag against evidence that contradicts it."
                    },
                    {
                        "label": "Qualified risk sources",
                        "value": "No",
                        "tone": "good",
                        "detail": "Risk tags only promote from external evidence when source diversity or source trust thresholds are met."
                    },
                    {
                        "label": "Uncertainty buffer",
                        "value": "Clear",
                        "tone": "good",
                        "detail": "Prevents thin or mixed external evidence from forcing a stronger tag than the evidence can justify."
                    }
                ]
            }
        ],
        "positives": [
            "Established domain age: 11.5 years.",
            "Low registrar / ownership churn with solid registry stability.",
            "Healthy crawl quality and on-page completeness.",
            "Search evidence is broad enough to classify with better confidence."
        ],
        "risks": []
    },
    "traffic_confidence": 66,
    "whois": {
        "current": {
            "id": 26692,
            "domain": "allandeutsch.com",
            "source_type": "rdap",
            "rdap_url": "https://rdap.verisign.com/com/v1/domain/ALLANDEUTSCH.COM",
            "registrar_name": "Gandi SAS",
            "registrar_handle": "81",
            "registrant_name": "",
            "registrant_org": "",
            "registrant_country": "",
            "registrant_email": "",
            "abuse_email": "abuse@support.gandi.net",
            "created_date": "2014-10-27 22:44:04",
            "updated_date": "2025-08-25 00:23:15",
            "expires_date": "2029-10-27 22:44:04",
            "nameservers_json": "[\"aleena.ns.cloudflare.com\",\"remy.ns.cloudflare.com\"]",
            "status_json": "[\"client transfer prohibited\"]",
            "dnssec": "unsigned",
            "privacy_protected": 0,
            "content_hash": "346485128bebed963fb1d24d36b5ee5a5a8dd126a5be337f3d5a7e2cafb2bef7",
            "history_count": 1,
            "last_checked_at": "2026-04-16 09:10:37",
            "last_changed_at": "2026-03-19 00:49:36",
            "created_at": "2026-03-19 00:49:36",
            "updated_at": "2026-04-16 09:10:37"
        },
        "history": [
            {
                "id": 27301,
                "domain": "allandeutsch.com",
                "source_type": "rdap",
                "registrar_name": "Gandi SAS",
                "registrar_handle": "81",
                "registrant_name": "",
                "registrant_org": "",
                "registrant_country": "",
                "registrant_email": "",
                "abuse_email": "abuse@support.gandi.net",
                "created_date": "2014-10-27 22:44:04",
                "updated_date": "2025-08-25 00:23:15",
                "expires_date": "2029-10-27 22:44:04",
                "nameservers_json": "[\"aleena.ns.cloudflare.com\",\"remy.ns.cloudflare.com\"]",
                "status_json": "[\"client transfer prohibited\"]",
                "dnssec": "unsigned",
                "privacy_protected": 0,
                "content_hash": "346485128bebed963fb1d24d36b5ee5a5a8dd126a5be337f3d5a7e2cafb2bef7",
                "checked_at": "2026-03-19 00:49:36",
                "change_summary": "Initial WHOIS snapshot captured.",
                "created_at": "2026-03-19 00:49:36"
            }
        ],
        "signals": {
            "age_years": 11.5,
            "days_to_expiry": 1289,
            "days_since_last_registry_update": 234,
            "stability_score": 100,
            "registrar_changes": 0,
            "ownership_changes": 0,
            "nameserver_changes": 0,
            "status_changes": 0,
            "history_entries": 1,
            "privacy_protected": false,
            "dnssec_enabled": false,
            "has_registrant_country": false,
            "registrant_country": "",
            "nameserver_count": 2,
            "status_count": 1
        }
    },
    "discovered_domain": {
        "id": 136921,
        "domain": "allandeutsch.com",
        "first_seen_at": "2026-03-16 03:50:31",
        "last_crawled_at": "2026-04-16 09:10:44",
        "last_title": "Allan Deutsch | Homepage",
        "last_http_status": 200,
        "discovered_from_domain": "uses.tech",
        "depth": 0,
        "backlinks_count": 1,
        "rating_cache": 47,
        "spam_score": 24,
        "risk_label": "good",
        "category_name": "Travel",
        "primary_country_code": "",
        "internal_links_count": 5,
        "external_links_count": 4,
        "social_profiles_count": 3,
        "content_word_count": 476,
        "title_quality_score": 93,
        "has_meta_description": 1,
        "has_h1": 1,
        "language_code": "en",
        "response_time_ms": 173,
        "robots_status": 200,
        "sitemap_status": 200,
        "sitemap_total_urls": 107,
        "quality_score": 90,
        "site_name": "",
        "canonical_domain": "",
        "favicon_present": 1,
        "schema_org_count": 0,
        "noindex_detected": 0,
        "feed_links_count": 0,
        "https_working": 1,
        "estimated_authority_score": 38,
        "trust_score": 67,
        "nsfw_score": 0,
        "overall_rank_estimate": 2785003,
        "primary_tag": "T",
        "tag_codes": "T",
        "manual_verified_status": "",
        "manual_tag_codes": "",
        "manual_rating_delta": 0,
        "manual_authority_delta": 0,
        "manual_trust_delta": 0,
        "manual_note": null,
        "manual_adjusted_by": null,
        "manual_adjusted_at": null,
        "manual_lock_scores": 0,
        "manual_lock_flags": 0,
        "crawl_blocked": 0,
        "crawl_blocked_by": "",
        "crawl_blocked_reason": null,
        "safety_score": 100,
        "fraud_score": 1,
        "legitimacy_score": 51,
        "infrastructure_risk_score": 3,
        "score_confidence": 100,
        "tag_confidence": 72,
        "category_confidence": 51,
        "deep_crawl_pages": 50,
        "resolved_ip": "185.199.110.153",
        "category_candidates_json": "[{\"category\":\"Travel\",\"score\":44},{\"category\":\"Personal\",\"score\":22},{\"category\":\"Developer Tools\",\"score\":17},{\"category\":\"Personal\",\"score\":17}]",
        "page_signals_json": "[{\"path\":\"/notes\",\"status\":200,\"title\":\"LinkedIn\",\"word_count\":4333,\"summary_text\":\"LinkedIn (function setInitialMode({ defaultMode = \\\"system\\\", themeColors: themeColors2, darkClassNames: darkClassNames2 = [\\\"dark\\\"], lightClassNames: lightClassNames2 = [], defaultTheme = \\\"\\\", modeStorageKey: modeStorageKey2 = \\\"mode-watcher-mode\\\", themeStorageKey: themeStorageKey2 = \\\"mode-watcher-theme\\\" }) { const rootEl = document.documentElement; const mode = localStorage.getItem(modeStorageKey2) || defaultMode; const theme2 = localStorage.getItem(themeStorageKey2) || defaultTheme; const light = mode === \\\"light\\\" || mode === \\\"system\\\" && window.matchMedia(\\\"(prefers-color-scheme: light)\\\").matches; if (light) { if (darkClassNames2.length) rootEl.classList.remove(...darkClassNames2); if (lightClassNames2.length) rootEl.classList.add(...lightClassNames2); } else { if (lightClassNames2.length) rootEl.class\",\"classification_terms\":[\"notes\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":179,\"depth\":1},{\"path\":\"/devlog\",\"status\":200,\"title\":\"Weekly Dev Logs - Allan Deutsch\",\"word_count\":819,\"summary_text\":\"Weekly Dev Logs - Allan Deutsch (function setInitialMode({ defaultMode = \\\"system\\\", themeColors: themeColors2, darkClassNames: darkClassNames2 = [\\\"dark\\\"], lightClassNames: lightClassNames2 = [], defaultTheme = \\\"\\\", modeStorageKey: modeStorageKey2 = \\\"mode-watcher-mode\\\", themeStorageKey: themeStorageKey2 = \\\"mode-watcher-theme\\\" }) { const rootEl = document.documentElement; const mode = localStorage.getItem(modeStorageKey2) || defaultMode; const theme2 = localStorage.getItem(themeStorageKey2) || defaultTheme; const light = mode === \\\"light\\\" || mode === \\\"system\\\" && window.matchMedia(\\\"(prefers-color-scheme: light)\\\").matches; if (light) { if (darkClassNames2.length) rootEl.classList.remove(...darkClassNames2); if (lightClassNames2.length) rootEl.classList.add(...lightClassNames2); } else { if (lightClassNames2.length) rootEl.class\",\"classification_terms\":[\"devlog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"docduck.dev\",\"buymeacoffee.com\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":1},{\"path\":\"/resume\",\"status\":200,\"title\":\"Allan Deutsch | Resume\",\"word_count\":1784,\"summary_text\":\"Allan Deutsch | Resume (function setInitialMode({ defaultMode = \\\"system\\\", themeColors: themeColors2, darkClassNames: darkClassNames2 = [\\\"dark\\\"], lightClassNames: lightClassNames2 = [], defaultTheme = \\\"\\\", modeStorageKey: modeStorageKey2 = \\\"mode-watcher-mode\\\", themeStorageKey: themeStorageKey2 = \\\"mode-watcher-theme\\\" }) { const rootEl = document.documentElement; const mode = localStorage.getItem(modeStorageKey2) || defaultMode; const theme2 = localStorage.getItem(themeStorageKey2) || defaultTheme; const light = mode === \\\"light\\\" || mode === \\\"system\\\" && window.matchMedia(\\\"(prefers-color-scheme: light)\\\").matches; if (light) { if (darkClassNames2.length) rootEl.classList.remove(...darkClassNames2); if (lightClassNames2.length) rootEl.classList.add(...lightClassNames2); } else { if (lightClassNames2.length) rootEl.class\",\"classification_terms\":[\"resume\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":1,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":13,\"depth\":1},{\"path\":\"/uses\",\"status\":200,\"title\":\"Uses - Allan Deutsch\",\"word_count\":2536,\"summary_text\":\"Uses - Allan Deutsch (function setInitialMode({ defaultMode = \\\"system\\\", themeColors: themeColors2, darkClassNames: darkClassNames2 = [\\\"dark\\\"], lightClassNames: lightClassNames2 = [], defaultTheme = \\\"\\\", modeStorageKey: modeStorageKey2 = \\\"mode-watcher-mode\\\", themeStorageKey: themeStorageKey2 = \\\"mode-watcher-theme\\\" }) { const rootEl = document.documentElement; const mode = localStorage.getItem(modeStorageKey2) || defaultMode; const theme2 = localStorage.getItem(themeStorageKey2) || defaultTheme; const light = mode === \\\"light\\\" || mode === \\\"system\\\" && window.matchMedia(\\\"(prefers-color-scheme: light)\\\").matches; if (light) { if (darkClassNames2.length) rootEl.classList.remove(...darkClassNames2); if (lightClassNames2.length) rootEl.classList.add(...lightClassNames2); } else { if (lightClassNames2.length) rootEl.class\",\"classification_terms\":[\"uses\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":1,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"docduck.dev\",\"buymeacoffee.com\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":1},{\"path\":\"/notes/loft-remodel\",\"status\":200,\"title\":\"Loft remodel reference - Allan Deutsch\",\"word_count\":1875,\"summary_text\":\"Loft remodel reference - Allan Deutsch (function setInitialMode({ defaultMode = \\\"system\\\", themeColors: themeColors2, darkClassNames: darkClassNames2 = [\\\"dark\\\"], lightClassNames: lightClassNames2 = [], defaultTheme = \\\"\\\", modeStorageKey: modeStorageKey2 = \\\"mode-watcher-mode\\\", themeStorageKey: themeStorageKey2 = \\\"mode-watcher-theme\\\" }) { const rootEl = document.documentElement; const mode = localStorage.getItem(modeStorageKey2) || defaultMode; const theme2 = localStorage.getItem(themeStorageKey2) || defaultTheme; const light = mode === \\\"light\\\" || mode === \\\"system\\\" && window.matchMedia(\\\"(prefers-color-scheme: light)\\\").matches; if (light) { if (darkClassNames2.length) rootEl.classList.remove(...darkClassNames2); if (lightClassNames2.length) rootEl.classList.add(...lightClassNames2); } else { if (lightClassNames2.length) rootEl.class\",\"classification_terms\":[\"notes/loft-remodel\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"docduck.dev\",\"buymeacoffee.com\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/notes/restaurants\",\"status\":200,\"title\":\"Restaurants I like - Allan Deutsch\",\"word_count\":637,\"summary_text\":\"Restaurants I like - Allan Deutsch (function setInitialMode({ defaultMode = \\\"system\\\", themeColors: themeColors2, darkClassNames: darkClassNames2 = [\\\"dark\\\"], lightClassNames: lightClassNames2 = [], defaultTheme = \\\"\\\", modeStorageKey: modeStorageKey2 = \\\"mode-watcher-mode\\\", themeStorageKey: themeStorageKey2 = \\\"mode-watcher-theme\\\" }) { const rootEl = document.documentElement; const mode = localStorage.getItem(modeStorageKey2) || defaultMode; const theme2 = localStorage.getItem(themeStorageKey2) || defaultTheme; const light = mode === \\\"light\\\" || mode === \\\"system\\\" && window.matchMedia(\\\"(prefers-color-scheme: light)\\\").matches; if (light) { if (darkClassNames2.length) rootEl.classList.remove(...darkClassNames2); if (lightClassNames2.length) rootEl.classList.add(...lightClassNames2); } else { if (lightClassNames2.length) rootEl.class\",\"classification_terms\":[\"notes/restaurants\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"docduck.dev\",\"buymeacoffee.com\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/notes/seattle-cafes\",\"status\":200,\"title\":\"Seattle area cafés I like - Allan Deutsch\",\"word_count\":577,\"summary_text\":\"Seattle area cafés I like - Allan Deutsch (function setInitialMode({ defaultMode = \\\"system\\\", themeColors: themeColors2, darkClassNames: darkClassNames2 = [\\\"dark\\\"], lightClassNames: lightClassNames2 = [], defaultTheme = \\\"\\\", modeStorageKey: modeStorageKey2 = \\\"mode-watcher-mode\\\", themeStorageKey: themeStorageKey2 = \\\"mode-watcher-theme\\\" }) { const rootEl = document.documentElement; const mode = localStorage.getItem(modeStorageKey2) || defaultMode; const theme2 = localStorage.getItem(themeStorageKey2) || defaultTheme; const light = mode === \\\"light\\\" || mode === \\\"system\\\" && window.matchMedia(\\\"(prefers-color-scheme: light)\\\").matches; if (light) { if (darkClassNames2.length) rootEl.classList.remove(...darkClassNames2); if (lightClassNames2.length) rootEl.classList.add(...lightClassNames2); } else { if (lightClassNames2.length) rootEl.class\",\"classification_terms\":[\"notes/seattle-cafes\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"docduck.dev\",\"buymeacoffee.com\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/notes/pdc-travel-guide\",\"status\":200,\"title\":\"Playa del Carmen travel guide - Allan Deutsch\",\"word_count\":1863,\"summary_text\":\"Playa del Carmen travel guide - Allan Deutsch (function setInitialMode({ defaultMode = \\\"system\\\", themeColors: themeColors2, darkClassNames: darkClassNames2 = [\\\"dark\\\"], lightClassNames: lightClassNames2 = [], defaultTheme = \\\"\\\", modeStorageKey: modeStorageKey2 = \\\"mode-watcher-mode\\\", themeStorageKey: themeStorageKey2 = \\\"mode-watcher-theme\\\" }) { const rootEl = document.documentElement; const mode = localStorage.getItem(modeStorageKey2) || defaultMode; const theme2 = localStorage.getItem(themeStorageKey2) || defaultTheme; const light = mode === \\\"light\\\" || mode === \\\"system\\\" && window.matchMedia(\\\"(prefers-color-scheme: light)\\\").matches; if (light) { if (darkClassNames2.length) rootEl.classList.remove(...darkClassNames2); if (lightClassNames2.length) rootEl.classList.add(...lightClassNames2); } else { if (lightClassNames2.length) rootEl.class\",\"classification_terms\":[\"notes/pdc-travel-guide\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"docduck.dev\",\"buymeacoffee.com\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/notes/rein-in-llms\",\"status\":200,\"title\":\"Take the reins when using LLMs for development - Allan Deutsch\",\"word_count\":701,\"summary_text\":\"Take the reins when using LLMs for development - Allan Deutsch (function setInitialMode({ defaultMode = \\\"system\\\", themeColors: themeColors2, darkClassNames: darkClassNames2 = [\\\"dark\\\"], lightClassNames: lightClassNames2 = [], defaultTheme = \\\"\\\", modeStorageKey: modeStorageKey2 = \\\"mode-watcher-mode\\\", themeStorageKey: themeStorageKey2 = \\\"mode-watcher-theme\\\" }) { const rootEl = document.documentElement; const mode = localStorage.getItem(modeStorageKey2) || defaultMode; const theme2 = localStorage.getItem(themeStorageKey2) || defaultTheme; const light = mode === \\\"light\\\" || mode === \\\"system\\\" && window.matchMedia(\\\"(prefers-color-scheme: light)\\\").matches; if (light) { if (darkClassNames2.length) rootEl.classList.remove(...darkClassNames2); if (lightClassNames2.length) rootEl.classList.add(...lightClassNames2); } else { if (lightClassNames2.length) rootEl.class\",\"classification_terms\":[\"notes/rein-in-llms\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"docduck.dev\",\"buymeacoffee.com\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/notes/three-options-consensus\",\"status\":200,\"title\":\"Present three options to build consensus - Allan Deutsch\",\"word_count\":423,\"summary_text\":\"Present three options to build consensus - Allan Deutsch (function setInitialMode({ defaultMode = \\\"system\\\", themeColors: themeColors2, darkClassNames: darkClassNames2 = [\\\"dark\\\"], lightClassNames: lightClassNames2 = [], defaultTheme = \\\"\\\", modeStorageKey: modeStorageKey2 = \\\"mode-watcher-mode\\\", themeStorageKey: themeStorageKey2 = \\\"mode-watcher-theme\\\" }) { const rootEl = document.documentElement; const mode = localStorage.getItem(modeStorageKey2) || defaultMode; const theme2 = localStorage.getItem(themeStorageKey2) || defaultTheme; const light = mode === \\\"light\\\" || mode === \\\"system\\\" && window.matchMedia(\\\"(prefers-color-scheme: light)\\\").matches; if (light) { if (darkClassNames2.length) rootEl.classList.remove(...darkClassNames2); if (lightClassNames2.length) rootEl.classList.add(...lightClassNames2); } else { if (lightClassNames2.length) rootEl.class\",\"classification_terms\":[\"notes/three-options-consensus\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"docduck.dev\",\"buymeacoffee.com\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/notes/production-cost\",\"status\":200,\"title\":\"Costs of production - Allan Deutsch\",\"word_count\":740,\"summary_text\":\"Costs of production - Allan Deutsch (function setInitialMode({ defaultMode = \\\"system\\\", themeColors: themeColors2, darkClassNames: darkClassNames2 = [\\\"dark\\\"], lightClassNames: lightClassNames2 = [], defaultTheme = \\\"\\\", modeStorageKey: modeStorageKey2 = \\\"mode-watcher-mode\\\", themeStorageKey: themeStorageKey2 = \\\"mode-watcher-theme\\\" }) { const rootEl = document.documentElement; const mode = localStorage.getItem(modeStorageKey2) || defaultMode; const theme2 = localStorage.getItem(themeStorageKey2) || defaultTheme; const light = mode === \\\"light\\\" || mode === \\\"system\\\" && window.matchMedia(\\\"(prefers-color-scheme: light)\\\").matches; if (light) { if (darkClassNames2.length) rootEl.classList.remove(...darkClassNames2); if (lightClassNames2.length) rootEl.classList.add(...lightClassNames2); } else { if (lightClassNames2.length) rootEl.class\",\"classification_terms\":[\"notes/production-cost\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"docduck.dev\",\"buymeacoffee.com\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/notes/fundamental-habits\",\"status\":200,\"title\":\"The fundamental habits - Allan Deutsch\",\"word_count\":604,\"summary_text\":\"The fundamental habits - Allan Deutsch (function setInitialMode({ defaultMode = \\\"system\\\", themeColors: themeColors2, darkClassNames: darkClassNames2 = [\\\"dark\\\"], lightClassNames: lightClassNames2 = [], defaultTheme = \\\"\\\", modeStorageKey: modeStorageKey2 = \\\"mode-watcher-mode\\\", themeStorageKey: themeStorageKey2 = \\\"mode-watcher-theme\\\" }) { const rootEl = document.documentElement; const mode = localStorage.getItem(modeStorageKey2) || defaultMode; const theme2 = localStorage.getItem(themeStorageKey2) || defaultTheme; const light = mode === \\\"light\\\" || mode === \\\"system\\\" && window.matchMedia(\\\"(prefers-color-scheme: light)\\\").matches; if (light) { if (darkClassNames2.length) rootEl.classList.remove(...darkClassNames2); if (lightClassNames2.length) rootEl.classList.add(...lightClassNames2); } else { if (lightClassNames2.length) rootEl.class\",\"classification_terms\":[\"notes/fundamental-habits\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"docduck.dev\",\"buymeacoffee.com\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/notes/zsh-startup\",\"status\":200,\"title\":\"Improving zsh startup times - Allan Deutsch\",\"word_count\":3023,\"summary_text\":\"Improving zsh startup times - Allan Deutsch (function setInitialMode({ defaultMode = \\\"system\\\", themeColors: themeColors2, darkClassNames: darkClassNames2 = [\\\"dark\\\"], lightClassNames: lightClassNames2 = [], defaultTheme = \\\"\\\", modeStorageKey: modeStorageKey2 = \\\"mode-watcher-mode\\\", themeStorageKey: themeStorageKey2 = \\\"mode-watcher-theme\\\" }) { const rootEl = document.documentElement; const mode = localStorage.getItem(modeStorageKey2) || defaultMode; const theme2 = localStorage.getItem(themeStorageKey2) || defaultTheme; const light = mode === \\\"light\\\" || mode === \\\"system\\\" && window.matchMedia(\\\"(prefers-color-scheme: light)\\\").matches; if (light) { if (darkClassNames2.length) rootEl.classList.remove(...darkClassNames2); if (lightClassNames2.length) rootEl.classList.add(...lightClassNames2); } else { if (lightClassNames2.length) rootEl.class\",\"classification_terms\":[\"notes/zsh-startup\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"docduck.dev\",\"buymeacoffee.com\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":55,\"depth\":2},{\"path\":\"/notes/gifts\",\"status\":200,\"title\":\"Gifts - Allan Deutsch\",\"word_count\":667,\"summary_text\":\"Gifts - Allan Deutsch (function setInitialMode({ defaultMode = \\\"system\\\", themeColors: themeColors2, darkClassNames: darkClassNames2 = [\\\"dark\\\"], lightClassNames: lightClassNames2 = [], defaultTheme = \\\"\\\", modeStorageKey: modeStorageKey2 = \\\"mode-watcher-mode\\\", themeStorageKey: themeStorageKey2 = \\\"mode-watcher-theme\\\" }) { const rootEl = document.documentElement; const mode = localStorage.getItem(modeStorageKey2) || defaultMode; const theme2 = localStorage.getItem(themeStorageKey2) || defaultTheme; const light = mode === \\\"light\\\" || mode === \\\"system\\\" && window.matchMedia(\\\"(prefers-color-scheme: light)\\\").matches; if (light) { if (darkClassNames2.length) rootEl.classList.remove(...darkClassNames2); if (lightClassNames2.length) rootEl.classList.add(...lightClassNames2); } else { if (lightClassNames2.length) rootEl.class\",\"classification_terms\":[\"notes/gifts\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"docduck.dev\",\"buymeacoffee.com\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/notes/gold-mac\",\"status\":200,\"title\":\"Gold Mac n Cheese - Allan Deutsch\",\"word_count\":755,\"summary_text\":\"Gold Mac n Cheese - Allan Deutsch (function setInitialMode({ defaultMode = \\\"system\\\", themeColors: themeColors2, darkClassNames: darkClassNames2 = [\\\"dark\\\"], lightClassNames: lightClassNames2 = [], defaultTheme = \\\"\\\", modeStorageKey: modeStorageKey2 = \\\"mode-watcher-mode\\\", themeStorageKey: themeStorageKey2 = \\\"mode-watcher-theme\\\" }) { const rootEl = document.documentElement; const mode = localStorage.getItem(modeStorageKey2) || defaultMode; const theme2 = localStorage.getItem(themeStorageKey2) || defaultTheme; const light = mode === \\\"light\\\" || mode === \\\"system\\\" && window.matchMedia(\\\"(prefers-color-scheme: light)\\\").matches; if (light) { if (darkClassNames2.length) rootEl.classList.remove(...darkClassNames2); if (lightClassNames2.length) rootEl.classList.add(...lightClassNames2); } else { if (lightClassNames2.length) rootEl.class\",\"classification_terms\":[\"notes/gold-mac\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"docduck.dev\",\"buymeacoffee.com\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/notes/cozumel-travel-guide\",\"status\":200,\"title\":\"Cozumel travel guide - Allan Deutsch\",\"word_count\":925,\"summary_text\":\"Cozumel travel guide - Allan Deutsch (function setInitialMode({ defaultMode = \\\"system\\\", themeColors: themeColors2, darkClassNames: darkClassNames2 = [\\\"dark\\\"], lightClassNames: lightClassNames2 = [], defaultTheme = \\\"\\\", modeStorageKey: modeStorageKey2 = \\\"mode-watcher-mode\\\", themeStorageKey: themeStorageKey2 = \\\"mode-watcher-theme\\\" }) { const rootEl = document.documentElement; const mode = localStorage.getItem(modeStorageKey2) || defaultMode; const theme2 = localStorage.getItem(themeStorageKey2) || defaultTheme; const light = mode === \\\"light\\\" || mode === \\\"system\\\" && window.matchMedia(\\\"(prefers-color-scheme: light)\\\").matches; if (light) { if (darkClassNames2.length) rootEl.classList.remove(...darkClassNames2); if (lightClassNames2.length) rootEl.classList.add(...lightClassNames2); } else { if (lightClassNames2.length) rootEl.class\",\"classification_terms\":[\"notes/cozumel-travel-guide\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"docduck.dev\",\"buymeacoffee.com\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/notes/classy-javascript\",\"status\":200,\"title\":\"Classy coding - JavaScript OOP through the ages - Allan Deutsch\",\"word_count\":4391,\"summary_text\":\"Classy coding - JavaScript OOP through the ages - Allan Deutsch (function setInitialMode({ defaultMode = \\\"system\\\", themeColors: themeColors2, darkClassNames: darkClassNames2 = [\\\"dark\\\"], lightClassNames: lightClassNames2 = [], defaultTheme = \\\"\\\", modeStorageKey: modeStorageKey2 = \\\"mode-watcher-mode\\\", themeStorageKey: themeStorageKey2 = \\\"mode-watcher-theme\\\" }) { const rootEl = document.documentElement; const mode = localStorage.getItem(modeStorageKey2) || defaultMode; const theme2 = localStorage.getItem(themeStorageKey2) || defaultTheme; const light = mode === \\\"light\\\" || mode === \\\"system\\\" && window.matchMedia(\\\"(prefers-color-scheme: light)\\\").matches; if (light) { if (darkClassNames2.length) rootEl.classList.remove(...darkClassNames2); if (lightClassNames2.length) rootEl.classList.add(...lightClassNames2); } else { if (lightClassNames2.length) rootEl.class\",\"classification_terms\":[\"notes/classy-javascript\",\"about\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"docduck.dev\",\"buymeacoffee.com\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":2},{\"path\":\"/notes/focus-edgy-view\",\"status\":200,\"title\":\"Open neovim edgebar with focus set - Allan Deutsch\",\"word_count\":1814,\"summary_text\":\"Open neovim edgebar with focus set - Allan Deutsch (function setInitialMode({ defaultMode = \\\"system\\\", themeColors: themeColors2, darkClassNames: darkClassNames2 = [\\\"dark\\\"], lightClassNames: lightClassNames2 = [], defaultTheme = \\\"\\\", modeStorageKey: modeStorageKey2 = \\\"mode-watcher-mode\\\", themeStorageKey: themeStorageKey2 = \\\"mode-watcher-theme\\\" }) { const rootEl = document.documentElement; const mode = localStorage.getItem(modeStorageKey2) || defaultMode; const theme2 = localStorage.getItem(themeStorageKey2) || defaultTheme; const light = mode === \\\"light\\\" || mode === \\\"system\\\" && window.matchMedia(\\\"(prefers-color-scheme: light)\\\").matches; if (light) { if (darkClassNames2.length) rootEl.classList.remove(...darkClassNames2); if (lightClassNames2.length) rootEl.classList.add(...lightClassNames2); } else { if (lightClassNames2.length) rootEl.class\",\"classification_terms\":[\"notes/focus-edgy-view\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"docduck.dev\",\"buymeacoffee.com\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/notes/use-neovim\",\"status\":200,\"title\":\"I use Neovim btw - Allan Deutsch\",\"word_count\":1617,\"summary_text\":\"I use Neovim btw - Allan Deutsch (function setInitialMode({ defaultMode = \\\"system\\\", themeColors: themeColors2, darkClassNames: darkClassNames2 = [\\\"dark\\\"], lightClassNames: lightClassNames2 = [], defaultTheme = \\\"\\\", modeStorageKey: modeStorageKey2 = \\\"mode-watcher-mode\\\", themeStorageKey: themeStorageKey2 = \\\"mode-watcher-theme\\\" }) { const rootEl = document.documentElement; const mode = localStorage.getItem(modeStorageKey2) || defaultMode; const theme2 = localStorage.getItem(themeStorageKey2) || defaultTheme; const light = mode === \\\"light\\\" || mode === \\\"system\\\" && window.matchMedia(\\\"(prefers-color-scheme: light)\\\").matches; if (light) { if (darkClassNames2.length) rootEl.classList.remove(...darkClassNames2); if (lightClassNames2.length) rootEl.classList.add(...lightClassNames2); } else { if (lightClassNames2.length) rootEl.class\",\"classification_terms\":[\"notes/use-neovim\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"docduck.dev\",\"buymeacoffee.com\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/notes/thinking-channels\",\"status\":200,\"title\":\"Thinking channels - Allan Deutsch\",\"word_count\":425,\"summary_text\":\"Thinking channels - Allan Deutsch (function setInitialMode({ defaultMode = \\\"system\\\", themeColors: themeColors2, darkClassNames: darkClassNames2 = [\\\"dark\\\"], lightClassNames: lightClassNames2 = [], defaultTheme = \\\"\\\", modeStorageKey: modeStorageKey2 = \\\"mode-watcher-mode\\\", themeStorageKey: themeStorageKey2 = \\\"mode-watcher-theme\\\" }) { const rootEl = document.documentElement; const mode = localStorage.getItem(modeStorageKey2) || defaultMode; const theme2 = localStorage.getItem(themeStorageKey2) || defaultTheme; const light = mode === \\\"light\\\" || mode === \\\"system\\\" && window.matchMedia(\\\"(prefers-color-scheme: light)\\\").matches; if (light) { if (darkClassNames2.length) rootEl.classList.remove(...darkClassNames2); if (lightClassNames2.length) rootEl.classList.add(...lightClassNames2); } else { if (lightClassNames2.length) rootEl.class\",\"classification_terms\":[\"notes/thinking-channels\",\"about\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"docduck.dev\",\"buymeacoffee.com\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/notes/total-typescript-notes\",\"status\":200,\"title\":\"Total Typescript notes - Allan Deutsch\",\"word_count\":3397,\"summary_text\":\"Total Typescript notes - Allan Deutsch (function setInitialMode({ defaultMode = \\\"system\\\", themeColors: themeColors2, darkClassNames: darkClassNames2 = [\\\"dark\\\"], lightClassNames: lightClassNames2 = [], defaultTheme = \\\"\\\", modeStorageKey: modeStorageKey2 = \\\"mode-watcher-mode\\\", themeStorageKey: themeStorageKey2 = \\\"mode-watcher-theme\\\" }) { const rootEl = document.documentElement; const mode = localStorage.getItem(modeStorageKey2) || defaultMode; const theme2 = localStorage.getItem(themeStorageKey2) || defaultTheme; const light = mode === \\\"light\\\" || mode === \\\"system\\\" && window.matchMedia(\\\"(prefers-color-scheme: light)\\\").matches; if (light) { if (darkClassNames2.length) rootEl.classList.remove(...darkClassNames2); if (lightClassNames2.length) rootEl.classList.add(...lightClassNames2); } else { if (lightClassNames2.length) rootEl.class\",\"classification_terms\":[\"notes/total-typescript-notes\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"docduck.dev\",\"buymeacoffee.com\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/notes/identity-functions\",\"status\":200,\"title\":\"Identity functions - Allan Deutsch\",\"word_count\":1939,\"summary_text\":\"Identity functions - Allan Deutsch (function setInitialMode({ defaultMode = \\\"system\\\", themeColors: themeColors2, darkClassNames: darkClassNames2 = [\\\"dark\\\"], lightClassNames: lightClassNames2 = [], defaultTheme = \\\"\\\", modeStorageKey: modeStorageKey2 = \\\"mode-watcher-mode\\\", themeStorageKey: themeStorageKey2 = \\\"mode-watcher-theme\\\" }) { const rootEl = document.documentElement; const mode = localStorage.getItem(modeStorageKey2) || defaultMode; const theme2 = localStorage.getItem(themeStorageKey2) || defaultTheme; const light = mode === \\\"light\\\" || mode === \\\"system\\\" && window.matchMedia(\\\"(prefers-color-scheme: light)\\\").matches; if (light) { if (darkClassNames2.length) rootEl.classList.remove(...darkClassNames2); if (lightClassNames2.length) rootEl.classList.add(...lightClassNames2); } else { if (lightClassNames2.length) rootEl.class\",\"classification_terms\":[\"notes/identity-functions\",\"api\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"docduck.dev\",\"buymeacoffee.com\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/notes/dynamic-ts-playground-links\",\"status\":200,\"title\":\"Dynamically generate TypeScript Playground links - Allan Deutsch\",\"word_count\":758,\"summary_text\":\"Dynamically generate TypeScript Playground links - Allan Deutsch (function setInitialMode({ defaultMode = \\\"system\\\", themeColors: themeColors2, darkClassNames: darkClassNames2 = [\\\"dark\\\"], lightClassNames: lightClassNames2 = [], defaultTheme = \\\"\\\", modeStorageKey: modeStorageKey2 = \\\"mode-watcher-mode\\\", themeStorageKey: themeStorageKey2 = \\\"mode-watcher-theme\\\" }) { const rootEl = document.documentElement; const mode = localStorage.getItem(modeStorageKey2) || defaultMode; const theme2 = localStorage.getItem(themeStorageKey2) || defaultTheme; const light = mode === \\\"light\\\" || mode === \\\"system\\\" && window.matchMedia(\\\"(prefers-color-scheme: light)\\\").matches; if (light) { if (darkClassNames2.length) rootEl.classList.remove(...darkClassNames2); if (lightClassNames2.length) rootEl.classList.add(...lightClassNames2); } else { if (lightClassNames2.length) rootEl.class\",\"classification_terms\":[\"notes/dynamic-ts-playground-links\",\"links\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"docduck.dev\",\"buymeacoffee.com\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/notes/code-block-tsplay-demo-link\",\"status\":200,\"title\":\"Add a demo link to TypeScript code blocks - Allan Deutsch\",\"word_count\":1029,\"summary_text\":\"Add a demo link to TypeScript code blocks - Allan Deutsch (function setInitialMode({ defaultMode = \\\"system\\\", themeColors: themeColors2, darkClassNames: darkClassNames2 = [\\\"dark\\\"], lightClassNames: lightClassNames2 = [], defaultTheme = \\\"\\\", modeStorageKey: modeStorageKey2 = \\\"mode-watcher-mode\\\", themeStorageKey: themeStorageKey2 = \\\"mode-watcher-theme\\\" }) { const rootEl = document.documentElement; const mode = localStorage.getItem(modeStorageKey2) || defaultMode; const theme2 = localStorage.getItem(themeStorageKey2) || defaultTheme; const light = mode === \\\"light\\\" || mode === \\\"system\\\" && window.matchMedia(\\\"(prefers-color-scheme: light)\\\").matches; if (light) { if (darkClassNames2.length) rootEl.classList.remove(...darkClassNames2); if (lightClassNames2.length) rootEl.classList.add(...lightClassNames2); } else { if (lightClassNames2.length) rootEl.class\",\"classification_terms\":[\"notes/code-block-tsplay-demo-link\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"docduck.dev\",\"buymeacoffee.com\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/notes/make-example-code-interactive\",\"status\":200,\"title\":\"Make example code interactive - Allan Deutsch\",\"word_count\":519,\"summary_text\":\"Make example code interactive - Allan Deutsch (function setInitialMode({ defaultMode = \\\"system\\\", themeColors: themeColors2, darkClassNames: darkClassNames2 = [\\\"dark\\\"], lightClassNames: lightClassNames2 = [], defaultTheme = \\\"\\\", modeStorageKey: modeStorageKey2 = \\\"mode-watcher-mode\\\", themeStorageKey: themeStorageKey2 = \\\"mode-watcher-theme\\\" }) { const rootEl = document.documentElement; const mode = localStorage.getItem(modeStorageKey2) || defaultMode; const theme2 = localStorage.getItem(themeStorageKey2) || defaultTheme; const light = mode === \\\"light\\\" || mode === \\\"system\\\" && window.matchMedia(\\\"(prefers-color-scheme: light)\\\").matches; if (light) { if (darkClassNames2.length) rootEl.classList.remove(...darkClassNames2); if (lightClassNames2.length) rootEl.classList.add(...lightClassNames2); } else { if (lightClassNames2.length) rootEl.class\",\"classification_terms\":[\"notes/make-example-code-interactive\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"docduck.dev\",\"buymeacoffee.com\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/notes/branded-types\",\"status\":200,\"title\":\"Branded Types - Allan Deutsch\",\"word_count\":2036,\"summary_text\":\"Branded Types - Allan Deutsch (function setInitialMode({ defaultMode = \\\"system\\\", themeColors: themeColors2, darkClassNames: darkClassNames2 = [\\\"dark\\\"], lightClassNames: lightClassNames2 = [], defaultTheme = \\\"\\\", modeStorageKey: modeStorageKey2 = \\\"mode-watcher-mode\\\", themeStorageKey: themeStorageKey2 = \\\"mode-watcher-theme\\\" }) { const rootEl = document.documentElement; const mode = localStorage.getItem(modeStorageKey2) || defaultMode; const theme2 = localStorage.getItem(themeStorageKey2) || defaultTheme; const light = mode === \\\"light\\\" || mode === \\\"system\\\" && window.matchMedia(\\\"(prefers-color-scheme: light)\\\").matches; if (light) { if (darkClassNames2.length) rootEl.classList.remove(...darkClassNames2); if (lightClassNames2.length) rootEl.classList.add(...lightClassNames2); } else { if (lightClassNames2.length) rootEl.class\",\"classification_terms\":[\"notes/branded-types\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"docduck.dev\",\"buymeacoffee.com\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/notes/theory-practice\",\"status\":200,\"title\":\"Theory and practice - Allan Deutsch\",\"word_count\":678,\"summary_text\":\"Theory and practice - Allan Deutsch (function setInitialMode({ defaultMode = \\\"system\\\", themeColors: themeColors2, darkClassNames: darkClassNames2 = [\\\"dark\\\"], lightClassNames: lightClassNames2 = [], defaultTheme = \\\"\\\", modeStorageKey: modeStorageKey2 = \\\"mode-watcher-mode\\\", themeStorageKey: themeStorageKey2 = \\\"mode-watcher-theme\\\" }) { const rootEl = document.documentElement; const mode = localStorage.getItem(modeStorageKey2) || defaultMode; const theme2 = localStorage.getItem(themeStorageKey2) || defaultTheme; const light = mode === \\\"light\\\" || mode === \\\"system\\\" && window.matchMedia(\\\"(prefers-color-scheme: light)\\\").matches; if (light) { if (darkClassNames2.length) rootEl.classList.remove(...darkClassNames2); if (lightClassNames2.length) rootEl.classList.add(...lightClassNames2); } else { if (lightClassNames2.length) rootEl.class\",\"classification_terms\":[\"notes/theory-practice\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"docduck.dev\",\"buymeacoffee.com\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/notes/svelte-shiki-twoslash\",\"status\":200,\"title\":\"Beautifully render code in Svelte - Allan Deutsch\",\"word_count\":1349,\"summary_text\":\"Beautifully render code in Svelte - Allan Deutsch (function setInitialMode({ defaultMode = \\\"system\\\", themeColors: themeColors2, darkClassNames: darkClassNames2 = [\\\"dark\\\"], lightClassNames: lightClassNames2 = [], defaultTheme = \\\"\\\", modeStorageKey: modeStorageKey2 = \\\"mode-watcher-mode\\\", themeStorageKey: themeStorageKey2 = \\\"mode-watcher-theme\\\" }) { const rootEl = document.documentElement; const mode = localStorage.getItem(modeStorageKey2) || defaultMode; const theme2 = localStorage.getItem(themeStorageKey2) || defaultTheme; const light = mode === \\\"light\\\" || mode === \\\"system\\\" && window.matchMedia(\\\"(prefers-color-scheme: light)\\\").matches; if (light) { if (darkClassNames2.length) rootEl.classList.remove(...darkClassNames2); if (lightClassNames2.length) rootEl.classList.add(...lightClassNames2); } else { if (lightClassNames2.length) rootEl.class\",\"classification_terms\":[\"notes/svelte-shiki-twoslash\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"docduck.dev\",\"buymeacoffee.com\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/notes/lint-format-svelte\",\"status\":200,\"title\":\"Linting and formatting a svelte project - Allan Deutsch\",\"word_count\":3055,\"summary_text\":\"Linting and formatting a svelte project - Allan Deutsch (function setInitialMode({ defaultMode = \\\"system\\\", themeColors: themeColors2, darkClassNames: darkClassNames2 = [\\\"dark\\\"], lightClassNames: lightClassNames2 = [], defaultTheme = \\\"\\\", modeStorageKey: modeStorageKey2 = \\\"mode-watcher-mode\\\", themeStorageKey: themeStorageKey2 = \\\"mode-watcher-theme\\\" }) { const rootEl = document.documentElement; const mode = localStorage.getItem(modeStorageKey2) || defaultMode; const theme2 = localStorage.getItem(themeStorageKey2) || defaultTheme; const light = mode === \\\"light\\\" || mode === \\\"system\\\" && window.matchMedia(\\\"(prefers-color-scheme: light)\\\").matches; if (light) { if (darkClassNames2.length) rootEl.classList.remove(...darkClassNames2); if (lightClassNames2.length) rootEl.classList.add(...lightClassNames2); } else { if (lightClassNames2.length) rootEl.class\",\"classification_terms\":[\"notes/lint-format-svelte\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"docduck.dev\",\"buymeacoffee.com\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/notes/structural-branded-types-nominal\",\"status\":200,\"title\":\"Type branding removes structural type compatibility - Allan Deutsch\",\"word_count\":2248,\"summary_text\":\"Type branding removes structural type compatibility - Allan Deutsch (function setInitialMode({ defaultMode = \\\"system\\\", themeColors: themeColors2, darkClassNames: darkClassNames2 = [\\\"dark\\\"], lightClassNames: lightClassNames2 = [], defaultTheme = \\\"\\\", modeStorageKey: modeStorageKey2 = \\\"mode-watcher-mode\\\", themeStorageKey: themeStorageKey2 = \\\"mode-watcher-theme\\\" }) { const rootEl = document.documentElement; const mode = localStorage.getItem(modeStorageKey2) || defaultMode; const theme2 = localStorage.getItem(themeStorageKey2) || defaultTheme; const light = mode === \\\"light\\\" || mode === \\\"system\\\" && window.matchMedia(\\\"(prefers-color-scheme: light)\\\").matches; if (light) { if (darkClassNames2.length) rootEl.classList.remove(...darkClassNames2); if (lightClassNames2.length) rootEl.classList.add(...lightClassNames2); } else { if (lightClassNames2.length) rootEl.class\",\"classification_terms\":[\"notes/structural-branded-types-nominal\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"docduck.dev\",\"buymeacoffee.com\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/notes/sveltekit-cors\",\"status\":200,\"title\":\"Resolving CORS errors in SvelteKit - Allan Deutsch\",\"word_count\":1823,\"summary_text\":\"Resolving CORS errors in SvelteKit - Allan Deutsch (function setInitialMode({ defaultMode = \\\"system\\\", themeColors: themeColors2, darkClassNames: darkClassNames2 = [\\\"dark\\\"], lightClassNames: lightClassNames2 = [], defaultTheme = \\\"\\\", modeStorageKey: modeStorageKey2 = \\\"mode-watcher-mode\\\", themeStorageKey: themeStorageKey2 = \\\"mode-watcher-theme\\\" }) { const rootEl = document.documentElement; const mode = localStorage.getItem(modeStorageKey2) || defaultMode; const theme2 = localStorage.getItem(themeStorageKey2) || defaultTheme; const light = mode === \\\"light\\\" || mode === \\\"system\\\" && window.matchMedia(\\\"(prefers-color-scheme: light)\\\").matches; if (light) { if (darkClassNames2.length) rootEl.classList.remove(...darkClassNames2); if (lightClassNames2.length) rootEl.classList.add(...lightClassNames2); } else { if (lightClassNames2.length) rootEl.class\",\"classification_terms\":[\"notes/sveltekit-cors\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"docduck.dev\",\"buymeacoffee.com\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/notes/pasta-arabica\",\"status\":200,\"title\":\"Pasta Arabica - Allan Deutsch\",\"word_count\":531,\"summary_text\":\"Pasta Arabica - Allan Deutsch (function setInitialMode({ defaultMode = \\\"system\\\", themeColors: themeColors2, darkClassNames: darkClassNames2 = [\\\"dark\\\"], lightClassNames: lightClassNames2 = [], defaultTheme = \\\"\\\", modeStorageKey: modeStorageKey2 = \\\"mode-watcher-mode\\\", themeStorageKey: themeStorageKey2 = \\\"mode-watcher-theme\\\" }) { const rootEl = document.documentElement; const mode = localStorage.getItem(modeStorageKey2) || defaultMode; const theme2 = localStorage.getItem(themeStorageKey2) || defaultTheme; const light = mode === \\\"light\\\" || mode === \\\"system\\\" && window.matchMedia(\\\"(prefers-color-scheme: light)\\\").matches; if (light) { if (darkClassNames2.length) rootEl.classList.remove(...darkClassNames2); if (lightClassNames2.length) rootEl.classList.add(...lightClassNames2); } else { if (lightClassNames2.length) rootEl.class\",\"classification_terms\":[\"notes/pasta-arabica\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"docduck.dev\",\"buymeacoffee.com\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/notes/assertion-functions\",\"status\":200,\"title\":\"TypeScript assertion functions increase type safety - Allan Deutsch\",\"word_count\":783,\"summary_text\":\"TypeScript assertion functions increase type safety - Allan Deutsch (function setInitialMode({ defaultMode = \\\"system\\\", themeColors: themeColors2, darkClassNames: darkClassNames2 = [\\\"dark\\\"], lightClassNames: lightClassNames2 = [], defaultTheme = \\\"\\\", modeStorageKey: modeStorageKey2 = \\\"mode-watcher-mode\\\", themeStorageKey: themeStorageKey2 = \\\"mode-watcher-theme\\\" }) { const rootEl = document.documentElement; const mode = localStorage.getItem(modeStorageKey2) || defaultMode; const theme2 = localStorage.getItem(themeStorageKey2) || defaultTheme; const light = mode === \\\"light\\\" || mode === \\\"system\\\" && window.matchMedia(\\\"(prefers-color-scheme: light)\\\").matches; if (light) { if (darkClassNames2.length) rootEl.classList.remove(...darkClassNames2); if (lightClassNames2.length) rootEl.classList.add(...lightClassNames2); } else { if (lightClassNames2.length) rootEl.class\",\"classification_terms\":[\"notes/assertion-functions\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"docduck.dev\",\"buymeacoffee.com\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/notes/make-api-misuse-hard\",\"status\":200,\"title\":\"Make API misuse hard - Allan Deutsch\",\"word_count\":727,\"summary_text\":\"Make API misuse hard - Allan Deutsch (function setInitialMode({ defaultMode = \\\"system\\\", themeColors: themeColors2, darkClassNames: darkClassNames2 = [\\\"dark\\\"], lightClassNames: lightClassNames2 = [], defaultTheme = \\\"\\\", modeStorageKey: modeStorageKey2 = \\\"mode-watcher-mode\\\", themeStorageKey: themeStorageKey2 = \\\"mode-watcher-theme\\\" }) { const rootEl = document.documentElement; const mode = localStorage.getItem(modeStorageKey2) || defaultMode; const theme2 = localStorage.getItem(themeStorageKey2) || defaultTheme; const light = mode === \\\"light\\\" || mode === \\\"system\\\" && window.matchMedia(\\\"(prefers-color-scheme: light)\\\").matches; if (light) { if (darkClassNames2.length) rootEl.classList.remove(...darkClassNames2); if (lightClassNames2.length) rootEl.classList.add(...lightClassNames2); } else { if (lightClassNames2.length) rootEl.class\",\"classification_terms\":[\"notes/make-api-misuse-hard\",\"api\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"docduck.dev\",\"buymeacoffee.com\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/notes/publishing-this-site\",\"status\":200,\"title\":\"The publishing pipeline for allandeutsch.com - Allan Deutsch\",\"word_count\":965,\"summary_text\":\"The publishing pipeline for allandeutsch.com - Allan Deutsch (function setInitialMode({ defaultMode = \\\"system\\\", themeColors: themeColors2, darkClassNames: darkClassNames2 = [\\\"dark\\\"], lightClassNames: lightClassNames2 = [], defaultTheme = \\\"\\\", modeStorageKey: modeStorageKey2 = \\\"mode-watcher-mode\\\", themeStorageKey: themeStorageKey2 = \\\"mode-watcher-theme\\\" }) { const rootEl = document.documentElement; const mode = localStorage.getItem(modeStorageKey2) || defaultMode; const theme2 = localStorage.getItem(themeStorageKey2) || defaultTheme; const light = mode === \\\"light\\\" || mode === \\\"system\\\" && window.matchMedia(\\\"(prefers-color-scheme: light)\\\").matches; if (light) { if (darkClassNames2.length) rootEl.classList.remove(...darkClassNames2); if (lightClassNames2.length) rootEl.classList.add(...lightClassNames2); } else { if (lightClassNames2.length) rootEl.class\",\"classification_terms\":[\"notes/publishing-this-site\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"docduck.dev\",\"buymeacoffee.com\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/notes/svelte-component-apis\",\"status\":200,\"title\":\"Svelte component APIs - Allan Deutsch\",\"word_count\":1581,\"summary_text\":\"Svelte component APIs - Allan Deutsch (function setInitialMode({ defaultMode = \\\"system\\\", themeColors: themeColors2, darkClassNames: darkClassNames2 = [\\\"dark\\\"], lightClassNames: lightClassNames2 = [], defaultTheme = \\\"\\\", modeStorageKey: modeStorageKey2 = \\\"mode-watcher-mode\\\", themeStorageKey: themeStorageKey2 = \\\"mode-watcher-theme\\\" }) { const rootEl = document.documentElement; const mode = localStorage.getItem(modeStorageKey2) || defaultMode; const theme2 = localStorage.getItem(themeStorageKey2) || defaultTheme; const light = mode === \\\"light\\\" || mode === \\\"system\\\" && window.matchMedia(\\\"(prefers-color-scheme: light)\\\").matches; if (light) { if (darkClassNames2.length) rootEl.classList.remove(...darkClassNames2); if (lightClassNames2.length) rootEl.classList.add(...lightClassNames2); } else { if (lightClassNames2.length) rootEl.class\",\"classification_terms\":[\"notes/svelte-component-apis\",\"api\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"docduck.dev\",\"buymeacoffee.com\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/notes/slugs-make-links-readable\",\"status\":200,\"title\":\"Slugs make links readable - Allan Deutsch\",\"word_count\":383,\"summary_text\":\"Slugs make links readable - Allan Deutsch (function setInitialMode({ defaultMode = \\\"system\\\", themeColors: themeColors2, darkClassNames: darkClassNames2 = [\\\"dark\\\"], lightClassNames: lightClassNames2 = [], defaultTheme = \\\"\\\", modeStorageKey: modeStorageKey2 = \\\"mode-watcher-mode\\\", themeStorageKey: themeStorageKey2 = \\\"mode-watcher-theme\\\" }) { const rootEl = document.documentElement; const mode = localStorage.getItem(modeStorageKey2) || defaultMode; const theme2 = localStorage.getItem(themeStorageKey2) || defaultTheme; const light = mode === \\\"light\\\" || mode === \\\"system\\\" && window.matchMedia(\\\"(prefers-color-scheme: light)\\\").matches; if (light) { if (darkClassNames2.length) rootEl.classList.remove(...darkClassNames2); if (lightClassNames2.length) rootEl.classList.add(...lightClassNames2); } else { if (lightClassNames2.length) rootEl.class\",\"classification_terms\":[\"notes/slugs-make-links-readable\",\"links\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"docduck.dev\",\"buymeacoffee.com\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/notes/structural-types-increase-compatibility\",\"status\":200,\"title\":\"Structural types increase data compatibility - Allan Deutsch\",\"word_count\":826,\"summary_text\":\"Structural types increase data compatibility - Allan Deutsch (function setInitialMode({ defaultMode = \\\"system\\\", themeColors: themeColors2, darkClassNames: darkClassNames2 = [\\\"dark\\\"], lightClassNames: lightClassNames2 = [], defaultTheme = \\\"\\\", modeStorageKey: modeStorageKey2 = \\\"mode-watcher-mode\\\", themeStorageKey: themeStorageKey2 = \\\"mode-watcher-theme\\\" }) { const rootEl = document.documentElement; const mode = localStorage.getItem(modeStorageKey2) || defaultMode; const theme2 = localStorage.getItem(themeStorageKey2) || defaultTheme; const light = mode === \\\"light\\\" || mode === \\\"system\\\" && window.matchMedia(\\\"(prefers-color-scheme: light)\\\").matches; if (light) { if (darkClassNames2.length) rootEl.classList.remove(...darkClassNames2); if (lightClassNames2.length) rootEl.classList.add(...lightClassNames2); } else { if (lightClassNames2.length) rootEl.class\",\"classification_terms\":[\"notes/structural-types-increase-compatibility\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"docduck.dev\",\"buymeacoffee.com\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/notes/mac-tips\",\"status\":200,\"title\":\"Mac tips - Allan Deutsch\",\"word_count\":402,\"summary_text\":\"Mac tips - Allan Deutsch (function setInitialMode({ defaultMode = \\\"system\\\", themeColors: themeColors2, darkClassNames: darkClassNames2 = [\\\"dark\\\"], lightClassNames: lightClassNames2 = [], defaultTheme = \\\"\\\", modeStorageKey: modeStorageKey2 = \\\"mode-watcher-mode\\\", themeStorageKey: themeStorageKey2 = \\\"mode-watcher-theme\\\" }) { const rootEl = document.documentElement; const mode = localStorage.getItem(modeStorageKey2) || defaultMode; const theme2 = localStorage.getItem(themeStorageKey2) || defaultTheme; const light = mode === \\\"light\\\" || mode === \\\"system\\\" && window.matchMedia(\\\"(prefers-color-scheme: light)\\\").matches; if (light) { if (darkClassNames2.length) rootEl.classList.remove(...darkClassNames2); if (lightClassNames2.length) rootEl.classList.add(...lightClassNames2); } else { if (lightClassNames2.length) rootEl.class\",\"classification_terms\":[\"notes/mac-tips\",\"about\",\"help\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"docduck.dev\",\"buymeacoffee.com\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/notes/customer-teams-lucia\",\"status\":200,\"title\":\"Adding users to new teams with Lucia auth and Prisma - Allan Deutsch\",\"word_count\":4860,\"summary_text\":\"Adding users to new teams with Lucia auth and Prisma - Allan Deutsch (function setInitialMode({ defaultMode = \\\"system\\\", themeColors: themeColors2, darkClassNames: darkClassNames2 = [\\\"dark\\\"], lightClassNames: lightClassNames2 = [], defaultTheme = \\\"\\\", modeStorageKey: modeStorageKey2 = \\\"mode-watcher-mode\\\", themeStorageKey: themeStorageKey2 = \\\"mode-watcher-theme\\\" }) { const rootEl = document.documentElement; const mode = localStorage.getItem(modeStorageKey2) || defaultMode; const theme2 = localStorage.getItem(themeStorageKey2) || defaultTheme; const light = mode === \\\"light\\\" || mode === \\\"system\\\" && window.matchMedia(\\\"(prefers-color-scheme: light)\\\").matches; if (light) { if (darkClassNames2.length) rootEl.classList.remove(...darkClassNames2); if (lightClassNames2.length) rootEl.classList.add(...lightClassNames2); } else { if (lightClassNames2.length) rootEl.class\",\"classification_terms\":[\"notes/customer-teams-lucia\",\"support\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"docduck.dev\",\"buymeacoffee.com\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/notes/value-proposition\",\"status\":200,\"title\":\"Value proposition - Allan Deutsch\",\"word_count\":466,\"summary_text\":\"Value proposition - Allan Deutsch (function setInitialMode({ defaultMode = \\\"system\\\", themeColors: themeColors2, darkClassNames: darkClassNames2 = [\\\"dark\\\"], lightClassNames: lightClassNames2 = [], defaultTheme = \\\"\\\", modeStorageKey: modeStorageKey2 = \\\"mode-watcher-mode\\\", themeStorageKey: themeStorageKey2 = \\\"mode-watcher-theme\\\" }) { const rootEl = document.documentElement; const mode = localStorage.getItem(modeStorageKey2) || defaultMode; const theme2 = localStorage.getItem(themeStorageKey2) || defaultTheme; const light = mode === \\\"light\\\" || mode === \\\"system\\\" && window.matchMedia(\\\"(prefers-color-scheme: light)\\\").matches; if (light) { if (darkClassNames2.length) rootEl.classList.remove(...darkClassNames2); if (lightClassNames2.length) rootEl.classList.add(...lightClassNames2); } else { if (lightClassNames2.length) rootEl.class\",\"classification_terms\":[\"notes/value-proposition\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"docduck.dev\",\"buymeacoffee.com\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/notes/smaller-phone\",\"status\":200,\"title\":\"I want a smaller phone - Allan Deutsch\",\"word_count\":572,\"summary_text\":\"I want a smaller phone - Allan Deutsch (function setInitialMode({ defaultMode = \\\"system\\\", themeColors: themeColors2, darkClassNames: darkClassNames2 = [\\\"dark\\\"], lightClassNames: lightClassNames2 = [], defaultTheme = \\\"\\\", modeStorageKey: modeStorageKey2 = \\\"mode-watcher-mode\\\", themeStorageKey: themeStorageKey2 = \\\"mode-watcher-theme\\\" }) { const rootEl = document.documentElement; const mode = localStorage.getItem(modeStorageKey2) || defaultMode; const theme2 = localStorage.getItem(themeStorageKey2) || defaultTheme; const light = mode === \\\"light\\\" || mode === \\\"system\\\" && window.matchMedia(\\\"(prefers-color-scheme: light)\\\").matches; if (light) { if (darkClassNames2.length) rootEl.classList.remove(...darkClassNames2); if (lightClassNames2.length) rootEl.classList.add(...lightClassNames2); } else { if (lightClassNames2.length) rootEl.class\",\"classification_terms\":[\"notes/smaller-phone\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"docduck.dev\",\"buymeacoffee.com\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/notes/git-cheatsheet\",\"status\":200,\"title\":\"git-cheatsheet - Allan Deutsch\",\"word_count\":895,\"summary_text\":\"git-cheatsheet - Allan Deutsch (function setInitialMode({ defaultMode = \\\"system\\\", themeColors: themeColors2, darkClassNames: darkClassNames2 = [\\\"dark\\\"], lightClassNames: lightClassNames2 = [], defaultTheme = \\\"\\\", modeStorageKey: modeStorageKey2 = \\\"mode-watcher-mode\\\", themeStorageKey: themeStorageKey2 = \\\"mode-watcher-theme\\\" }) { const rootEl = document.documentElement; const mode = localStorage.getItem(modeStorageKey2) || defaultMode; const theme2 = localStorage.getItem(themeStorageKey2) || defaultTheme; const light = mode === \\\"light\\\" || mode === \\\"system\\\" && window.matchMedia(\\\"(prefers-color-scheme: light)\\\").matches; if (light) { if (darkClassNames2.length) rootEl.classList.remove(...darkClassNames2); if (lightClassNames2.length) rootEl.classList.add(...lightClassNames2); } else { if (lightClassNames2.length) rootEl.class\",\"classification_terms\":[\"notes/git-cheatsheet\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"docduck.dev\",\"buymeacoffee.com\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/notes/evaluating-startup-idea\",\"status\":200,\"title\":\"10 questions to evaluate a startup idea - Allan Deutsch\",\"word_count\":799,\"summary_text\":\"10 questions to evaluate a startup idea - Allan Deutsch (function setInitialMode({ defaultMode = \\\"system\\\", themeColors: themeColors2, darkClassNames: darkClassNames2 = [\\\"dark\\\"], lightClassNames: lightClassNames2 = [], defaultTheme = \\\"\\\", modeStorageKey: modeStorageKey2 = \\\"mode-watcher-mode\\\", themeStorageKey: themeStorageKey2 = \\\"mode-watcher-theme\\\" }) { const rootEl = document.documentElement; const mode = localStorage.getItem(modeStorageKey2) || defaultMode; const theme2 = localStorage.getItem(themeStorageKey2) || defaultTheme; const light = mode === \\\"light\\\" || mode === \\\"system\\\" && window.matchMedia(\\\"(prefers-color-scheme: light)\\\").matches; if (light) { if (darkClassNames2.length) rootEl.classList.remove(...darkClassNames2); if (lightClassNames2.length) rootEl.classList.add(...lightClassNames2); } else { if (lightClassNames2.length) rootEl.class\",\"classification_terms\":[\"notes/evaluating-startup-idea\",\"about\",\"help\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"docduck.dev\",\"buymeacoffee.com\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":2},{\"path\":\"/notes/work-life-balance\",\"status\":200,\"title\":\"Reflections on work-life balance - Allan Deutsch\",\"word_count\":1567,\"summary_text\":\"Reflections on work-life balance - Allan Deutsch (function setInitialMode({ defaultMode = \\\"system\\\", themeColors: themeColors2, darkClassNames: darkClassNames2 = [\\\"dark\\\"], lightClassNames: lightClassNames2 = [], defaultTheme = \\\"\\\", modeStorageKey: modeStorageKey2 = \\\"mode-watcher-mode\\\", themeStorageKey: themeStorageKey2 = \\\"mode-watcher-theme\\\" }) { const rootEl = document.documentElement; const mode = localStorage.getItem(modeStorageKey2) || defaultMode; const theme2 = local",
        "score_reasons_json": "[\"Category confidence was reduced, so the classifier fell back to the broader parent category.\"]",
        "route_domain": "allandeutsch.com",
        "display_domain": "allandeutsch.com"
    },
    "explainability": {
        "summary": "allandeutsch.com currently scores 64/100. The score is being shaped by a mixed signal profile rather than one dominant factor. Evidence confidence is strong enough for a relatively stable read. This is an estimated profile rather than a manually tracked one. Crawler access looks clean.",
        "badges": [
            {
                "label": "Profile",
                "value": "Estimated profile",
                "tone": "unknown",
                "detail": null
            },
            {
                "label": "Evidence confidence",
                "value": "High confidence",
                "tone": "good",
                "detail": "100/100"
            },
            {
                "label": "Traffic confidence",
                "value": "Solid confidence",
                "tone": "good",
                "detail": "66/100"
            },
            {
                "label": "Crawler access",
                "value": "Clean visibility",
                "tone": "good",
                "detail": null
            }
        ],
        "weighted_contributions": [
            {
                "label": "Quality system",
                "points": "+32.0",
                "tone": "good",
                "detail": "Technical quality, crawl depth, page structure, and implementation hygiene. Current subsystem score: 94/100."
            },
            {
                "label": "Reputation system",
                "points": "+16.3",
                "tone": "caution",
                "detail": "Authority, search visibility, reach, engagement, and registry stability. Current subsystem score: 48/100."
            },
            {
                "label": "Safety system",
                "points": "+32.0",
                "tone": "good",
                "detail": "Fraud, spam, and trust signals from infrastructure, crawl, and registry evidence. Current subsystem score: 100/100."
            },
            {
                "label": "Risk clamp",
                "points": "-16.0",
                "tone": "risk",
                "detail": "Safety thresholds capped the final score until the risk profile improves."
            }
        ],
        "evidence_cards": [
            {
                "label": "Authority and trust",
                "value": "42/100 · trust 55/100",
                "tone": "caution",
                "detail": "179 monthly visitors, 84 organic keywords, brand completeness 71/100, engagement 82/100."
            },
            {
                "label": "Backlink and search evidence",
                "value": "1 referring domains",
                "tone": "good",
                "detail": "1 backlinks across 1 referring domains. Diversity 92/100; spam penalty 6."
            },
            {
                "label": "Registry and domain stability",
                "value": "11.5 years old",
                "tone": "good",
                "detail": "Stability 100/100 · age 11.5 years · registrar Gandi SAS · expires in 1,289 days."
            },
            {
                "label": "Safety and fraud posture",
                "value": "Safety 100/100 · fraud 1/100",
                "tone": "good",
                "detail": "Primary tag T · safety 100/100 · fraud 1/100."
            }
        ],
        "positives": [
            "Established domain age: 11.5 years.",
            "Low registrar / ownership churn with solid registry stability.",
            "Healthy crawl quality and on-page completeness.",
            "Search evidence is broad enough to classify with better confidence.",
            "Registry history looks stable, which supports legitimacy and trust.",
            "The domain has been registered for years, which usually improves trust confidence."
        ],
        "risks": [],
        "freshness": [
            {
                "label": "Crawl evidence",
                "value": "2026-04-16 09:10:44",
                "tone": "good",
                "detail": "Crawl and page content sample. Age: 14h ago."
            },
            {
                "label": "WHOIS snapshot",
                "value": "2026-04-16 09:10:37",
                "tone": "good",
                "detail": "Registry profile and stability signals. Age: 14h ago."
            },
            {
                "label": "Keyword view",
                "value": "2026-04-16 23:57:16",
                "tone": "good",
                "detail": "Estimated visibility until tracked keyword snapshots exist. Age: 0s ago."
            },
            {
                "label": "Rank history",
                "value": "2026-04-16 23:57:16",
                "tone": "good",
                "detail": "Estimated trend derived from current profile and crawl signals. Age: 0s ago."
            },
            {
                "label": "Audience geography",
                "value": "Not captured yet",
                "tone": "unknown",
                "detail": "Audience mix is estimated from available signals rather than first-party audience logs."
            }
        ],
        "section_notes": {
            "audience": "Audience geography is estimated from category, country, traffic mix, and brand signals until first-party audience data is collected.",
            "keywords": "Top keywords are estimated from crawl language, brand, category, and visibility signals until tracked keyword snapshots are stored.",
            "history": "Rank history is estimated from the current profile because no stored history exists for this domain yet."
        },
        "base_weighted_score": 80,
        "fraud_clamp_penalty": 16,
        "final_score": 64
    },
    "insight_snapshot": {
        "version": 1,
        "generated_at": "2026-04-16T23:57:16+00:00",
        "domain": "allandeutsch.com",
        "display_name": "Allan Deutsch",
        "is_tracked": false,
        "is_estimated": true,
        "overall_score": 64,
        "authority_score": 42,
        "trust_score": 55,
        "safety_score": 100,
        "fraud_score": 1,
        "confidence_score": 100,
        "traffic_confidence": 66,
        "last_crawled_at": "2026-04-16 09:10:44",
        "crawl_blocked": false,
        "summary": "allandeutsch.com currently scores 64/100. The score is being shaped by a mixed signal profile rather than one dominant factor. Evidence confidence is strong enough for a relatively stable read. This is an estimated profile rather than a manually tracked one. Crawler access looks clean.",
        "badges": [
            {
                "label": "Profile",
                "value": "Estimated profile",
                "tone": "unknown",
                "detail": null
            },
            {
                "label": "Evidence confidence",
                "value": "High confidence",
                "tone": "good",
                "detail": "100/100"
            },
            {
                "label": "Traffic confidence",
                "value": "Solid confidence",
                "tone": "good",
                "detail": "66/100"
            },
            {
                "label": "Crawler access",
                "value": "Clean visibility",
                "tone": "good",
                "detail": null
            }
        ],
        "top_positive_signals": [
            "Established domain age: 11.5 years.",
            "Low registrar / ownership churn with solid registry stability.",
            "Healthy crawl quality and on-page completeness.",
            "Search evidence is broad enough to classify with better confidence.",
            "Registry history looks stable, which supports legitimacy and trust."
        ],
        "top_risk_signals": [],
        "freshness": [
            {
                "label": "Crawl evidence",
                "value": "2026-04-16 09:10:44",
                "tone": "good",
                "detail": "Crawl and page content sample. Age: 14h ago."
            },
            {
                "label": "WHOIS snapshot",
                "value": "2026-04-16 09:10:37",
                "tone": "good",
                "detail": "Registry profile and stability signals. Age: 14h ago."
            },
            {
                "label": "Keyword view",
                "value": "2026-04-16 23:57:16",
                "tone": "good",
                "detail": "Estimated visibility until tracked keyword snapshots exist. Age: 0s ago."
            },
            {
                "label": "Rank history",
                "value": "2026-04-16 23:57:16",
                "tone": "good",
                "detail": "Estimated trend derived from current profile and crawl signals. Age: 0s ago."
            },
            {
                "label": "Audience geography",
                "value": "Not captured yet",
                "tone": "unknown",
                "detail": "Audience mix is estimated from available signals rather than first-party audience logs."
            }
        ],
        "top_tags": [
            {
                "code": "T",
                "label": "Trusted",
                "tone": "good"
            },
            {
                "code": "Uncertain",
                "label": "Uncertain",
                "tone": "unknown"
            }
        ]
    },
    "is_tracked": false,
    "is_estimated": true,
    "live_state": {
        "status": "processing",
        "status_label": "Cache build running",
        "message": "The refreshed page cache is still being built for this domain.",
        "updated_at": "2026-04-17T11:40:01+00:00"
    },
    "refresh_state": {
        "canRequest": false,
        "queued": true,
        "processing": true,
        "stageKey": "cache-queued",
        "stageLabel": "Cache build running",
        "cooldownUntil": null,
        "message": "The refreshed page cache is still being built for this domain.",
        "action": "/domain/allandeutsch.com/refresh",
        "isGuestCooldown": false,
        "cooldownSeconds": 0
    },
    "urlscan_report": {
        "domain": "allandeutsch.com",
        "status": "idle",
        "submitted_at": null,
        "completed_at": null,
        "last_checked_at": null,
        "last_error": "",
        "submitted_url": "https://allandeutsch.com/",
        "uuid": "",
        "result_url": "",
        "api_result_url": "",
        "visibility": "public",
        "summary": "No urlscan.io report has been requested for this domain yet.",
        "report": [],
        "report_summary": [],
        "is_fresh": false,
        "can_retry": true,
        "poll_after_seconds": 20
    }
}