{
    "ready": true,
    "site": {
        "id": 0,
        "domain": "amxmln.com",
        "display_name": "Portfolio",
        "primary_country_code": "",
        "category_name": "Personal: Portfolios & CVs"
    },
    "metrics": {
        "global_rank": 30987,
        "country_rank": 16338,
        "category_rank": 46,
        "daily_pageviews_per_visitor": 3.98,
        "daily_time_on_site_seconds": 335,
        "bounce_rate": 30.8,
        "search_visits_percent": 41.28,
        "total_sites_linking_in": 1,
        "monthly_unique_visitors": 162,
        "recorded_at": "2026-03-19 01:35:41"
    },
    "audit": {
        "score": 89
    },
    "traffic_sources": {
        "direct_percent": 28.41,
        "search_percent": 36.07,
        "social_percent": 8.48,
        "referral_percent": 12.23,
        "email_percent": 6.06,
        "paid_percent": 8.75
    },
    "seo_profile": {
        "backlinks_total": 1,
        "referring_domains": 1,
        "dofollow_backlinks_percent": 100,
        "organic_keywords": 80,
        "indexed_pages": 10,
        "page_speed_score": 92,
        "mobile_friendliness_score": 88,
        "authority_score": 45,
        "spam_risk_score": 15
    },
    "crawl_report": {
        "robots_status": 200,
        "sitemap_status": 404,
        "sitemap_total_urls": 0,
        "crawl_blocked": false,
        "crawl_blocked_by": "",
        "crawl_blocked_reason": "",
        "notes": [
            "Sitemap could not be confirmed."
        ],
        "created_at": "2026-03-19 01:35:41"
    },
    "keywords": [
        {
            "keyword": "Portfolio",
            "position": 19,
            "search_engine": "Estimated",
            "checked_at": "2026-04-19 10:36:19",
            "is_estimated": true
        },
        {
            "keyword": "Portfolio personal: portfolios & cvs",
            "position": 21,
            "search_engine": "Estimated",
            "checked_at": "2026-04-19 10:36:19",
            "is_estimated": true
        },
        {
            "keyword": "Portfolio reviews",
            "position": 23,
            "search_engine": "Estimated",
            "checked_at": "2026-04-19 10:36:19",
            "is_estimated": true
        },
        {
            "keyword": "portfolio",
            "position": 25,
            "search_engine": "Estimated",
            "checked_at": "2026-04-19 10:36:19",
            "is_estimated": true
        },
        {
            "keyword": "amxmln",
            "position": 27,
            "search_engine": "Estimated",
            "checked_at": "2026-04-19 10:36:19",
            "is_estimated": true
        },
        {
            "keyword": "amadeus",
            "position": 29,
            "search_engine": "Estimated",
            "checked_at": "2026-04-19 10:36:19",
            "is_estimated": true
        },
        {
            "keyword": "maximilian",
            "position": 31,
            "search_engine": "Estimated",
            "checked_at": "2026-04-19 10:36:19",
            "is_estimated": true
        }
    ],
    "rating": {
        "overall": 64,
        "label": "Healthy",
        "breakdown": [
            {
                "label": "Technical foundation",
                "score": 14,
                "max": 18
            },
            {
                "label": "Authority & trust",
                "score": 14,
                "max": 30
            },
            {
                "label": "Reach & market presence",
                "score": 3,
                "max": 18
            },
            {
                "label": "Search visibility",
                "score": 3,
                "max": 12
            },
            {
                "label": "Engagement & retention",
                "score": 9,
                "max": 10
            },
            {
                "label": "Channels & diversification",
                "score": 4,
                "max": 6
            },
            {
                "label": "Registry stability",
                "score": 4,
                "max": 6
            },
            {
                "label": "Quality system",
                "score": 78,
                "max": 100
            },
            {
                "label": "Reputation system",
                "score": 45,
                "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": 45,
        "quality_score": 78,
        "reputation_score": 45,
        "safety_score": 100,
        "confidence_score": 100,
        "fraud_score": 2,
        "authority_signals": {
            "backlinks": 1,
            "referring_domains": 1,
            "organic_keywords": 80,
            "indexed_pages": 10,
            "monthly_visitors": 162,
            "global_rank": 30987,
            "engagement_score": 81,
            "crawl_quality_score": 100,
            "brand_completeness_score": 77,
            "link_diversity_score": 92,
            "technical_reliability_score": 85,
            "whois_score": 55,
            "whois_age_years": 7.9,
            "whois_stability_score": 91,
            "spam_penalty": 0
        },
        "whois_signals": {
            "age_years": 7.9,
            "days_to_expiry": 46,
            "days_since_last_registry_update": 318,
            "stability_score": 91,
            "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": 4,
            "status_count": 1
        }
    },
    "authority_score": 45,
    "trust_score": 80,
    "domain_tags": {
        "primary_tag": "T",
        "primary_tag_score": 83,
        "primary_candidate": "T",
        "primary_candidate_score": 83,
        "tag_codes": "T",
        "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": 83,
                "score": 83,
                "match_percent": 83,
                "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": 83,
                "score": 83,
                "match_percent": 83,
                "threshold_band": "strong"
            },
            {
                "code": "Uncertain",
                "label": "Uncertain",
                "tone": "unknown",
                "description": "External checks stayed inconclusive, so the model avoided a harder verdict.",
                "reason": "",
                "message": "The evidence does not currently look notably uncertain.",
                "priority": 18,
                "score": 18,
                "match_percent": 18,
                "threshold_band": "none"
            },
            {
                "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": 12,
                "score": 12,
                "match_percent": 12,
                "threshold_band": "none"
            },
            {
                "code": "D",
                "label": "Dangerous",
                "tone": "toxic",
                "description": "Strong signs of phishing, malware, or other harmful behaviour were detected.",
                "reason": "Multiple high-risk signals pushed this domain into the dangerous range.",
                "message": "No meaningful dangerous-signal match was detected.",
                "priority": 1,
                "score": 1,
                "match_percent": 1,
                "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"
            }
        ],
        "nsfw_score": 0,
        "trust_score": 81,
        "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 (83% 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 · 83%",
                "tone": "good",
                "detail": "The highest raw tag match from the heuristic engine before visibility thresholds and manual overrides."
            },
            {
                "label": "Trust score",
                "value": "81/100",
                "tone": "good",
                "detail": "Confidence derived from authority, crawl quality, stability, and risk signals."
            },
            {
                "label": "Authority score",
                "value": "45/100",
                "tone": "caution",
                "detail": "A higher authority score usually means broader reputation and backlink confidence."
            },
            {
                "label": "Spam risk",
                "value": "0/100",
                "tone": "good",
                "detail": "Lower is better. This blends spam indicators with false-positive protections for legitimate sites."
            },
            {
                "label": "Quality score",
                "value": "87/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": "2/100",
                "tone": "good",
                "detail": "Lower is better. This reflects phishing, drainer, fake-support, fake-shop, and malware signals."
            },
            {
                "label": "Infrastructure risk",
                "value": "12/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": "91/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": "7.9 years",
                        "tone": "good",
                        "detail": "Older domains generally carry more historical trust than very new ones."
                    },
                    {
                        "label": "Stability score",
                        "value": "91/100",
                        "tone": "good",
                        "detail": "Penalised by registrar, ownership, and nameserver churn."
                    },
                    {
                        "label": "Days to expiry",
                        "value": "46",
                        "tone": "caution",
                        "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": "80",
                        "tone": "caution",
                        "detail": "Search footprint helps distinguish real sites from thin shells."
                    },
                    {
                        "label": "Indexed pages",
                        "value": "10",
                        "tone": "caution",
                        "detail": "Larger index coverage usually means more evidence to classify from."
                    },
                    {
                        "label": "Brand strength",
                        "value": "77/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 · 543 ms",
                        "tone": "good",
                        "detail": "Slow or broken technical signals weaken confidence."
                    },
                    {
                        "label": "Content words",
                        "value": "342",
                        "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": "13 internal · 6 external",
                        "tone": "good",
                        "detail": "Link patterns help detect thin directories and promo pages."
                    },
                    {
                        "label": "Page speed / mobile",
                        "value": "92/100 · 88/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: 7.9 years.",
            "Low registrar / ownership churn with solid registry stability.",
            "Healthy crawl quality and on-page completeness."
        ],
        "risks": []
    },
    "traffic_confidence": 66,
    "whois": {
        "current": {
            "id": 27790,
            "domain": "amxmln.com",
            "source_type": "rdap",
            "rdap_url": "https://rdap.verisign.com/com/v1/domain/AMXMLN.COM",
            "registrar_name": "INWX GmbH",
            "registrar_handle": "1420",
            "registrant_name": "",
            "registrant_org": "",
            "registrant_country": "",
            "registrant_email": "",
            "abuse_email": "abuse@inwx.com",
            "created_date": "2018-06-04 22:18:32",
            "updated_date": "2025-06-05 07:44:42",
            "expires_date": "2026-06-04 22:18:32",
            "nameservers_json": "[\"dns1.p07.nsone.net\",\"dns2.p07.nsone.net\",\"dns3.p07.nsone.net\",\"dns4.p07.nsone.net\"]",
            "status_json": "[\"client transfer prohibited\"]",
            "dnssec": "unsigned",
            "privacy_protected": 0,
            "content_hash": "ce82feb29bf0ac98e78a10a8d4534dd8e74f95f720da3d20985865a6eecdcb82",
            "history_count": 1,
            "last_checked_at": "2026-03-19 01:35:35",
            "last_changed_at": "2026-03-19 01:35:35",
            "created_at": "2026-03-19 01:35:35",
            "updated_at": "2026-03-19 01:35:35"
        },
        "history": [
            {
                "id": 28454,
                "domain": "amxmln.com",
                "source_type": "rdap",
                "registrar_name": "INWX GmbH",
                "registrar_handle": "1420",
                "registrant_name": "",
                "registrant_org": "",
                "registrant_country": "",
                "registrant_email": "",
                "abuse_email": "abuse@inwx.com",
                "created_date": "2018-06-04 22:18:32",
                "updated_date": "2025-06-05 07:44:42",
                "expires_date": "2026-06-04 22:18:32",
                "nameservers_json": "[\"dns1.p07.nsone.net\",\"dns2.p07.nsone.net\",\"dns3.p07.nsone.net\",\"dns4.p07.nsone.net\"]",
                "status_json": "[\"client transfer prohibited\"]",
                "dnssec": "unsigned",
                "privacy_protected": 0,
                "content_hash": "ce82feb29bf0ac98e78a10a8d4534dd8e74f95f720da3d20985865a6eecdcb82",
                "checked_at": "2026-03-19 01:35:35",
                "change_summary": "Initial WHOIS snapshot captured.",
                "created_at": "2026-03-19 01:35:35"
            }
        ],
        "signals": {
            "age_years": 7.9,
            "days_to_expiry": 46,
            "days_since_last_registry_update": 318,
            "stability_score": 91,
            "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": 4,
            "status_count": 1
        }
    },
    "discovered_domain": {
        "id": 81043,
        "domain": "amxmln.com",
        "first_seen_at": "2026-03-15 20:24:55",
        "last_crawled_at": "2026-03-19 01:35:41",
        "last_title": "Portfolio | Amadeus Maximilian",
        "last_http_status": 200,
        "discovered_from_domain": "personalsit.es",
        "depth": 0,
        "backlinks_count": 1,
        "rating_cache": 60,
        "spam_score": 24,
        "risk_label": "good",
        "category_name": "Personal: Portfolios & CVs",
        "primary_country_code": "",
        "internal_links_count": 13,
        "external_links_count": 6,
        "social_profiles_count": 2,
        "content_word_count": 342,
        "title_quality_score": 93,
        "has_meta_description": 1,
        "has_h1": 1,
        "language_code": "en",
        "response_time_ms": 543,
        "robots_status": 200,
        "sitemap_status": 404,
        "sitemap_total_urls": 0,
        "quality_score": 87,
        "site_name": "Amadeus Maximilian",
        "canonical_domain": "",
        "favicon_present": 1,
        "schema_org_count": 0,
        "noindex_detected": 0,
        "feed_links_count": 0,
        "https_working": 1,
        "estimated_authority_score": 35,
        "trust_score": 100,
        "nsfw_score": 0,
        "overall_rank_estimate": 10006,
        "primary_tag": "Uncertain",
        "tag_codes": "Uncertain",
        "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": 2,
        "legitimacy_score": 59,
        "infrastructure_risk_score": 12,
        "score_confidence": 100,
        "tag_confidence": 72,
        "category_confidence": 88,
        "deep_crawl_pages": 50,
        "resolved_ip": "35.185.44.232",
        "category_candidates_json": "[{\"category\":\"Personal: Portfolios & CVs\",\"score\":88}]",
        "page_signals_json": "[{\"path\":\"/legal\",\"status\":200,\"title\":\"Impressum & Privacy Policy | Amadeus Maximilian\",\"word_count\":340,\"summary_text\":\"Impressum & Privacy Policy | Amadeus Maximilian Impressum &amp; Privacy Policy | Amadeus Maximilian.g-image--loading{ display: none !important; } PortfolioBlogAppsContactIt looks like you have JavaScript disabled. This site will work without it, but your experience might be better if you enable JavaScript. If you are worried about your data, please check my privacy policy for details on how I collect as little data as possible.legal informationImpressumAmadeus StadlerGravelottestr. 1181667 MünchenKontakt E-Mail: amadeus.stadler@gmail.com Alternativ: Anruf / Nachricht via TelegramPrivacy PolicyI take your personal data and privacy very seriously, which is why this website only collects the data it absolutely needs to function and stores no cookies on your device.In order for this site to be available online and function, it has to be hos\",\"classification_terms\":[\"legal\",\"about\",\"contact\",\"privacy\",\"blog\",\"store\"],\"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\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":1},{\"path\":\"/legal/\",\"status\":200,\"title\":\"Impressum & Privacy Policy | Amadeus Maximilian\",\"word_count\":340,\"summary_text\":\"Impressum & Privacy Policy | Amadeus Maximilian Impressum &amp; Privacy Policy | Amadeus Maximilian.g-image--loading{ display: none !important; } PortfolioBlogAppsContactIt looks like you have JavaScript disabled. This site will work without it, but your experience might be better if you enable JavaScript. If you are worried about your data, please check my privacy policy for details on how I collect as little data as possible.legal informationImpressumAmadeus StadlerGravelottestr. 1181667 MünchenKontakt E-Mail: amadeus.stadler@gmail.com Alternativ: Anruf / Nachricht via TelegramPrivacy PolicyI take your personal data and privacy very seriously, which is why this website only collects the data it absolutely needs to function and stores no cookies on your device.In order for this site to be available online and function, it has to be hos\",\"classification_terms\":[\"legal\",\"about\",\"contact\",\"privacy\",\"blog\",\"store\"],\"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\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":1},{\"path\":\"/blog/\",\"status\":200,\"title\":\"Blog | Amadeus Maximilian\",\"word_count\":1112,\"summary_text\":\"Blog | Amadeus Maximilian Blog | Amadeus Maximilian.g-image--loading{ display: none !important; } PortfolioAppsContactIt looks like you have JavaScript disabled. This site will work without it, but your experience might be better if you enable JavaScript. If you are worried about your data, please check my privacy policy for details on how I collect as little data as possible.BlogWelcome to my blog! This is the place for my thoughts on various topics surrounding design and technology.March 13th, 2026 · 2min readSlowing DownI might have overdone things recently and now I’m paying the price for it, so I’m slowing down a little.February 20th, 2026 · 3min readA Pocketbase-shaped HammerI recently tried out Pocketbase, and now every problem looks like it could be solved with Pocketbase…oh if only that were true. But I fo\",\"classification_terms\":[\"blog\",\"about\",\"contact\",\"privacy\"],\"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\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":1},{\"path\":\"/apps/\",\"status\":200,\"title\":\"Apps | Amadeus Maximilian\",\"word_count\":441,\"summary_text\":\"Apps | Amadeus Maximilian Apps | Amadeus Maximilian.g-image--loading{ display: none !important; } PortfolioBlogContactIt looks like you have JavaScript disabled. This site will work without it, but your experience might be better if you enable JavaScript. If you are worried about your data, please check my privacy policy for details on how I collect as little data as possible.My Apps Over the years, I’ve created and published a number of progressive web applications. I have collected them here for easy access. Some of them might also be featured as projects in my Portfolio, if you’d like to learn more about them and the process involved in their creation. QuadrantsCreate quick code playgrounds to test HTML, CSS, and JS code right in the browser without having to open an IDE.Open AppHydrtKeep track of how much liqui\",\"classification_terms\":[\"apps\",\"about\",\"contact\",\"privacy\",\"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\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":1},{\"path\":\"/projects/2022/hydrt/\",\"status\":200,\"title\":\"Hydrt | Amadeus Maximilian\",\"word_count\":439,\"summary_text\":\"Hydrt | Amadeus Maximilian Hydrt | Amadeus Maximilian.g-image--loading{ display: none !important; } PortfolioBlogAppsContactIt looks like you have JavaScript disabled. This site will work without it, but your experience might be better if you enable JavaScript. If you are worried about your data, please check my privacy policy for details on how I collect as little data as possible.HydrtJune 2022personal projectcompletedProject WebsiteDrinking enough water is very important for a healthy lifestyle. Unfortunately, it’s also not that easy for many people in this world of sweet soft drinks and constant distractions—me included.I had no idea how much or little water I was drinking every day and so I started looking for a way to track just that. There are plenty of apps out there that allow just that, but none of them fi\",\"classification_terms\":[\"projects/2022/hydrt\",\"about\",\"contact\",\"privacy\",\"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\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":1},{\"path\":\"/projects/2018/qami/\",\"status\":200,\"title\":\"Qami | Amadeus Maximilian\",\"word_count\":436,\"summary_text\":\"Qami | Amadeus Maximilian Qami | Amadeus Maximilian.g-image--loading{ display: none !important; } PortfolioBlogAppsContactIt looks like you have JavaScript disabled. This site will work without it, but your experience might be better if you enable JavaScript. If you are worried about your data, please check my privacy policy for details on how I collect as little data as possible.goal Create the perfect application for long-form creative writing QamiSeptember 2018personal projectcompletedProject WebsiteFailing to find a distraction-free word processor with the features I wanted, I set out to create my own in a yearlong process. The UI went through multiple iterations both for usability and visual experience. This is the final design from September 2018, when the first version of the application was released to the\",\"classification_terms\":[\"projects/2018/qami\",\"about\",\"contact\",\"privacy\",\"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\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":1},{\"path\":\"/projects/2019/magistan/\",\"status\":200,\"title\":\"Magistan | Amadeus Maximilian\",\"word_count\":374,\"summary_text\":\"Magistan | Amadeus Maximilian Magistan | Amadeus Maximilian.g-image--loading{ display: none !important; } PortfolioBlogAppsContactIt looks like you have JavaScript disabled. This site will work without it, but your experience might be better if you enable JavaScript. If you are worried about your data, please check my privacy policy for details on how I collect as little data as possible.MagistanJanuary 2019university projectcompletedIn my third semester studying communication design, I had the oppurtunity to take part in a class on game design that dealt with why people play. The final project for this class was to create a prototype for a game, either digital or analog, and I decided to go for a traditional card game to balance out a semester otherwise firmly rooted in digital work.The result is a card-game with the\",\"classification_terms\":[\"projects/2019/magistan\",\"about\",\"contact\",\"privacy\",\"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\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":1},{\"path\":\"/projects/2019/untold-stories/\",\"status\":200,\"title\":\"Untold Stories | Amadeus Maximilian\",\"word_count\":431,\"summary_text\":\"Untold Stories | Amadeus Maximilian Untold Stories | Amadeus Maximilian.g-image--loading{ display: none !important; } PortfolioBlogAppsContactIt looks like you have JavaScript disabled. This site will work without it, but your experience might be better if you enable JavaScript. If you are worried about your data, please check my privacy policy for details on how I collect as little data as possible.goal Create a social network focussed on creative writing Untold StoriesNovember 2019personal projectongoingProject WebsiteUntold Stories is a creative writing group originally founded in 2014 at LMU Munich. I was one of its first members and have been a part of the group ever since. Originally, we were using Moodle to share our writing and then discuss it during our fortnightly or weekly meetings, but that quickly became cumbers\",\"classification_terms\":[\"projects/2019/untold-stories\",\"about\",\"contact\",\"privacy\",\"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\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":1},{\"path\":\"/projects/2018/price-of-social-media/\",\"status\":200,\"title\":\"Price of Social Media | Amadeus Maximilian\",\"word_count\":372,\"summary_text\":\"Price of Social Media | Amadeus Maximilian Price of Social Media | Amadeus Maximilian.g-image--loading{ display: none !important; } PortfolioBlogAppsContactIt looks like you have JavaScript disabled. This site will work without it, but your experience might be better if you enable JavaScript. If you are worried about your data, please check my privacy policy for details on how I collect as little data as possible.goal Visualise what data social networks collect in an easy to understand way Price of Social MediaJuly 2018university projectcompletedProject WebsiteArguably, data is one of the most precious resources of the 21st century and due to its value, it has long become a form of payment. In the end, everybody should decide for themselves whether they want to pay with the data a service is requiring, but I believe everybody has t\",\"classification_terms\":[\"projects/2018/price-of-social-media\",\"about\",\"contact\",\"privacy\",\"payment\",\"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\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":1},{\"path\":\"/projects/2018/prt-mny/\",\"status\":200,\"title\":\"Prt Mny | Amadeus Maximilian\",\"word_count\":392,\"summary_text\":\"Prt Mny | Amadeus Maximilian Prt Mny | Amadeus Maximilian.g-image--loading{ display: none !important; } PortfolioBlogAppsContactIt looks like you have JavaScript disabled. This site will work without it, but your experience might be better if you enable JavaScript. If you are worried about your data, please check my privacy policy for details on how I collect as little data as possible.goal Keeping track of what goes in and out of my wallet Prt MnyJuly 2018personal projectcompletedProject WebsiteHave you ever gotten money from an ATM only to find your wallet empty again two days after? It happened to me and I knew I didn’t lose it, and I certainly hadn’t been robbed. The truth is, most people don’t pay much attention to the change they spend from their wallets, even though over time that can become quite the sum of mo\",\"classification_terms\":[\"projects/2018/prt-mny\",\"about\",\"contact\",\"privacy\",\"wallet\",\"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\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":1},{\"path\":\"/projects/2020/webdesign-2-a-class/\",\"status\":200,\"title\":\"Webdesign 2: a class | Amadeus Maximilian\",\"word_count\":452,\"summary_text\":\"Webdesign 2: a class | Amadeus Maximilian Webdesign 2: a class | Amadeus Maximilian.g-image--loading{ display: none !important; } PortfolioBlogAppsContactIt looks like you have JavaScript disabled. This site will work without it, but your experience might be better if you enable JavaScript. If you are worried about your data, please check my privacy policy for details on how I collect as little data as possible.goal Conceptualise, design, and teach a course on intermediate JavaScript and Vue.js Webdesign 2: a classMarch 2020university projectcompletedProject WebsiteWhile in my sixth semester at University of Applied Sciences Munich, I suggested I teach a course on advanced webdesign, since the topic is not taught at my faculty beyond a simple introduction in the third semester.My proposal was accepted and I spent much of my semest\",\"classification_terms\":[\"projects/2020/webdesign-2-a-class\",\"about\",\"contact\",\"privacy\",\"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\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":1},{\"path\":\"/projects/2019/vic-19/\",\"status\":200,\"title\":\"#vic-19 | Amadeus Maximilian\",\"word_count\":312,\"summary_text\":\"#vic-19 | Amadeus Maximilian #vic-19 | Amadeus Maximilian.g-image--loading{ display: none !important; } PortfolioBlogAppsContactIt looks like you have JavaScript disabled. This site will work without it, but your experience might be better if you enable JavaScript. If you are worried about your data, please check my privacy policy for details on how I collect as little data as possible.goal Get familiar with Figma and improve my vector art skills #vic-19February 2019personal projectcompletedI always strive to learn new things and improve existing skills, which is why I set myself the challenge to make one vector illustration every day for the entire month of February in 2019. Every day I either picked a topic myself, or turned to my girlfriend or the internet for inspiration and then continued to make an illustration\",\"classification_terms\":[\"projects/2019/vic-19\",\"about\",\"contact\",\"privacy\",\"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\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":1},{\"path\":\"/blog\",\"status\":200,\"title\":\"Blog | Amadeus Maximilian\",\"word_count\":1112,\"summary_text\":\"Blog | Amadeus Maximilian Blog | Amadeus Maximilian.g-image--loading{ display: none !important; } PortfolioAppsContactIt looks like you have JavaScript disabled. This site will work without it, but your experience might be better if you enable JavaScript. If you are worried about your data, please check my privacy policy for details on how I collect as little data as possible.BlogWelcome to my blog! This is the place for my thoughts on various topics surrounding design and technology.March 13th, 2026 · 2min readSlowing DownI might have overdone things recently and now I’m paying the price for it, so I’m slowing down a little.February 20th, 2026 · 3min readA Pocketbase-shaped HammerI recently tried out Pocketbase, and now every problem looks like it could be solved with Pocketbase…oh if only that were true. But I fo\",\"classification_terms\":[\"blog\",\"about\",\"contact\",\"privacy\"],\"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\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":1},{\"path\":\"/blog/2026/slowing-down/\",\"status\":200,\"title\":\"Slowing Down | Amadeus Maximilian\",\"word_count\":1327,\"summary_text\":\"Slowing Down | Amadeus Maximilian Slowing Down | Amadeus Maximilian.g-image--loading{ display: none !important; } PortfolioBlogAppsContactIt looks like you have JavaScript disabled. This site will work without it, but your experience might be better if you enable JavaScript. If you are worried about your data, please check my privacy policy for details on how I collect as little data as possible.Slowing DownPublished Friday, March 13th 2026 · 2min readOver the last three months, my partner moved in with me, I suddenly lost a family member, and I tried to build another app while designing a second for my sister. This (along with the never ending barrage of terrible things happening in the world) led to a deep exhaustion, and a general deterioration of my health. Just recently, I blogged about my evening projects and how muc\",\"classification_terms\":[\"blog/2026/slowing-down\",\"about\",\"contact\",\"privacy\",\"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\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":2},{\"path\":\"/blog/2026/a-pocketbase-shaped-hammer/\",\"status\":200,\"title\":\"A Pocketbase-shaped Hammer | Amadeus Maximilian\",\"word_count\":1641,\"summary_text\":\"A Pocketbase-shaped Hammer | Amadeus Maximilian A Pocketbase-shaped Hammer | Amadeus Maximilian.g-image--loading{ display: none !important; } PortfolioBlogAppsContactIt looks like you have JavaScript disabled. This site will work without it, but your experience might be better if you enable JavaScript. If you are worried about your data, please check my privacy policy for details on how I collect as little data as possible.A Pocketbase-shaped HammerPublished Friday, February 20th 2026 · 3min readWe all know what they say: when all you have is a hammer, everything starts looking like a nail. Well, this month, I finally took the plunge and tried out Pocketbase for the first time, something I’ve been wanting to do for a while. And let me tell you, I’m starting to see a lot of nails that look just perfect for my Pocketbase-shaped hammer. A\",\"classification_terms\":[\"blog/2026/a-pocketbase-shaped-hammer\",\"about\",\"contact\",\"privacy\",\"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\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":2},{\"path\":\"/blog/2026/that-time-i-got-hacked/\",\"status\":200,\"title\":\"That Time I got Hacked | Amadeus Maximilian\",\"word_count\":2879,\"summary_text\":\"That Time I got Hacked | Amadeus Maximilian That Time I got Hacked | Amadeus Maximilian.g-image--loading{ display: none !important; } PortfolioBlogAppsContactIt looks like you have JavaScript disabled. This site will work without it, but your experience might be better if you enable JavaScript. If you are worried about your data, please check my privacy policy for details on how I collect as little data as possible.That Time I got HackedPublished Thursday, January 22nd 2026 · 5min readTalk about a new year starting with a bang. I guess there’s a first time for everything and this one certainly wasn’t pleasant. Honestly, I’m still grappling with my emotions as I write this. There’s paranoia, embarrassment, confusion. Not a very healthy mix of feelings for the bleakest month of the year—and also the reason it took me so long to finish\",\"classification_terms\":[\"blog/2026/that-time-i-got-hacked\",\"about\",\"contact\",\"privacy\",\"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\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":2},{\"path\":\"/blog/2025/2025-a-year-in-review/\",\"status\":200,\"title\":\"2025: A Year in Review | Amadeus Maximilian\",\"word_count\":3281,\"summary_text\":\"2025: A Year in Review | Amadeus Maximilian 2025: A Year in Review | Amadeus Maximilian.g-image--loading{ display: none !important; } PortfolioBlogAppsContactIt looks like you have JavaScript disabled. This site will work without it, but your experience might be better if you enable JavaScript. If you are worried about your data, please check my privacy policy for details on how I collect as little data as possible.2025: A Year in ReviewPublished Thursday, December 25th 2025 · 6min readI feel like I write this every year, but how is it December already again? Time moves so fast, I could’ve sworn I was sitting in a cinema lobby all sweaty after a horrible train ride just last week, but that was back in August. Now, it’s freezing outside and the nights are long and dark. I really don’t deal with the winter months too well, perhaps tha\",\"classification_terms\":[\"blog/2025/2025-a-year-in-review\",\"about\",\"contact\",\"privacy\",\"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\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":2},{\"path\":\"/blog/2025/those-evening-projects/\",\"status\":200,\"title\":\"Those Evening Projects | Amadeus Maximilian\",\"word_count\":2360,\"summary_text\":\"Those Evening Projects | Amadeus Maximilian Those Evening Projects | Amadeus Maximilian.g-image--loading{ display: none !important; } PortfolioBlogAppsContactIt looks like you have JavaScript disabled. This site will work without it, but your experience might be better if you enable JavaScript. If you are worried about your data, please check my privacy policy for details on how I collect as little data as possible.Those Evening ProjectsPublished Wednesday, November 5th 2025 · 4min readFor as long as I’ve been actively creative, I’ve always had an evening project. Sure, there were breaks between such projects, but they were never long. I can’t help it, I feel like I need something to work on. If I don’t, I feel bad. Now, that could be an issue. I do have a tendency to overextend myself. I do too much, sometimes probably to the detri\",\"classification_terms\":[\"blog/2025/those-evening-projects\",\"about\",\"contact\",\"privacy\",\"help\",\"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\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":2},{\"path\":\"/blog/2025/marketing-my-stuff/\",\"status\":200,\"title\":\"Marketing My Stuff | Amadeus Maximilian\",\"word_count\":1192,\"summary_text\":\"Marketing My Stuff | Amadeus Maximilian Marketing My Stuff | Amadeus Maximilian.g-image--loading{ display: none !important; } PortfolioBlogAppsContactIt looks like you have JavaScript disabled. This site will work without it, but your experience might be better if you enable JavaScript. If you are worried about your data, please check my privacy policy for details on how I collect as little data as possible.Marketing My StuffPublished Sunday, October 19th 2025 · 2min readI’m sure this is a challenge any creator faces sooner or later, and I’m sure it’s especially true for anyone self-employed, but I struggle terribly with marketing my stuff. Stuff as in my blog, my apps, my creative writing—myself even. I’m lucky in the sense that I’m employed, and I don’t need to depend on my side-projects for income. It doesn’t even really matt\",\"classification_terms\":[\"blog/2025/marketing-my-stuff\",\"about\",\"contact\",\"privacy\",\"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\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":2},{\"path\":\"/blog/2025/introducing-quadrants/\",\"status\":200,\"title\":\"Introducing Quadrants | Amadeus Maximilian\",\"word_count\":2056,\"summary_text\":\"Introducing Quadrants | Amadeus Maximilian Introducing Quadrants | Amadeus Maximilian.g-image--loading{ display: none !important; } PortfolioBlogAppsContactIt looks like you have JavaScript disabled. This site will work without it, but your experience might be better if you enable JavaScript. If you are worried about your data, please check my privacy policy for details on how I collect as little data as possible.Introducing QuadrantsPublished Tuesday, September 30th 2025 · 8min readAfter nearly a full year of work, I’m happy to announce the first release of my newest app, Quadrants. 🥳 It is a local-first code playground designed around quickly trying out web design ideas, whether you’re at your desk or on the go. Similar to other tools of this kind, you get different editors for HTML, CSS, and JavaScript code which can then be exe\",\"classification_terms\":[\"blog/2025/introducing-quadrants\",\"about\",\"contact\",\"privacy\",\"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\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":2},{\"path\":\"/blog/2025/magistan-revisited/\",\"status\":200,\"title\":\"Magistan Revisited | Amadeus Maximilian\",\"word_count\":2297,\"summary_text\":\"Magistan Revisited | Amadeus Maximilian Magistan Revisited | Amadeus Maximilian.g-image--loading{ display: none !important; } PortfolioBlogAppsContactIt looks like you have JavaScript disabled. This site will work without it, but your experience might be better if you enable JavaScript. If you are worried about your data, please check my privacy policy for details on how I collect as little data as possible.Magistan RevisitedPublished Saturday, August 30th 2025 · 4min readA while ago (in January 2019, yikes), I completed the first version of Magistan, a card game I came up with for a seminar in game design back in my university days. At that point, it was little more than a prototype, really, but it was fun to play with a bunch of friends. Unfortunately, the pandemic hit a year after and there wasn’t much room to play in person\",\"classification_terms\":[\"blog/2025/magistan-revisited\",\"about\",\"contact\",\"privacy\",\"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\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":5,\"depth\":2},{\"path\":\"/blog/2025/so-i-kind-of-switched-to-zed/\",\"status\":200,\"title\":\"So I kind of switched to Zed? | Amadeus Maximilian\",\"word_count\":2099,\"summary_text\":\"So I kind of switched to Zed? | Amadeus Maximilian So I kind of switched to Zed? | Amadeus Maximilian.g-image--loading{ display: none !important; } PortfolioBlogAppsContactIt looks like you have JavaScript disabled. This site will work without it, but your experience might be better if you enable JavaScript. If you are worried about your data, please check my privacy policy for details on how I collect as little data as possible.So I kind of switched to Zed?Published Wednesday, July 30th 2025 · 3min readFor a developer, choosing a code editor is kind of like choosing an apartment. You’re going to spend a lot of time in it, so it has to be just right or you won’t enjoy it. In my roughly fifteen years of coding, I’ve tried a bunch of editors, from simple Notepad and Geany, to the Blender script editor and Gedit, to Brackets and Eclipse. None\",\"classification_terms\":[\"blog/2025/so-i-kind-of-switched-to-zed\",\"about\",\"contact\",\"privacy\",\"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\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":2},{\"path\":\"/blog/2025/the-future-of-the-web/\",\"status\":200,\"title\":\"The Future of the Web | Amadeus Maximilian\",\"word_count\":2082,\"summary_text\":\"The Future of the Web | Amadeus Maximilian The Future of the Web | Amadeus Maximilian.g-image--loading{ display: none !important; } PortfolioBlogAppsContactIt looks like you have JavaScript disabled. This site will work without it, but your experience might be better if you enable JavaScript. If you are worried about your data, please check my privacy policy for details on how I collect as little data as possible.The Future of the WebPublished Saturday, June 28th 2025 · 4min readI’ve said multiple times that I believe the web is the future. I still think that is true—it’s by far the best platform to publish most GUI apps which don’t depend on deep system or hardware integration. And I feel validated in that claim by the myriad of “AI” applications which have been sprouting up in the past few years, and the UIs of which have largely\",\"classification_terms\":[\"blog/2025/the-future-of-the-web\",\"about\",\"contact\",\"privacy\",\"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\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":2},{\"path\":\"/blog/2\",\"status\":200,\"title\":\"Blog | Amadeus Maximilian\",\"word_count\":1213,\"summary_text\":\"Blog | Amadeus Maximilian Blog | Amadeus Maximilian.g-image--loading{ display: none !important; } PortfolioBlogAppsContactIt looks like you have JavaScript disabled. This site will work without it, but your experience might be better if you enable JavaScript. If you are worried about your data, please check my privacy policy for details on how I collect as little data as possible.BlogWelcome to my blog! This is the place for my thoughts on various topics surrounding design and technology.May 10th, 2025 · 4min readMy Digital Tool BeltI thought it might be a fun idea to share my digital “toolbelt” so to speak. So this post explores my go-to frameworks and libraries for my personal projects.April 28th, 2025 · 5min readLoss of IdealsThis month, I had yet another long discussion about “AI” with an old friend from my sch\",\"classification_terms\":[\"blog/2\",\"about\",\"contact\",\"privacy\",\"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\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":2},{\"path\":\"/blog/2022/hydrt-helping-you-stay-hydrated/\",\"status\":200,\"title\":\"Hydrt: helping you stay hydrated | Amadeus Maximilian\",\"word_count\":1492,\"summary_text\":\"Hydrt: helping you stay hydrated | Amadeus Maximilian Hydrt: helping you stay hydrated | Amadeus Maximilian.g-image--loading{ display: none !important; } PortfolioBlogAppsContactIt looks like you have JavaScript disabled. This site will work without it, but your experience might be better if you enable JavaScript. If you are worried about your data, please check my privacy policy for details on how I collect as little data as possible.Hydrt: helping you stay hydratedPublished Sunday, July 10th 2022 · Updated Sunday, July 10th 2022 · 6min readI think it was about a year ago when I started seriously thinking about my hydration habits and how much water I should be drinking versus how much I was actually drinking every day. Now, there’s no shortage of apps which allow you to not only track your water consumption, but can also remind you to drink\",\"classification_terms\":[\"blog/2022/hydrt-helping-you-stay-hydrated\",\"about\",\"contact\",\"privacy\",\"help\",\"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\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":3},{\"path\":\"/blog/tagged/personal/\",\"status\":200,\"title\":\"Posts tagged âpersonalâ | Amadeus Maximilian\",\"word_count\":1117,\"summary_text\":\"Posts tagged âpersonalâ | Amadeus Maximilian Posts tagged “personal” | Amadeus Maximilian.g-image--loading{ display: none !important; } PortfolioBlogAppsContactIt looks like you have JavaScript disabled. This site will work without it, but your experience might be better if you enable JavaScript. If you are worried about your data, please check my privacy policy for details on how I collect as little data as possible.Posts Tagged:#personalMarch 13th, 2026 · 2min readSlowing DownI might have overdone things recently and now I’m paying the price for it, so I’m slowing down a little.January 22nd, 2026 · 5min readThat Time I got HackedSomeone managed to get into one of my remote hosts. This delves into what I think happened, and what I took away from it to avoid similar situations in the future.December 25th, 2025 · 6min read2025: A Year\",\"classification_terms\":[\"blog/tagged/personal\",\"about\",\"contact\",\"privacy\",\"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\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":3},{\"path\":\"/blog/tagged/health/\",\"status\":200,\"title\":\"Posts tagged âhealthâ | Amadeus Maximilian\",\"word_count\":313,\"summary_text\":\"Posts tagged âhealthâ | Amadeus Maximilian Posts tagged “health” | Amadeus Maximilian.g-image--loading{ display: none !important; } PortfolioBlogAppsContactIt looks like you have JavaScript disabled. This site will work without it, but your experience might be better if you enable JavaScript. If you are worried about your data, please check my privacy policy for details on how I collect as little data as possible.Posts Tagged:#healthMarch 13th, 2026 · 2min readSlowing DownI might have overdone things recently and now I’m paying the price for it, so I’m slowing down a little.March 23rd, 2025 · 5min readHurting HandsA more personal essay in which I outline a worrisome health situation I’m currently having to go through and the fears and frustrations that are coming along with it.Page 1 of 1Did you not find what you were looking for?\",\"classification_terms\":[\"blog/tagged/health\",\"about\",\"contact\",\"privacy\",\"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\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":3},{\"path\":\"/blog/2025/loss-of-ideals/\",\"status\":200,\"title\":\"Loss of Ideals | Amadeus Maximilian\",\"word_count\":2816,\"summary_text\":\"Loss of Ideals | Amadeus Maximilian Loss of Ideals | Amadeus Maximilian.g-image--loading{ display: none !important; } PortfolioBlogAppsContactIt looks like you have JavaScript disabled. This site will work without it, but your experience might be better if you enable JavaScript. If you are worried about your data, please check my privacy policy for details on how I collect as little data as possible.Loss of IdealsPublished Monday, April 28th 2025 · 5min readI’ve long had a very idealistic worldview. A strong sense of right and wrong (although that is deeply subjective, as I’ve come to realise). This month, I had yet another long discussion about “AI” with an old friend from my school days. It made me question whether I’m being too idealistic again. Whether I’m once more being blinded and held back by my (subjective) ideals.\",\"classification_terms\":[\"blog/2025/loss-of-ideals\",\"about\",\"contact\",\"privacy\",\"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\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":3},{\"path\":\"/blog/tagged/pocketbase/\",\"status\":200,\"title\":\"Posts tagged âpocketbaseâ | Amadeus Maximilian\",\"word_count\":229,\"summary_text\":\"Posts tagged âpocketbaseâ | Amadeus Maximilian Posts tagged “pocketbase” | Amadeus Maximilian.g-image--loading{ display: none !important; } PortfolioBlogAppsContactIt looks like you have JavaScript disabled. This site will work without it, but your experience might be better if you enable JavaScript. If you are worried about your data, please check my privacy policy for details on how I collect as little data as possible.Posts Tagged:#pocketbaseFebruary 20th, 2026 · 3min readA Pocketbase-shaped HammerI recently tried out Pocketbase, and now every problem looks like it could be solved with Pocketbase…oh if only that were true. But I found Pocketbase good, like really good.Page 1 of 1Did you not find what you were looking for? Check out all posts.Talk to MeIf you have a cool idea, need some help with a project, or just want to get to kno\",\"classification_terms\":[\"blog/tagged/pocketbase\",\"about\",\"contact\",\"privacy\",\"help\",\"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\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":3},{\"path\":\"/blog/tagged/backend/\",\"status\":200,\"title\":\"Posts tagged âbackendâ | Amadeus Maximilian\",\"word_count\":229,\"summary_text\":\"Posts tagged âbackendâ | Amadeus Maximilian Posts tagged “backend” | Amadeus Maximilian.g-image--loading{ display: none !important; } PortfolioBlogAppsContactIt looks like you have JavaScript disabled. This site will work without it, but your experience might be better if you enable JavaScript. If you are worried about your data, please check my privacy policy for details on how I collect as little data as possible.Posts Tagged:#backendFebruary 20th, 2026 · 3min readA Pocketbase-shaped HammerI recently tried out Pocketbase, and now every problem looks like it could be solved with Pocketbase…oh if only that were true. But I found Pocketbase good, like really good.Page 1 of 1Did you not find what you were looking for? Check out all posts.Talk to MeIf you have a cool idea, need some help with a project, or just want to get to know me b\",\"classification_terms\":[\"blog/tagged/backend\",\"about\",\"contact\",\"privacy\",\"help\",\"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\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":3},{\"path\":\"/blog/2025/web-analytics-revisited/\",\"status\":200,\"title\":\"Web Analytics Revisited | Amadeus Maximilian\",\"word_count\":3656,\"summary_text\":\"Web Analytics Revisited | Amadeus Maximilian Web Analytics Revisited | Amadeus Maximilian.g-image--loading{ display: none !important; } PortfolioBlogAppsContactIt looks like you have JavaScript disabled. This site will work without it, but your experience might be better if you enable JavaScript. If you are worried about your data, please check my privacy policy for details on how I collect as little data as possible.Web Analytics RevisitedPublished Friday, February 28th 2025 · 7min readA little over three years ago, I set up my very first self-hosted analytics service to collect a bit of data on how many people were actually using my apps. Back then, I went with Umami, a free and open source web analytics service that can be self-hosted. Unfortunately, as time went on, I was struggling to build each new version on my hosting provide\",\"classification_terms\":[\"blog/2025/web-analytics-revisited\",\"about\",\"contact\",\"privacy\",\"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\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":3},{\"path\":\"/blog/tagged/hosting/\",\"status\":200,\"title\":\"Posts tagged âhostingâ | Amadeus Maximilian\",\"word_count\":234,\"summary_text\":\"Posts tagged âhostingâ | Amadeus Maximilian Posts tagged “hosting” | Amadeus Maximilian.g-image--loading{ display: none !important; } PortfolioBlogAppsContactIt looks like you have JavaScript disabled. This site will work without it, but your experience might be better if you enable JavaScript. If you are worried about your data, please check my privacy policy for details on how I collect as little data as possible.Posts Tagged:#hostingJanuary 22nd, 2026 · 5min readThat Time I got HackedSomeone managed to get into one of my remote hosts. This delves into what I think happened, and what I took away from it to avoid similar situations in the future.Page 1 of 1Did you not find what you were looking for? Check out all posts.Talk to MeIf you have a cool idea, need some help with a project, or just want to get to know me better, feel free\",\"classification_terms\":[\"blog/tagged/hosting\",\"about\",\"contact\",\"privacy\",\"help\",\"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\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":3},{\"path\":\"/blog/tagged/security/\",\"status\":200,\"title\":\"Posts tagged âsecurityâ | Amadeus Maximilian\",\"word_count\":234,\"summary_text\":\"Posts tagged âsecurityâ | Amadeus Maximilian Posts tagged “security” | Amadeus Maximilian.g-image--loading{ display: none !important; } PortfolioBlogAppsContactIt looks like you have JavaScript disabled. This site will work without it, but your experience might be better if you enable JavaScript. If you are worried about your data, please check my privacy policy for details on how I collect as little data as possible.Posts Tagged:#securityJanuary 22nd, 2026 · 5min readThat Time I got HackedSomeone managed to get into one of my remote hosts. This delves into what I think happened, and what I took away from it to avoid similar situations in the future.Page 1 of 1Did you not find what you were looking for? Check out all posts.Talk to MeIf you have a cool idea, need some help with a project, or just want to get to know me better, feel fr\",\"classification_terms\":[\"blog/tagged/security\",\"about\",\"contact\",\"privacy\",\"help\",\"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\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":3},{\"path\":\"/blog/tagged/breach/\",\"status\":200,\"title\":\"Posts tagged âbreachâ | Amadeus Maximilian\",\"word_count\":234,\"summary_text\":\"Posts tagged âbreachâ | Amadeus Maximilian Posts tagged “breach” | Amadeus Maximilian.g-image--loading{ display: none !important; } PortfolioBlogAppsContactIt looks like you have JavaScript disabled. This site will work without it, but your experience might be better if you enable JavaScript. If you are worried about your data, please check my privacy policy for details on how I collect as little data as possible.Posts Tagged:#breachJanuary 22nd, 2026 · 5min readThat Time I got HackedSomeone managed to get into one of my remote hosts. This delves into what I think happened, and what I took away from it to avoid similar situations in the future.Page 1 of 1Did you not find what you were looking for? Check out all posts.Talk to MeIf you have a cool idea, need some help with a project, or just want to get to know me better, feel free t\",\"classification_terms\":[\"blog/tagged/breach\",\"about\",\"contact\",\"privacy\",\"help\",\"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\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":3},{\"path\":\"/blog/2025/hurting-hands/\",\"status\":200,\"title\":\"Hurting Hands | Amadeus Maximilian\",\"word_count\":2793,\"summary_text\":\"Hurting Hands | Amadeus Maximilian Hurting Hands | Amadeus Maximilian.g-image--loading{ display: none !important; } PortfolioBlogAppsContactIt looks like you have JavaScript disabled. This site will work without it, but your experience might be better if you enable JavaScript. If you are worried about your data, please check my privacy policy for details on how I collect as little data as possible.Hurting HandsPublished Sunday, March 23rd 2025 · 5min readThis is not the blog post I would’ve wanted to write for this month. To be honest, it’s not a post I would ever have wanted to write. But sometimes life is not about what we want. A little more than a month ago, I started noticing something odd in my hands, an ache that wouldn’t go away after a night’s sleep. I have had those before, especially when using my phone too much\",\"classification_terms\":[\"blog/2025/hurting-hands\",\"about\",\"contact\",\"privacy\",\"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\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":3},{\"path\":\"/blog/tagged/year-in-review/\",\"status\":200,\"title\":\"Posts tagged âyear in reviewâ | Amadeus Maximilian\",\"word_count\":597,\"summary_text\":\"Posts tagged âyear in reviewâ | Amadeus Maximilian Posts tagged “year in review” | Amadeus Maximilian.g-image--loading{ display: none !important; } PortfolioBlogAppsContactIt looks like you have JavaScript disabled. This site will work without it, but your experience might be better if you enable JavaScript. If you are worried about your data, please check my privacy policy for details on how I collect as little data as possible.Posts Tagged:#year in reviewDecember 25th, 2025 · 6min read2025: A Year in ReviewThe end of the year is coming fast—high time to reflect on what happened during the last twelve months.December 29th, 2024 · 8min read2024: A Year in ReviewAnother December means it’s time for another year in review. Here’s some thoughts on 2024 and a brief recap of what happened during the last twelve months.December 29th, 2023 · 6min\",\"classification_terms\":[\"blog/tagged/year-in-review\",\"about\",\"contact\",\"privacy\",\"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\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":3},{\"path\":\"/blog/tagged/2025/\",\"status\":200,\"title\":\"Posts tagged â2025â | Amadeus Maximilian\",\"word_count\":214,\"summary_text\":\"Posts tagged â2025â | Amadeus Maximilian Posts tagged “2025” | Amadeus Maximilian.g-image--loading{ display: none !important; } PortfolioBlogAppsContactIt looks like you have JavaScript disabled. This site will work without it, but your experience might be better if you enable JavaScript. If you are worried about your data, please check my privacy policy for details on how I collect as little data as possible.Posts Tagged:#2025December 25th, 2025 · 6min read2025: A Year in ReviewThe end of the year is coming fast—high time to reflect on what happened during the last twelve months.Page 1 of 1Did you not find what you were looking for? Check out all posts.Talk to MeIf you have a cool idea, need some help with a project, or just want to get to know me better, feel free to reach out on any of the platforms below and I’ll get back to\",\"classification_terms\":[\"blog/tagged/2025\",\"about\",\"contact\",\"privacy\",\"help\",\"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\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":3},{\"path\":\"/blog/2024/2024-a-year-in-review/\",\"status\":200,\"title\":\"2024: A Year in Review | Amadeus Maximilian\",\"word_count\":3975,\"summary_text\":\"2024: A Year in Review | Amadeus Maximilian 2024: A Year in Review | Amadeus Maximilian.g-image--loading{ display: none !important; } PortfolioBlogAppsContactIt looks like you have JavaScript disabled. This site will work without it, but your experience might be better if you enable JavaScript. If you are worried about your data, please check my privacy policy for details on how I collect as little data as possible.2024: A Year in ReviewPublished Sunday, December 29th 2024 · 8min readIt feels like summer was just a week ago, but then again my nose has been running for at least three, so something doesn’t add up. Apparently the pandemic started half a decade ago, but that also feels like last year. Time is flying, the past twelve months have come and gone in a blink, so I want to take this moment to reflect on what happened, where I\",\"classification_terms\":[\"blog/2024/2024-a-year-in-review\",\"about\",\"contact\",\"privacy\",\"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\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":3},{\"path\":\"/blog/2023/2023-a-year-in-review/\",\"status\":200,\"title\":\"2023: A Year in Review | Amadeus Maximilian\",\"word_count\":3175,\"summary_text\":\"2023: A Year in Review | Amadeus Maximilian 2023: A Year in Review | Amadeus Maximilian.g-image--loading{ display: none !important; } PortfolioBlogAppsContactIt looks like you have JavaScript disabled. This site will work without it, but your experience might be better if you enable JavaScript. If you are worried about your data, please check my privacy policy for details on how I collect as little data as possible.2023: A Year in ReviewPublished Friday, December 29th 2023 · 6min readI started out 2023 with the intention of consuming less and creating more. Looking back now, I’m not sure how well I managed to turn that intention into reality. I feel like I hardly created anything this year—there was the release of Ka-Ching in early January and that was it—however it’s probably not as simple as that, because there was a lot more goin\",\"classification_terms\":[\"blog/2023/2023-a-year-in-review\",\"about\",\"contact\",\"privacy\",\"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\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":3},{\"path\":\"/blog/2022/2022-a-year-in-review/\",\"status\":200,\"title\":\"2022: A Year in Review | Amadeus Maximilian\",\"word_count\":2272,\"summary_text\":\"2022: A Year in Review | Amadeus Maximilian 2022: A Year in Review | Amadeus Maximilian.g-image--loading{ display: none !important; } PortfolioBlogAppsContactIt looks like you have JavaScript disabled. This site will work without it, but your experience might be better if you enable JavaScript. If you are worried about your data, please check my privacy policy for details on how I collect as little data as possible.2022: A Year in ReviewPublished Monday, December 26th 2022 · 4min readIn the wake of the Christmas holidays and with finally more than a couple of moments of free time at my hands, I wanted to keep the tradition I started last year alive and take a look at the past twelve months. It’s no secret that 2021 wasn’t the happiest year in my life, but I’m glad to say that I’ve made more steps towards my recovery and have found m\",\"classification_terms\":[\"blog/2022/2022-a-year-in-review\",\"about\",\"contact\",\"privacy\",\"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\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":3},{\"path\":\"/blog/tagged/productivity/\",\"status\":200,\"title\":\"Posts tagged âproductivityâ | Amadeus Maximilian\",\"word_count\":416,\"summary_text\":\"Posts tagged âproductivityâ | Amadeus Maximilian Posts tagged “productivity” | Amadeus Maximilian.g-image--loading{ display: none !important; } PortfolioBlogAppsContactIt looks like you have JavaScript disabled. This site will work without it, but your experience might be better if you enable JavaScript. If you are worried about your data, please check my privacy policy for details on how I collect as little data as possible.Posts Tagged:#productivityNovember 5th, 2025 · 4min readThose Evening ProjectsI had a bit of a moment thinking of how much I’ve achieved by simply doing something every evening for a very long time. Here’s some thoughts. November 30th, 2024 · 3min readWriting AppsMe musing about procrastination and creative writing and how that relates to my tendency to create new creative writing apps instead of writing creatively.N\",\"classification_terms\":[\"blog/tagged/productivity\",\"about\",\"contact\",\"privacy\",\"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\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":3},{\"path\":\"/blog/tagged/side-projects/\",\"status\":200,\"title\":\"Posts tagged âside projectsâ | Amadeus Maximilian\",\"word_count\":340,\"summary_text\":\"Posts tagged âside projectsâ | Amadeus Maximilian Posts tagged “side projects” | Amadeus Maximilian.g-image--loading{ display: none !important; } PortfolioBlogAppsContactIt looks like you have JavaScript disabled. This site will work without it, but your experience might be better if you enable JavaScript. If you are worried about your data, please check my privacy policy for details on how I collect as little data as possible.Posts Tagged:#side projectsNovember 5th, 2025 · 4min readThose Evening ProjectsI had a bit of a moment thinking of how much I’ve achieved by simply doing something every evening for a very long time. Here’s some thoughts. February 18th, 2024 · 4min readEmbracing AbandonmentI love building things—but I’m just a single person with a pretty busy life. So sometimes, some of my projects stop getting the love they deserve\",\"classification_terms\":[\"blog/tagged/side-projects\",\"about\",\"contact\",\"privacy\",\"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\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":3},{\"path\":\"/blog/2024/writing-apps/\",\"status\":200,\"title\":\"Writing Apps | Amadeus Maximilian\",\"word_count\":1863,\"summary_text\":\"Writing Apps | Amadeus Maximilian Writing Apps | Amadeus Maximilian.g-image--loading{ display: none !important; } PortfolioBlogAppsContactIt looks like you have JavaScript disabled. This site will work without it, but your experience might be better if you enable JavaScript. If you are worried about your data, please check my privacy policy for details on how I collect as little data as possible.Writing AppsPublished Saturday, November 30th 2024 · 3min readI just realised: I have only ever written a single novel in my creative writing app, Qami. A single novel probably sounds like a lot to someone who has never written a novel before, but I have written six (or more, depending on how long a story has to be to count) novels already, most of them by hand. So to me, a single one doesn’t sound like much at all. Especially cons\",\"classification_terms\":[\"blog/2024/writing-apps\",\"about\",\"contact\",\"privacy\",\"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\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":3},{\"path\":\"/blog/2020/productive-procrastination/\",\"status\":200,\"title\":\"Productive Procrastination | Amadeus Maximilian\",\"word_count\":2173,\"summary_text\":\"Productive Procrastination | Amadeus Maximilian Productive Procrastination | Amadeus Maximilian.g-image--loading{ display: none !important; } PortfolioBlogAppsContactIt looks like you have JavaScript disabled. This site will work without it, but your experience might be better if you enable JavaScript. If you are worried about your data, please check my privacy policy for details on how I collect as little data as possible.Productive ProcrastinationPublished Sunday, November 8th 2020 · 4min readWorking in a creative field such as design or software development isn't always easy. It often feels like I'm giving 110% for prolonged stretches of time, to then remain completely drained for a couple of days, not being able to focus on the tasks at hand. That's probably not the healthiest lifestyle and work-ethic, but that's a discussion for a\",\"classification_terms\":[\"blog/2020/productive-procrastination\",\"about\",\"contact\",\"privacy\",\"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\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":3},{\"path\":\"/blog/2023/creating-portfolios/\",\"status\":200,\"title\":\"Creating Portfolios | Amadeus Maximilian\",\"word_count\":1899,\"summary_text\":\"Creating Portfolios | Amadeus Maximilian Creating Portfolios | Amadeus Maximilian.g-image--loading{ display: none !important; } PortfolioBlogAppsContactIt looks like you have JavaScript disabled. This site will work without it, but your experience might be better if you enable JavaScript. If you are worried about your data, please check my privacy policy for details on how I collect as little data as possible.Creating PortfoliosPublished Monday, July 31st 2023 · 3min readIf there’s one thing I struggle with in design, it’s actually curating and presenting the bulk of my work as a portfolio. It seems to be something that other designers struggle with as well, as I just witnessed once again during the year-long process of rebuilding the website of the agency I work at—and which finally soft-launched earlier this month! There’s a lo\",\"classification_terms\":[\"blog/2023/creating-portfolios\",\"about\",\"contact\",\"privacy\",\"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\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":3},{\"path\":\"/blog/tagged/marketing/\",\"status\":200,\"title\":\"Posts tagged âmarketingâ | Amadeus Maximilian\",\"word_count\":240,\"summary_text\":\"Posts tagged âmarketingâ | Amadeus Maximilian Posts tagged “marketing” | Amadeus Maximilian.g-image--loading{ display",
        "score_reasons_json": "[]",
        "route_domain": "amxmln.com",
        "display_domain": "amxmln.com"
    },
    "explainability": {
        "summary": "amxmln.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": "+26.5",
                "tone": "good",
                "detail": "Technical quality, crawl depth, page structure, and implementation hygiene. Current subsystem score: 78/100."
            },
            {
                "label": "Reputation system",
                "points": "+15.3",
                "tone": "caution",
                "detail": "Authority, search visibility, reach, engagement, and registry stability. Current subsystem score: 45/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": "-10.0",
                "tone": "risk",
                "detail": "Safety thresholds capped the final score until the risk profile improves."
            }
        ],
        "evidence_cards": [
            {
                "label": "Authority and trust",
                "value": "45/100 · trust 80/100",
                "tone": "caution",
                "detail": "162 monthly visitors, 80 organic keywords, brand completeness 77/100, engagement 81/100."
            },
            {
                "label": "Backlink and search evidence",
                "value": "1 referring domains",
                "tone": "good",
                "detail": "1 backlinks across 1 referring domains. Diversity 92/100; spam penalty 0."
            },
            {
                "label": "Registry and domain stability",
                "value": "7.9 years old",
                "tone": "good",
                "detail": "Stability 91/100 · age 7.9 years · registrar INWX GmbH · expires in 46 days."
            },
            {
                "label": "Safety and fraud posture",
                "value": "Safety 100/100 · fraud 2/100",
                "tone": "good",
                "detail": "Primary tag T · safety 100/100 · fraud 2/100."
            }
        ],
        "positives": [
            "Established domain age: 7.9 years.",
            "Low registrar / ownership churn with solid registry stability.",
            "Healthy crawl quality and on-page completeness.",
            "Registry history looks stable, which supports legitimacy and trust.",
            "The domain has been registered for years, which usually improves trust confidence.",
            "HTTPS is working, so the site clears a basic transport-security check."
        ],
        "risks": [],
        "freshness": [
            {
                "label": "Crawl evidence",
                "value": "2026-03-19 01:35:41",
                "tone": "risk",
                "detail": "Crawl and page content sample. Age: 1mo ago."
            },
            {
                "label": "WHOIS snapshot",
                "value": "2026-03-19 01:35:35",
                "tone": "risk",
                "detail": "Registry profile and stability signals. Age: 1mo ago."
            },
            {
                "label": "Keyword view",
                "value": "2026-04-19 10:36:19",
                "tone": "good",
                "detail": "Estimated visibility until tracked keyword snapshots exist. Age: 0s ago."
            },
            {
                "label": "Rank history",
                "value": "2026-04-19 10:36:19",
                "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": 74,
        "fraud_clamp_penalty": 10,
        "final_score": 64
    },
    "insight_snapshot": {
        "version": 1,
        "generated_at": "2026-04-19T10:36:19+00:00",
        "domain": "amxmln.com",
        "display_name": "Portfolio",
        "is_tracked": false,
        "is_estimated": true,
        "overall_score": 64,
        "authority_score": 45,
        "trust_score": 80,
        "safety_score": 100,
        "fraud_score": 2,
        "confidence_score": 100,
        "traffic_confidence": 66,
        "last_crawled_at": "2026-03-19 01:35:41",
        "crawl_blocked": false,
        "summary": "amxmln.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: 7.9 years.",
            "Low registrar / ownership churn with solid registry stability.",
            "Healthy crawl quality and on-page completeness.",
            "Registry history looks stable, which supports legitimacy and trust.",
            "The domain has been registered for years, which usually improves trust confidence."
        ],
        "top_risk_signals": [],
        "freshness": [
            {
                "label": "Crawl evidence",
                "value": "2026-03-19 01:35:41",
                "tone": "risk",
                "detail": "Crawl and page content sample. Age: 1mo ago."
            },
            {
                "label": "WHOIS snapshot",
                "value": "2026-03-19 01:35:35",
                "tone": "risk",
                "detail": "Registry profile and stability signals. Age: 1mo ago."
            },
            {
                "label": "Keyword view",
                "value": "2026-04-19 10:36:19",
                "tone": "good",
                "detail": "Estimated visibility until tracked keyword snapshots exist. Age: 0s ago."
            },
            {
                "label": "Rank history",
                "value": "2026-04-19 10:36:19",
                "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"
            }
        ]
    },
    "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-19T14:38:56+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/amxmln.com/refresh",
        "isGuestCooldown": false,
        "cooldownSeconds": 0
    },
    "urlscan_report": {
        "domain": "amxmln.com",
        "status": "idle",
        "submitted_at": null,
        "completed_at": null,
        "last_checked_at": null,
        "last_error": "",
        "submitted_url": "https://amxmln.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
    }
}