<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: DoubleZ</title>
    <description>The latest articles on DEV Community by DoubleZ (@lianbo_zhou).</description>
    <link>https://dev.to/lianbo_zhou</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3653680%2Fd7b2d9a2-b16a-4d2e-872b-7313861223f9.jpg</url>
      <title>DEV Community: DoubleZ</title>
      <link>https://dev.to/lianbo_zhou</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/lianbo_zhou"/>
    <language>en</language>
    <item>
      <title>How I Built ReadMenuAI: Solving the "Poetic" Chinese Menu Problem with GenAI</title>
      <dc:creator>DoubleZ</dc:creator>
      <pubDate>Fri, 12 Dec 2025 09:59:38 +0000</pubDate>
      <link>https://dev.to/lianbo_zhou/how-i-built-readmenuai-solving-the-poetic-chinese-menu-problem-with-genai-23f6</link>
      <guid>https://dev.to/lianbo_zhou/how-i-built-readmenuai-solving-the-poetic-chinese-menu-problem-with-genai-23f6</guid>
      <description>&lt;p&gt;Hi everyone, I'm DoubleZ! 👋&lt;/p&gt;

&lt;p&gt;Have you ever walked into a Chinese restaurant, faced a menu full of beautiful but confusing characters, and had no idea what to order? Or worse, ordered a dish only to find it looks nothing like what you imagined?&lt;/p&gt;

&lt;p&gt;This is a common pain point for many expats and travelers. Traditional translation apps often fail here because Chinese menus are a uniquely difficult data source: &lt;strong&gt;artistic fonts, handwritten text, inconsistent layouts, and "poetic" dish names&lt;/strong&gt; that shouldn't be translated literally (e.g., "Husband and Wife Lung Slices" — 夫妻肺片).&lt;/p&gt;

&lt;p&gt;Simple translation isn't enough; users need &lt;strong&gt;visual context&lt;/strong&gt;. That’s why I built &lt;strong&gt;ReadMenuAI&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  🌟 What is ReadMenuAI?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;ReadMenuAI&lt;/strong&gt; is an AI-powered tool that helps users "see" and understand Chinese menus. You simply upload a photo, and the AI transforms it into a digital, interactive experience.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;✅ &lt;strong&gt;OCR &amp;amp; Extraction:&lt;/strong&gt; Detects dish names and prices accurately.&lt;/li&gt;
&lt;li&gt;🌍 &lt;strong&gt;Contextual Translation:&lt;/strong&gt; Translates names while explaining ingredients and allergens.&lt;/li&gt;
&lt;li&gt;🖼️ &lt;strong&gt;AI Image Generation (The "Wow" Factor):&lt;/strong&gt; Generates high-quality, representative photos for dishes that don't have pictures.&lt;/li&gt;
&lt;li&gt;💰 &lt;strong&gt;Travel Utilities:&lt;/strong&gt; Real-time currency conversion and audio pronunciation for easy ordering.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🛠️ The Technical Deep Dive: The AI Stack
&lt;/h2&gt;

&lt;p&gt;The core challenge was turning unstructured, stylized visual data into structured, meaningful information. Here is how the AI pipeline works:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Advanced OCR with Qwen3-Vision
&lt;/h3&gt;

&lt;p&gt;I used the latest &lt;strong&gt;Qwen3 (Tongyi Qianwen)&lt;/strong&gt; multimodal models. Unlike standard OCR, these models are exceptional at:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Recognizing &lt;strong&gt;handwritten or highly stylized&lt;/strong&gt; calligraphy.&lt;/li&gt;
&lt;li&gt;Maintaining the spatial relationship between a dish name and its price across messy layouts.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. Multimodal Parsing &amp;amp; Semantic Translation
&lt;/h3&gt;

&lt;p&gt;The extracted text is fed into an LLM (Large Language Model) to go beyond literal translation. It identifies:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The "Real" Meaning:&lt;/strong&gt; Explaining that "Ants Climbing a Tree" is actually glass noodles with minced pork.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dietary Specs:&lt;/strong&gt; Automatically tagging dishes as vegetarian, spicy, or containing common allergens.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. Visual Context via Image Generation
&lt;/h3&gt;

&lt;p&gt;For menus without photos, I integrated &lt;strong&gt;Tongyi Wanxiang 2 (Text-to-Image)&lt;/strong&gt;. This builds immediate trust. When a user sees a generated image of the dish, the "ordering anxiety" disappears.&lt;/p&gt;




&lt;h2&gt;
  
  
  🏗️ The Full-Stack Architecture
&lt;/h2&gt;

&lt;p&gt;As a solo developer, I needed a stack that was fast to deploy but robust enough to handle heavy AI workloads.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Frontend:&lt;/strong&gt; Next.js 14 + Tailwind CSS + Shadcn UI&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Database &amp;amp; Auth:&lt;/strong&gt; Supabase&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Caching:&lt;/strong&gt; Upstash (Redis)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Storage:&lt;/strong&gt; Cloudflare R2&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Background Jobs:&lt;/strong&gt; &lt;a href="https://trigger.dev" rel="noopener noreferrer"&gt;Trigger.dev&lt;/a&gt; (Crucial for handling long-running AI image generation)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Deployment:&lt;/strong&gt; Cloudflare Workers&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  💡 Engineering Challenge: Handling Long-Running Tasks
&lt;/h3&gt;

&lt;p&gt;Image generation and deep parsing can take 10-20 seconds—too long for a standard serverless function timeout. &lt;/p&gt;

&lt;p&gt;Instead of setting up a separate heavy backend, I used &lt;strong&gt;Trigger.dev&lt;/strong&gt;. It allowed me to:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Offload the image generation to a &lt;strong&gt;background queue&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt; Maintain a clean Next.js project structure.&lt;/li&gt;
&lt;li&gt; Provide real-time progress updates to the user via webhooks.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  🚀 From Idea to Launch
&lt;/h2&gt;

&lt;p&gt;ReadMenuAI is my second major AI project. It implements the full lifecycle of a SaaS: &lt;strong&gt;Authentication, Credit-based billing (Stripe), and Internationalization (supporting 12 languages).&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Beyond the tech, this project is about &lt;strong&gt;cultural connection&lt;/strong&gt;. By removing the language barrier in restaurants, we’re making local culture more accessible and "delicious" for everyone.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Try it out here:&lt;/strong&gt; &lt;a href="https://readmenuai.com" rel="noopener noreferrer"&gt;readmenuai.com&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>sass</category>
      <category>showdev</category>
    </item>
    <item>
      <title>WanderChina.Guide: How I Built a China Travel Hub as an AI-Powered Solo Founder</title>
      <dc:creator>DoubleZ</dc:creator>
      <pubDate>Wed, 10 Dec 2025 11:41:06 +0000</pubDate>
      <link>https://dev.to/lianbo_zhou/wanderchinaguide-how-i-built-a-china-travel-hub-as-an-ai-powered-solo-founder-3oo5</link>
      <guid>https://dev.to/lianbo_zhou/wanderchinaguide-how-i-built-a-china-travel-hub-as-an-ai-powered-solo-founder-3oo5</guid>
      <description>&lt;p&gt;Hello everyone, I’m DoubleZ, an independent developer from Hangzhou, China.&lt;/p&gt;

&lt;p&gt;For years, I dreamed of creating my own product, but the sheer effort of mastering disparate skill sets felt like a wall. Now, AI has changed everything, transforming me into a "one-person army." This liberation allows me to focus on a mission close to my heart: bridging the information gap for foreign visitors traveling to China.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Problem I’m Solving:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Since 2024, China has become increasingly open (e.g., the new 144/240-hour visa-free transit policies), attracting numerous overseas tourists. However, inbound travel is still hindered by basic access barriers: language difficulties, payment hurdles, internet restrictions, and cultural differences. These subtle but real issues often turn an anticipated journey into an anxious one. So, I decided to tackle this problem in the way I know best—by writing code and building products.&lt;/p&gt;

&lt;p&gt;As a Chinese person, I love this land and have a deep affection for Chinese culture. I want to use my product skills to help more people understand Chinese culture and experience its charm.&lt;/p&gt;

&lt;p&gt;After a series of research and reflection, I created &lt;strong&gt;WanderChina.Guide&lt;/strong&gt;. Its goal is to become the "First Stop" for foreign travelers planning independent trips to China and learning about its culture.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Solo Workflow and Tech Stack Deep Dive:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;My background is primarily backend development, and over my career, I've transitioned through roles like Product Manager, Project Lead, and Entrepreneur. Yet, completing an entire project solo remained a significant challenge.&lt;/p&gt;

&lt;p&gt;My first hurdle was the tech stack choice. I'm more familiar with WordPress + MySQL, which would be a fine choice for a content site.&lt;/p&gt;

&lt;p&gt;However, I ultimately chose &lt;strong&gt;Next.js + Supabase&lt;/strong&gt;. For a starting solo developer, this stack offers extremely low cost and "out-of-the-box" services that significantly boost development and deployment efficiency. Next.js has a complete ecosystem, integrates perfectly with Shadcn UI and Tailwind CSS, and deployment on Serverless platforms like Cloudflare or Vercel minimizes initial costs. Aside from the domain, the startup cost is virtually zero.&lt;/p&gt;

&lt;p&gt;While I hadn't used Next.js before and the learning curve was slow initially, I believe that if the direction is right, the rest will follow. I started by using Figma to study how a travel information site should be designed and laid out. Then, I leveraged &lt;strong&gt;V0&lt;/strong&gt; to generate the basic framework for the homepage and some common pages. This gave me the project foundation, and then I officially kicked off development locally.&lt;/p&gt;

&lt;p&gt;The AI-driven experience throughout the development process has been exciting:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Vibe Coding:&lt;/strong&gt; The entire site was built in my spare time—true "Vibe Coding." AI assisted with frontend components, the multi-language structure, and content architecture, drastically reducing my development time.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI-Powered N8N Content Generation:&lt;/strong&gt; To differentiate from traditional travel sites, launching a comprehensive city guide collection required the generation and organization power of AI workflows. I utilize &lt;strong&gt;N8N&lt;/strong&gt; workflows for content generation, which, after human validation and supplementation, enables deep, accurate, and rapid content scaling that was previously impossible for a single person.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI Tool Integration:&lt;/strong&gt; Focused on Chinese culture, I have developed several free, no-login-required tools to continuously enrich the website's ecosystem.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxxc2jyjmnbqdhx91ezjj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxxc2jyjmnbqdhx91ezjj.png" alt="WanderChina.Guide" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What You Can Find on WanderChina.Guide:
&lt;/h2&gt;

&lt;p&gt;It is a &lt;strong&gt;one-stop information platform dedicated to foreign visitors&lt;/strong&gt;, aiming to &lt;strong&gt;reduce information asymmetry and enhance the inbound travel experience.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It features rich sections:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Visa Section:&lt;/strong&gt; Latest visa policies, including a detailed breakdown of the 240-hour transit visa-free policy, applicable ports, FAQs, visa types, fees, photo standards, and procedures.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Discover Section:&lt;/strong&gt; In-depth guides for popular cities (Beijing, Shanghai, Guangzhou, etc.), covering attractions, food, transportation, weather, and best travel seasons.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tips &amp;amp; Guides:&lt;/strong&gt; Answers to common travel questions, payment and transport guides, and detailed explanations of various traditional Chinese cultural topics.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI Smart Tools:&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;"&lt;a href="https://wanderchina.guide/chinese-name-generator" rel="noopener noreferrer"&gt;AI Chinese Name Generator&lt;/a&gt;":&lt;/strong&gt; Uses a deep reasoning AI model to generate authentic Chinese names suitable for professional, travel, and daily life in China.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;"&lt;a href="https://wanderchina.guide/chinese-to-pinyin" rel="noopener noreferrer"&gt;Chinese to Pinyin and Segmentation Tool&lt;/a&gt;":&lt;/strong&gt; Input any Chinese sentence to get word segmentation, Pinyin, definitions, and stroke order animations, making Chinese learning more accessible.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Essential App List:&lt;/strong&gt; A curated list of tools and information needed for travel or life in China, including commonly used apps like Alipay, WeChat Pay, Didi (ride-sharing), and Amap (navigation).&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjta7hyuyy2anoabokqlv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjta7hyuyy2anoabokqlv.png" alt="AI Chinese Name Generator" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I have no team and no funding. I rely entirely on AI augmentation and continuous iteration.&lt;/strong&gt; This allows me to stay focused: not on becoming a generic travel platform, but on being a promoter of Chinese culture, helping people who wish to travel and live in China solve the real issues they face.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why This is Worth Doing:
&lt;/h2&gt;

&lt;p&gt;China is opening up, but the digital barriers and information divide still exist. Through this product, I hope to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Allow more people to &lt;strong&gt;confidently plan their trips to China.&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Reduce misunderstanding or anxiety caused by a lack of information.&lt;/li&gt;
&lt;li&gt;Project an &lt;strong&gt;authentic, friendly, and diverse image of China.&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Next Steps
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Add more in-depth city guides.&lt;/li&gt;
&lt;li&gt;Introduce more cultural content, such as "Chinese Zodiac," "Eight Characters and Feng Shui," and "Chinese Kung Fu."&lt;/li&gt;
&lt;li&gt;Develop an "AI Itinerary Planning Assistant."&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you are interested in this project or have suggestions for new features or sections, feel free to share in the comments!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Project Link&lt;/strong&gt;: &lt;a href="https://wanderchina.guide" rel="noopener noreferrer"&gt;https://wanderchina.guide&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>ai</category>
      <category>travel</category>
    </item>
  </channel>
</rss>
