A college student hooked on Vibe Coding, turning ideas into working software. From full-stack web apps to macOS native tools to Android apps — every project is a new experiment.一个热爱 Vibe Coding 的大学生,用代码把想法变成现实。从全栈 Web 应用到 macOS 原生工具,再到 Android 应用,每个项目都是一次新的实验。
I'm CityGenius, a college student who loves Vibe Coding — turning sparks of ideas into working products fast. I learn best by building; every project is a zero-to-one exploration.我是 CityGenius,一名在校大学生,热爱 Vibe Coding,用代码将灵感快速变为可用的产品。我相信最好的学习方式是动手做,每个项目都是一次从 0 到 1 的探索。
From Python full-stack to Swift native apps, from Kotlin Android to AI model integration — I enjoy jumping between stacks. This blog documents my builds, my thinking, and the pits I fell into along the way.从 Python 全栈开发到 Swift 原生应用,从 Kotlin Android 开发到 AI 模型集成,我享受在不同技术栈之间切换的乐趣。这个博客记录我的开发历程、技术思考和踩坑经验。
From research tools to productivity apps — solving real problems with code.从学术研究工具到生产力应用,用代码解决真实问题。
A research companion that helps scholars search, organize, and analyze papers with AI. Multilingual translation and smart summaries included.学术研究辅助工具,利用 AI 帮助研究者高效检索、整理和分析学术文献。支持多语言翻译和智能摘要。
Efficiency tools built for macOS — native APIs, buttery interactions, deep system integration.为 macOS 打造的效率工具,利用原生 API 提供流畅体验,深度整合系统功能,追求交互细节。
A collection of Android apps: file conversion, on-device AI imaging, multilingual translation — pretty and practical.多个 Android 应用项目,覆盖文件格式转换、AI 图片处理、多语言翻译等功能,兼顾美感与实用性。
Python / FastAPI / React / Swift / AppKit / Kotlin / Jetpack Compose / TFLite / RAG.
From idea to launch: building scholar-ai. How AI-assisted coding helped ship a FastAPI backend and a React frontend fast, plus real-world lessons from implementing RAG.
从想法到上线,记录 scholar-ai 的开发过程。如何利用 AI 辅助编码,快速搭建 FastAPI 后端和 React 前端,以及 RAG 检索增强生成的实际落地经验。
How to do quality file format conversion on Android. The on-device vs. cloud API tradeoff, plus UI practice with Jetpack Compose.
如何在 Android 上实现高质量的文件格式转换。本地处理 vs 云端 API 的权衡,以及 Jetpack Compose 的 UI 实践。
The biggest time sink in student AI projects isn't a weak model — it's re-explaining the same workflow every time. Writing workflows as Agent Skills is like writing experiment steps into a reusable lesson plan.
学生做 AI 项目时最容易浪费时间的,不是模型不够强,而是每次都要重新解释同一套流程。把工作流写成 Agent Skill,就像把实验步骤写进可复用的教案。
Exploring what local AI models can do on mobile. TFLite image processing, offline translation model integration, and performance optimization.
探索在移动端运行本地 AI 模型的可能性。TFLite 图片处理、离线翻译模型的集成,以及性能优化技巧。
Compress redundancy, make routing explicit, and leave a receipt — before the request goes out. One real request sent 33,705 fewer tokens.
在请求发出前压缩冗余、写清路由、留下回执。一次真实请求少送 33,705 token。
Opening more terminals is easy; staying in control is hard. The main agent only splits and merges — dispatch, timeouts, and resume go to the control plane, and each CLI gets matched to the task.
多开终端不难,难的是可控。主 Agent 只拆解汇合;派发、超时、续接交给控制面,CLI 按任务匹配。
Using Open Design as an example: how to break down an app with 149 design systems, 110 templates, and 11 craft specs into a clean Claude Code Skill. Core ideas: three-axis composition, six-part assembly, advisor-style interaction.
以 Open Design 为例,讲解如何将一个包含 149 个设计系统、110 个模板、11 套工艺规范的应用,拆解为一个结构清晰的 Claude Code Skill。核心思路:三轴组合、六段拼装、顾问式交互。
Retrieved snippets are not evidence. A nine-stage protocol + evidence graph that outputs ADOPT, PILOT, REJECT, or INSUFFICIENT EVIDENCE.
检索片段不是证据。九阶段协议 + 证据图,给出 ADOPT、试点、驳回或证据不足。
No rewriting the agent — just read the local session files. Session tree, terminal, MCP, and worktrees, all on one desk.
不重写 Agent,只读本地会话文件。会话树、终端、MCP、worktree 都摊在一张桌子上。
Lessons and pitfalls from building macOS tools. The conveniences and limits of SwiftUI, when to go back to AppKit, and how to do on-device inference with Core ML.
在开发 macOS 工具时遇到的坑和经验。SwiftUI 的便利与局限,什么时候该回归 AppKit,以及如何利用 Core ML 做本地推理。
One feature piece, plus further reading.精选一篇主文,和两条延伸阅读。
Shipping a full-stack AI app in 3 days with Vibe Coding — the full log from spec to MVP.用 Vibe Coding 三天搞定一个全栈 AI 应用,从需求描述到 MVP 上线的完整记录。

Don't describe the whole page at once. Break it into small components with tight constraints — output quality jumps.不要一次描述整个页面。拆成小组件、逐个约束,AI 的输出质量会明显提升。

Complex business logic, perf-critical paths, deep mechanism understanding — still needs a human in the loop.复杂业务逻辑、性能关键路径、底层机制理解,仍然需要开发者亲自把关与修正。

Carrying this approach into macOS native tools, Android apps, and on-device AI.继续把这种开发方法迁移到 macOS 原生工具、Android 应用和本地 AI 集成场景里。

Into my projects? Want to trade Vibe Coding notes? Or just talk tech? This is the front door.对我的项目感兴趣?想交流 Vibe Coding 的经验?或者只是想聊聊技术?这里是最直接的入口。

For collabs, suggestions, or a deeper thread on any project — email gives us more room.如果你想合作、提建议,或者只是想继续深入聊某个项目,邮件会更适合展开。

Find me on GitHub or by email — projects, tech, anything.欢迎从 GitHub 或邮件找我,聊项目、聊技术都行。