xiaolesu.com
1 page · 0.3s · 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.
This is a personal portfolio page with strong human authorship signals across all dimensions. The content mixes technical specificity (named ML techniques, infrastructure tools, real dates) with a conversational first-person voice and idiosyncratic touches (✧ ornaments, nicknames). The structure is highly irregular—custom sections like "Memories," "Photo Gallery," and "Friends" deviate sharply from any standard template. Tone is distinctly personal with humor and self-awareness. The minimal generic phrasing and abundant proper nouns, specific projects, and named institutions all point to hand-written authorship.
No governance risks detected
- Page title
- Xiaole Su
- Meta description
- Software Engineer / ML / Infra / Design -- Building at the intersection of engineering, intelligence, and design.
- Final URL
- https://www.xiaolesu.com/(after redirect from https://xiaolesu.com/)
- 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.
Xiaole Su
Software Engineer / ML / Infra / Design -- Building at the intersection of engineering, intelligence, and design.
- Title · 9 characters
- Description · 113 characters
Xiaole Su
Software Engineer / ML / Infra / Design -- Building at the intersection of engineering, intelligence, and design.
- No og:image — shared links render as bare text with no picture
- Worth notingContent
Light generic phrasing ('feel as good as they perform') mixed with otherwise specific, technical copy
Evidence- “building products that feel as good as they perform”body
- “Building and scaling a real-time RL-based LLM post-training platform with multi-cloud orchestration”body
Try thisNo action needed—the generic phrase is rare and contextually appropriate; the page's specificity far outweighs it.
Signals of human authorship the page is doing well.
- Content
Rich technical vocabulary paired with personal anecdotes, named employers, real project names, and specific tools (PyTorch, vLLM, Lean4, etc.)
- Tone
Distinctive first-person voice with idiosyncratic punctuation (✧), self-identified nickname (Charlotte), and personality evident in hobbies and section choices
- Content28
Specific technical accomplishments with named tools and real dates; sparse generic phrasing despite some marketing-adjacent language like 'feel as good as they perform'
- Structure15
Irregular, highly personalized layout with custom sections (Memories, Photo Gallery, Friends) and asymmetric project cards; no boilerplate template evident
- Imagery35
8 images present with zero missing alt attributes; file paths and metadata not visible, preventing definitive AI-generation assessment but all images properly attributed
- Tone18
First-person voice with distinctive personality (✧ symbol use, specific hobbies, self-description as 'Charlotte'), regional hints, and consistent authentic register throughout
- Words364
- Images8
- Alt coverage100%
- Internal links26
- External links3
- Schema blocks0
- HTML size80 KB
- Text-to-HTML4%
No common LLM-marker phrases found — none of the stock AI vocabulary we scan for appears in the body text even once.
- 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 structure1 H1, 6 H2Why 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.3s · 80 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 links0/5 broken in sampleWhy 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 textAll have 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
- H2Technically deep, genuinely joyful.
- H2Experience
- H2Projects
- H2Memories
- H2Photo Gallery
- H2Blog
- H3Osmosis (YC W25)
- H3Bain and Company
- H3Khoury College of Computer Sciences
- H3✧ Lean-Based Formal Verification Research
- H3Gradually-Typed Programming Language
- H3Cooper: Co-op Review Platform
- H3Perennial Harvests
- H3✧ EyeCraft
- H3KADA: Dance Formation Parser
- H39 Man Volleyball
- H3Sandbox
- H3KADA
- H3Hackathon Community
- H3Friends
- H3Nature Hikes
- H3Myself
We HEAD-check up to five internal links to spot broken paths quickly.
Show sampled links
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.