Welcome to my portfolio
Hello, I'm
Kaiwen Yao
Software Engineer / Full Stack Developer
M.S. Computer Science student at University College Dublin with a strong foundation in full-stack development. Experienced in building production-grade applications using Spring Boot, React, Python/FastAPI, and Go. Passionate about creating elegant solutions, from AI-powered platforms to real-time systems. Always eager to learn and tackle new challenges.
SKILLS
Technologies I work with
INTERNSHIP
My internship experience
Lead Backend Developer
Built the entire API service for an Instagram-style social app with dual-camera photo sharing using Go, Gin, GORM, and MySQL. Implemented 9 production modules with layered Handler→Service→Repo architecture, JWT authentication with Redis-backed logout token blacklisting, SMS verification, Aliyun OSS image upload with CDN delivery, cursor-paginated feed endpoints, and a notification system triggered on like/comment/follow events. Wrote unit and integration tests with testcontainers-go. Configured Alibaba Cloud Yunxiao (Flow) CI/CD pipeline with ACR container deployment.
EDUCATION
My academic background
M.S. Computer Science
B.S. Power Engineering of Flight Vehicles
PROJECTS
Things I've built
Firmament Take-Out
Full-Stack Food Delivery Platform
- Built a full-stack food delivery system with separate admin and user-facing frontends using a decoupled architecture
- Developed the backend RESTful API with Spring Boot 3, MyBatis Plus, and MySQL, covering employee, category, dish, combo meal, order, shopping cart, and address modules
- Implemented JWT + Refresh Token authentication with automatic renewal; migrated password hashing from MD5 to BCrypt with backward-compatible verification
- Integrated Redis for shop status caching and Spring Cache with custom JSON serialisation to preserve type information during deserialisation
- Built the admin dashboard with React 19, shadcn/ui, real-time order notifications via WebSocket, and data visualisation with ECharts
- Built the mobile user frontend with React 19 and antd-mobile; implemented route-level lazy loading for optimised bundle splitting
- Set up a Jenkins CI/CD pipeline with automated testing, Docker image builds, and production deployment
Dublin Bikes Assistant
Real-Time Bike-Sharing Intelligence Platform
- Built a full-stack bike-sharing platform with a Python/Flask REST API, React 19 + TypeScript SPA, and an autonomous scraper daemon polling the JCDecaux API every 5 minutes
- Trained a Random Forest model (scikit-learn) on historical availability data to forecast station bike counts up to 48 hours ahead, with the model pre-loaded at server start for low-latency prediction endpoints
- Integrated LangChain with Alibaba Qwen to power an AI chat assistant with full conversation history, streaming responses to the browser via Server-Sent Events (SSE)
- Implemented JWT dual-token authentication with token-version invalidation for instant logout, and an email verification flow with rate-limited 6-digit codes
- Designed an interactive map with Google Maps for real-time station markers and availability history charts (Recharts); implemented an optimal bike route planner using the Google Maps Distance Matrix API
UCDHub
Campus Community Platform for UCD Students
- Developed a production campus platform serving UCD international students with structured course reviews, a secondary marketplace, and rental listings
- Designed an async REST API with SQLAlchemy 2.0 supporting multi-dimensional course ranking across 6,000+ records, with rate-limiting middleware and paginated endpoints
- Implemented a points and membership system featuring daily check-in rewards and point-based redemption (50 points → 1-day premium), gating extended review access to drive user engagement
- Integrated dual-channel email verification (6-digit code and tokenised link) with Redis-backed JWT token blacklisting, securing the authentication layer end-to-end
- Automated containerised deployment via Jenkins and Docker, covering build, test, and production rollout as sole developer
GET IN TOUCH
I'm always open to discussing new projects, creative ideas,
or opportunities to be part of your visions.