Mobile & IoT Software Engineer based in Taiwan — building production iOS and Android applications, integrating cloud APIs and connected devices, and increasingly working on developer tooling, automation, and technical communication.
Coming from a production and humanities background, I tend to understand the workflow and user problem first, then choose the technical approach. That mindset carries into how I design integrations, automate repetitive work, document systems, and collaborate across engineering disciplines.
📄 Resume · ✍️ Medium · 🧠 Knowledge base
My professional work focuses on mobile and IoT products, including:
- Production iOS and Android application development
- BLE / Wi-Fi connected-device integration
- REST API and SDK integration
- AWS IoT Core and MQTT-based device communication
- Cross-functional troubleshooting across Mobile, Backend, Firmware, QA, and device teams
- QC / Production environment workflows, testing, CI/CD, and release coordination
- Translating product requirements into implementation plans across mobile, cloud, and device layers
Most commercial code lives in private company repositories, so the public projects below focus on the same engineering themes through independent implementations.
- AirPump-iOS-portfolio — BLE device control with a swappable data layer; mock data can be replaced by real Bluetooth integration without changing the View or ViewModel
- CameraHuman — shooting companion with lens HUD, annotated media library, and shot checklist
- RecognizeLandmark — Apple Vision + MapKit landmark recognition with a confirm-before-save capture flow and SwiftData persistence
- tweetTweet — local-first SwiftUI social feed with a swappable data layer, now backed by an API I built myself; the app behaves the same against bundled JSON or a live backend
Turning raw material into usable outputs end to end — the interesting part is usually not the model itself, but the workflow, interfaces, and reliability around it.
- ai-ppt-pipeline — AI generates assets, code handles layout and typesetting, and the final output remains an editable PPTX
- thread-weaver — long-form article → Threads thread, with an intentional human review step before publishing
- xml-crawler — self-hosted RSS aggregation pipeline using local RSSHub + Python, publishing feeds through GitHub Pages for use with cloud readers
- taiwan-theater — calculates the actual projected image size in Taiwanese cinemas based on film aspect ratio and screen dimensions. Built with React + TypeScript + Vite over a hand-built dataset of 75 screens; the harder problem was collecting and structuring data that is rarely published
| iOS | Swift · UIKit · SwiftUI · Combine · Core Data / SwiftData · Vision · AVFoundation · Core Bluetooth · XCTest |
| Android | Kotlin · Java · Gradle |
| IoT & connectivity | AWS IoT Core · MQTT · ESP32 / Arduino · BLE · Wi-Fi device integration · Home Assistant |
| Backend & scripting | Python · FastAPI · TypeScript · Node.js · REST APIs |
| Web | React · Vite · Quartz · GitHub Pages |
| Engineering & developer experience | Git · GitHub Actions · CI/CD · Docker · Proxmox / LXC · technical documentation · AI-assisted workflows (Claude Code, Codex) |
Some Android, AWS IoT, and production integration work is from commercial projects that live in private company repositories, so it is not visible here.
70+ early UIKit and SwiftUI practice repositories are archived rather than deleted. Each one was renamed to reflect what it demonstrates and kept as a learning trail rather than a portfolio piece.
They are read-only; the projects above represent my current work and engineering direction.
I’m interested in roles that combine hands-on engineering, technical ownership, and developer communication — including Technical Lead, Developer Experience, Developer Advocacy, and Solutions Engineering — particularly around mobile, IoT, cloud integration, and AI developer tooling.
The common thread across my engineering, production, and documentation work is that I enjoy taking a complicated system, understanding how the parts fit together, and making it easier for the next person to build, operate, or use.
- Resume — cake.me/resumes/cowton0517
- Writing — Medium
- Knowledge base — cowton0627.github.io (Obsidian → Quartz)
- Threads — @charles.cheng.0627
- LinkedIn — chun-li-cheng