[{"content":"👋 Hi, I\u0026rsquo;m Kevin Eric I\u0026rsquo;m a Full-Stack Developer and AI Engineer based in China. I specialize in building web applications and AI-powered tools that solve real-world problems.\n🛠️ Tech Stack Languages Python — AI/ML, backend, automation, scripting TypeScript / JavaScript — Full-stack web development Go — High-performance services (learning) Frontend Vue.js / Nuxt.js React / Next.js Tailwind CSS / CSS3 Backend Node.js / Express / Fastify Python / FastAPI / Flask PostgreSQL / MongoDB / Redis AI / Machine Learning PyTorch / TensorFlow YOLO / Florence-2 / SAM LLM Integration / Prompt Engineering Computer Vision / Image Processing DevOps \u0026amp; Tools Docker / Docker Compose Git / GitHub Actions / CI/CD Linux (Ubuntu / Arch) Nginx / Caddy 💼 What I Do I\u0026rsquo;m passionate about building products end-to-end — from designing the architecture to shipping polished UIs. My work spans:\n🔍 AI-Powered Tools — Image processing, object detection, automated content generation 🛒 E-Commerce Platforms — Full-stack applications with payment integration 🎓 EdTech — Interactive learning platforms and content delivery systems 🔧 Developer Tools — CLI tools, automation scripts, and workflow optimization 🌍 Remote Work I\u0026rsquo;m currently open to remote opportunities worldwide. I\u0026rsquo;m experienced in async communication, self-directed work, and collaborating across time zones (UTC+8).\nIf you\u0026rsquo;re looking for a developer who can own the full stack and bring AI capabilities to your product, let\u0026rsquo;s talk!\n📫 Email: yii.fant@gmail.com 🐙 GitHub: github.com/MrFant\n","permalink":"https://mrfant.github.io/about/","summary":"\u003ch2 id=\"-hi-im-kevin-eric\"\u003e👋 Hi, I\u0026rsquo;m Kevin Eric\u003c/h2\u003e\n\u003cp\u003eI\u0026rsquo;m a \u003cstrong\u003eFull-Stack Developer\u003c/strong\u003e and \u003cstrong\u003eAI Engineer\u003c/strong\u003e based in China. I specialize in building web applications and AI-powered tools that solve real-world problems.\u003c/p\u003e\n\u003ch2 id=\"-tech-stack\"\u003e🛠️ Tech Stack\u003c/h2\u003e\n\u003ch3 id=\"languages\"\u003eLanguages\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePython\u003c/strong\u003e — AI/ML, backend, automation, scripting\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTypeScript / JavaScript\u003c/strong\u003e — Full-stack web development\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eGo\u003c/strong\u003e — High-performance services (learning)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"frontend\"\u003eFrontend\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eVue.js / Nuxt.js\u003c/li\u003e\n\u003cli\u003eReact / Next.js\u003c/li\u003e\n\u003cli\u003eTailwind CSS / CSS3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"backend\"\u003eBackend\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNode.js / Express / Fastify\u003c/li\u003e\n\u003cli\u003ePython / FastAPI / Flask\u003c/li\u003e\n\u003cli\u003ePostgreSQL / MongoDB / Redis\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"ai--machine-learning\"\u003eAI / Machine Learning\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePyTorch / TensorFlow\u003c/li\u003e\n\u003cli\u003eYOLO / Florence-2 / SAM\u003c/li\u003e\n\u003cli\u003eLLM Integration / Prompt Engineering\u003c/li\u003e\n\u003cli\u003eComputer Vision / Image Processing\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"devops--tools\"\u003eDevOps \u0026amp; Tools\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDocker / Docker Compose\u003c/li\u003e\n\u003cli\u003eGit / GitHub Actions / CI/CD\u003c/li\u003e\n\u003cli\u003eLinux (Ubuntu / Arch)\u003c/li\u003e\n\u003cli\u003eNginx / Caddy\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"-what-i-do\"\u003e💼 What I Do\u003c/h2\u003e\n\u003cp\u003eI\u0026rsquo;m passionate about \u003cstrong\u003ebuilding products end-to-end\u003c/strong\u003e — from designing the architecture to shipping polished UIs. My work spans:\u003c/p\u003e","title":"About Me"},{"content":"🚀 Featured Projects Here are some of the projects I\u0026rsquo;ve built and contributed to.\n🔍 WatermarkRemover-AI AI-powered watermark detection and removal using YOLO, Florence-2, and LaMa inpainting.\nTech Stack: Python, PyTorch, YOLO, Florence-2, LaMa\nHighlights:\nMulti-model pipeline: YOLO for detection → Florence-2 for segmentation → LaMa for inpainting Supports batch processing High-quality results with minimal artifacts 🔗 View on GitHub\n🛒 Course-Shop A full-stack e-commerce platform for selling video courses, built for cross-border commerce.\nTech Stack: TypeScript, Next.js, PostgreSQL, Stripe\nHighlights:\nComplete payment integration Video course delivery system Responsive design for mobile \u0026amp; desktop Admin dashboard for content management 🔗 View on GitHub\n🎹 Pinyin Course An interactive web application for learning Chinese pinyin typing.\nTech Stack: JavaScript, HTML5, CSS3\nHighlights:\nInteractive keyboard visualization Progressive difficulty levels Real-time feedback and scoring 🔗 View on GitHub\n🎨 WatermarkRemover-IOPaint Watermark removal tool using IOPaint (formerly Lama Cleaner) as the backend.\nTech Stack: Python, IOPaint, LaMa\nHighlights:\nAPI-based architecture for flexible integration Supports multiple inpainting models Clean CLI interface 🔗 View on GitHub\n📫 Get In Touch Interested in collaborating or have a remote opportunity? Reach out!\n📧 yii.fant@gmail.com 🐙 github.com/MrFant ","permalink":"https://mrfant.github.io/projects/","summary":"\u003ch2 id=\"-featured-projects\"\u003e🚀 Featured Projects\u003c/h2\u003e\n\u003cp\u003eHere are some of the projects I\u0026rsquo;ve built and contributed to.\u003c/p\u003e\n\u003chr\u003e\n\u003ch3 id=\"-watermarkremover-ai\"\u003e🔍 WatermarkRemover-AI\u003c/h3\u003e\n\u003cblockquote\u003e\n\u003cp\u003eAI-powered watermark detection and removal using YOLO, Florence-2, and LaMa inpainting.\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e\u003cstrong\u003eTech Stack:\u003c/strong\u003e Python, PyTorch, YOLO, Florence-2, LaMa\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eHighlights:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMulti-model pipeline: YOLO for detection → Florence-2 for segmentation → LaMa for inpainting\u003c/li\u003e\n\u003cli\u003eSupports batch processing\u003c/li\u003e\n\u003cli\u003eHigh-quality results with minimal artifacts\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e🔗 \u003ca href=\"https://github.com/MrFant/WatermarkRemover-AI\"\u003eView on GitHub\u003c/a\u003e\u003c/p\u003e\n\u003chr\u003e\n\u003ch3 id=\"-course-shop\"\u003e🛒 Course-Shop\u003c/h3\u003e\n\u003cblockquote\u003e\n\u003cp\u003eA full-stack e-commerce platform for selling video courses, built for cross-border commerce.\u003c/p\u003e","title":"Projects"},{"content":"The Problem Watermarks are everywhere on the internet. While they serve a legitimate purpose for copyright protection, there are valid use cases for removing them — like cleaning up your own photos or processing stock images you\u0026rsquo;ve licensed.\nI wanted to build an automated tool that could:\nDetect watermarks in images Segment the watermark region precisely Inpaint the area with realistic content The Architecture After experimenting with different approaches, I settled on a three-stage pipeline:\nInput Image → [YOLO Detection] → [Florence-2 Segmentation] → [LaMa Inpainting] → Clean Image Stage 1: Detection with YOLO I fine-tuned a YOLOv8 model on a custom dataset of watermarked images. The model excels at detecting watermark bounding boxes with high confidence scores.\nfrom ultralytics import YOLO model = YOLO(\u0026#34;watermark_yolov8.pt\u0026#34;) results = model(image) boxes = results[0].boxes Stage 2: Segmentation with Florence-2 Once we have bounding boxes, Florence-2 provides pixel-level segmentation of the watermark region. This is crucial for clean inpainting — a rough bounding box would leave artifacts.\nStage 3: Inpainting with LaMa LaMa (Large Mask Inpainting) is state-of-the-art for filling in masked regions. It handles complex textures and structures remarkably well.\nResults The pipeline achieves:\n95%+ detection accuracy on common watermark types Clean inpainting with minimal visible artifacts Batch processing support for handling large image sets Lessons Learned Data quality matters more than model complexity — spending time on a good dataset for YOLO training paid off more than trying fancier architectures Pipeline design is key — each model does one thing well, and the composition produces great results Edge cases are hard — semi-transparent watermarks and watermarks over complex backgrounds remain challenging What\u0026rsquo;s Next Support for video watermark removal (frame-by-frame processing) Web interface for easy access API endpoint for integration into other tools If you\u0026rsquo;re interested in the technical details, check out the GitHub repo.\n","permalink":"https://mrfant.github.io/posts/ai-watermark-removal-pipeline/","summary":"A deep dive into building a multi-model pipeline for detecting and removing watermarks from images using YOLO, Florence-2, and LaMa.","title":"How I Built an AI Watermark Removal Pipeline"},{"content":"Why I Built This I needed a platform to sell video courses internationally. Existing solutions like Teachable and Gumroad either took too much commission or lacked the customization I needed. So I built my own.\nTech Choices Next.js 14 (App Router) — SSR for SEO, great DX TypeScript — Type safety across the full stack PostgreSQL — Reliable relational data Stripe — Global payment processing Vercel — Zero-config deployment Architecture ┌─────────────┐ ┌──────────────┐ ┌────────────┐ │ Next.js │────▶│ API Routes │────▶│ PostgreSQL │ │ Frontend │ │ (tRPC) │ │ │ └─────────────┘ └──────────────┘ └────────────┘ │ │ ▼ ▼ ┌─────────────┐ ┌──────────────┐ │ Stripe │ │ Video CDN │ │ Payments │ │ (Cloudflare)│ └─────────────┘ └──────────────┘ Key Features Course management — Create, edit, and organize courses with chapters and lessons Video delivery — Secure video streaming with DRM-like protection Payment flow — Stripe Checkout with support for multiple currencies User dashboard — Track progress, bookmark lessons Admin panel — Analytics, revenue tracking, content management Deployment Deployed on Vercel with:\nEdge functions for API routes PostgreSQL on Railway Video storage on Cloudflare R2 Total cost: ~$20/month for the initial setup.\nSource code: github.com/MrFant/course-shop\n","permalink":"https://mrfant.github.io/posts/fullstack-course-platform/","summary":"How I built a cross-border e-commerce platform for selling video courses, from architecture to deployment.","title":"Building a Full-Stack Course Selling Platform with Next.js"},{"content":"The Challenge Working remotely from China (UTC+8) with teams in Europe and the US means dealing with 6-16 hour time differences. Here\u0026rsquo;s what I\u0026rsquo;ve learned about making it work.\n1. Overlap Hours Are Gold Find the 2-4 hours where your team\u0026rsquo;s working hours overlap with yours. Protect these hours fiercely — this is when synchronous communication happens.\nFor US West Coast teams, my overlap window is 9-11 PM my time. For European teams, it\u0026rsquo;s 3-6 PM.\n2. Async Communication is a Skill When your team is asleep, you need to:\nWrite clear, detailed messages Record video walkthroughs for complex topics Document decisions and context Use tools like Loom for async standups 3. Overcommunicate Progress Without hallway conversations, visibility matters more:\nDaily written updates (even short ones) PR descriptions that tell the full story Proactive status updates before being asked 4. Build Trust Through Shipping Nothing builds remote credibility faster than consistent delivery:\nShip small, ship often Keep your PRs reviewable Follow through on commitments 5. Take Care of Yourself Remote work across time zones can lead to burnout:\nSet clear boundaries for work hours Use \u0026ldquo;Do Not Disturb\u0026rdquo; modes Take breaks during your low-energy hours Exercise and socialize offline Tools That Help Slack — Async communication hub GitHub — Code collaboration and PR reviews Notion — Documentation and knowledge base Loom — Async video messages World Time Buddy — Timezone planning Remote work isn\u0026rsquo;t just about working from home — it\u0026rsquo;s about working effectively across distances and time zones. The developers who master this skill will have a massive advantage in the global talent market.\n","permalink":"https://mrfant.github.io/posts/remote-work-time-zones/","summary":"Practical tips for developers working remotely from Asia with teams in Europe and the Americas.","title":"5 Lessons from Working Remotely Across Time Zones"}]