mhui.dev
1 page · 0.4s · Scanned just now
Mostly human-written
72% confidence
The score is a fingerprint of automation, not a quality judgment. A high score means the page reads as machine-generated. It doesn't mean the page is bad.
The copy is extremely sparse (63 words) but what exists reads unmistakably human: "Trying to build out the coolest life portfolio" and ":D" are idiosyncratic touches no LLM would default to. The reference to a specific Van Gogh painting by full title and year further points to deliberate human curation rather than AI generation.
1 governance risk detected
- Page title
- Michael Hui
- Meta description
- The personal portfolio of Michael Hui — selected works, a gallery, and friends.
- Final URL
- https://www.mhui.dev/(after redirect from https://mhui.dev/)
- Canonical URL
- —
- Robots directive
- Not set — search engines default to index, follow
- Language
- en
- Built with
- Next.js
How the page presents itself in a Google result and as a shared link, rebuilt from the tags we crawled.
Michael Hui
The personal portfolio of Michael Hui — selected works, a gallery, and friends.
- Title · 11 characters
- Description · 79 characters
Michael Hui
The personal portfolio of Michael Hui — selected works, a gallery, and friends.
- No og:image — shared links render as bare text with no picture
- No Open Graph title — the share card falls back to the page title
AI-generated financial content may constitute unlicensed investment advice
Content that discusses investment strategies, specific securities, or financial products and is generated by AI without licensed advisor review can violate SEC and FINRA rules on investment advice. The FTC also scrutinises AI-generated financial claims for deceptive practices.
## Financial Disclaimer The content on this website is provided for informational and educational purposes only and does not constitute investment advice, financial advice, trading advice, or any other type of professional advice. Nothing on this site should be construed as a recommendation to buy, sell, or hold any security or financial instrument. Past performance is not indicative of future results. > Some content on this site is created or assisted by AI. AI-generated > financial content may contain errors or outdated information. Always > consult a licensed financial advisor before making investment decisions. _Disclaimer last reviewed: [DATE]_
- Clear signalImagery
All 5 images are missing alt text, including the named Van Gogh painting
Evidence- “Vincent van Gogh, A Wheatfield with Cypresses (1889)”body
Try thisAdd descriptive alt attributes to all 5 images — at minimum credit the Van Gogh painting in the alt tag as it appears in body text.
Signals of human authorship the page is doing well.
- Tone
Casual first-person voice with ":D" and "coolest life portfolio" — unmistakably personal, not LLM-default phrasing.
- Content
Specific technical details ("kernels for scientific workloads") and a named real artwork ground the page in genuine personal experience.
- Content10
Casual, first-person voice with idiosyncratic punctuation (":D"), a self-deprecating joke, and specific personal details like "kernels for scientific workloads"
- Structure20
Minimal single-page layout with no templated hero→features→CTA pattern; only one H1 and zero H2s across 63 words
- Imagery35
5 images all missing alt text, but one is a named Van Gogh painting — suggests a human curated the image, not an AI builder
- Tone8
Distinct personal voice with informal phrasing like "coolest life portfolio" and ":D" emoji — hard to attribute to an LLM prompt
- Words63
- Images5
- Alt coverage0%
- Internal links0
- External links2
- Schema blocks0
- HTML size16 KB
- Text-to-HTML3%
- Meta tagsMissing canonicalWhy this matters
Why it matters. Title and description are the two strings Google shows in search results. They decide whether anyone clicks. A canonical tag tells Google which URL is the source of truth when the same content lives at multiple paths.
Passing looks like. A non-empty title under 60 characters, a meta description under 160, and a self-referencing canonical link.
Fix. Add the missing tags inside the page head. Treat the title as a headline you'd want to read in a SERP, not a brand slogan.
- Heading structureNo H2 structureWhy this matters
Why it matters. Headings are how crawlers and assistive tech understand a page's outline. One H1 names the page. H2s break it into sections. Skipped levels and missing H1s confuse both.
Passing looks like. Exactly one H1, at least one H2, and no skipped levels (no H1 to H3 jumps).
Fix. Replace the missing or duplicate H1 with a single, descriptive heading. Promote section titles to H2. Demote sub-points to H3.
- Mobile readinessResponsiveWhy this matters
Why it matters. Google indexes mobile-first. A page without a responsive viewport renders zoomed-out on phones, fails Core Web Vitals on touch, and loses its mobile ranking.
Passing looks like. A meta viewport tag with width=device-width and a layout that reflows under 600px.
Fix. Add a viewport meta tag set to width=device-width and initial-scale=1, then audit your largest blocks at mobile widths.
- Page speed signals0.4s · 16 KBWhy this matters
Why it matters. Page weight and response time directly feed Core Web Vitals. Slow LCP and oversized HTML hurt rankings more than people expect.
Passing looks like. First-byte under 1.5s, HTML payload under 500 KB, fewer than 30 images on the initial render.
Fix. Trim render-blocking scripts, defer non-critical CSS, and serve compressed images sized to the viewport. Move heavy components below the fold.
- Schema markupNo JSON-LDWhy this matters
Why it matters. JSON-LD structured data is how you earn rich results: review stars, FAQ accordions, breadcrumbs, article cards. Skip it and Google has nothing structured to pull from when it builds your SERP card.
Passing looks like. At least one valid JSON-LD block matching schema.org types relevant to the page (Article, Product, FAQPage, Organization).
Fix. Add an application/ld+json script block describing the page. Validate with Google's Rich Results Test before deploying.
- Broken linksNo internal linksWhy this matters
Why it matters. Broken internal links waste crawl budget, degrade UX, and signal to Google that the site isn't well-maintained. They also cap how deep crawlers reach.
Passing looks like. Every internal link in the sample returns 2xx or 3xx. No dead anchors, no stale paths.
Fix. Use the link list above to spot the broken paths. Either restore the missing pages or update the links to point at live URLs.
- Image alt text5/5 missing altWhy this matters
Why it matters. Alt text is what screen readers read aloud, and what Google reads instead of pixels. Skip it and you lose on both fronts.
Passing looks like. Every meaningful image has a descriptive alt attribute. Decorative images can use alt="" to be skipped intentionally.
Fix. Audit images in /assets and CMS uploads. Write alts that describe what's in the image, not what it links to.
Every H1, H2, and H3 we found on the page, in document order.
Show heading outline
- H1Michael Hui
Was this report useful?
Share this scan
Every CrawlRanker scan gets a public, shareable URL. Send it to a client, post it in a thread, or benchmark a competitor.
Preview scan. SEO checks are live. AI scoring is in beta.