
Luo Xuhai Portfolio
luoxuhai.com →6 years, 6 apps, zero nonsense
WHAT IT SOLVES
Most indie dev portfolios are either template soup or flex-without-substance
WHY IT'S INTERESTING
One app, one problem
Off Phone just says 'get away from your phone.' Laser Measure just measures. iGrammar just checks grammar. No feature bloat — all 6 products follow this discipline across focus, accessibility, English learning, and night vision
100% native Apple experience
Smart Cane uses the iPhone's depth sensor — that's not a WebView wrapper. 2190 days of continuous iteration, and the stat he chose to highlight isn't downloads but experience. That's a statement
「Every app is born to solve one problem」
TECH GUESS
Likely a lightweight JS framework (React/Vue + Vite), the kind of stack you can spin up in a 2-hour vibe coding session
DEEP DIVE
Vibe Coding for Two Hours—Then What?
On V2EX, Luo Xuhai said he spent two hours "vibe coding" his personal portfolio site. In the Hacker News submission, he spelled out the process: Cursor AI wrote the first draft, he manually tweaked the details, then deployed to GitHub Pages. The tech stack—VitePress, React, TailwindCSS, shadcn/ui—is the most friction-free frontend combo available right now.
But the "two hours" number doesn't really matter. What matters is what's on the page after those two hours. The answer: six native iOS apps spanning accessibility, focus tools, English learning, LiDAR-based measurement, and night vision, backed by six years of independent development. Vibe coding just built the stage. The performance took 2,190 days to rehearse.
One Problem Per App—No Exceptions
In the HN thread, Luo Xuhai repeated a single line: "Every app is born to solve one problem." This isn't a slogan. It's a hard product design constraint.
Examples: Off Phone does exactly one thing—keep you away from your phone, with automatic Apple Watch reminders when you get too close. Smart Cane is a smart cane app that directly taps into the iPhone's LiDAR depth sensor—this isn't something a WebView wrapper can pull off. iGrammar handles grammar correction only—no translation, no chatbot, no flashy extras.
A V2EX commenter wrote: "This is a real independent developer's work, not a wrapper." The implication: too many developer portfolios showcase "what frameworks I used" instead of "what problems I solved."
What "100% Apple Native" Actually Means
The site says "100% Independent original Apple Native experience." That's not empty copy. Smart Cane relies on the iPhone's LiDAR depth sensor. Night Vision taps into camera hardware. Off Phone's core interaction depends on Apple Watch. Strip away the native capabilities, and these apps simply cease to function.
For independent developers, choosing native means higher development costs and a narrower user base. But it also means building something others can't easily replicate. A WebView-based night vision tool? Anyone can ship that. A smart cane app using iPhone depth sensors? Only someone who knows Swift, understands ARKit, and is willing to invest time in polish can build it.
"2,190 Days" Instead of "1 Million Downloads"
The number that caught my eye on the portfolio isn't download count or ratings—it's "2,190 days Continuous iteration." That choice alone is a statement: it promises no commercial success, only sustained commitment.
For indie developers, user counts are often a product of luck and timing. But iterating for 2,190 days—nearly six years—speaks to discipline and genuine passion. Luo Xuhai doesn't validate himself with "million downloads." He validates himself with time. In a developer culture obsessed with going viral, that's a rare quality.
Honest Limitations
There's not much to nitpick about the portfolio itself, but it's not perfect either. The HN discussion barely gained traction—1 comment, 3 points—meaning it didn't spark broader technical conversation. V2EX feedback was positive but stayed at "this is really good" without deep dives into implementation.
Another issue: what "problem" does this page solve? If it's for job hunting or freelance work, six native apps make a compelling case. But if it's for attracting end users, the page is missing any direct download links or App Store deep links—visitors have to search on their own. It's a small detail, but for a developer who claims "every app is born to solve one problem," leaving that entry point unsolved is an oversight.
Discussion (0)
- No comments yet — be the first.
Related
#062▶ 191Claude coded an entire game and it's actually fun
#061▶ 100Your AI conversations deserve an encrypted vault
#060▶ 123Someone vibe-coded an actual MMO with Fable 5