XingKaiXin's Upside Down
XingKaiXin's Upside Down
XingKaiXin's blog on AI coding, agent engineering and developer tools, with notes on products and life along the way.
About
Hey, I'm XingKaiXin. I work in Shanghai. Outside of work and study, I'm a photography enthusiast who also loves tinkering with all kinds of gadgets.
Life shouldn't be just one kind of experience, and not everyone has to be laser-focused on one thing. Having wide interests and a life full of experiences is its own kind of happiness.
Contact
Sections




Hey, I'm XingKaiXin. I work in
Welcome to my upside-down world. I write about AI coding and agent engineering, build small, handy tools, and keep notes on life.
Life shouldn't be just one kind of experience, and not everyone has to be laser-focused on one thing. Having wide interests and a life full of experiences is its own kind of happiness.
Play Stoic MorningNow playing · Stoic MorningThe end credits roll along with it
Hey, want to say hi?
Talk about AI, tools, photography, or just drop by to say hello.
End credits
Cast
- Design & content
- XingKaiXin
- Lead development
- Codex
- Development assistance
- Claude Code
Foundation
- Application framework
- Astro
- Interface library
- React
- Content management
- Markdown & Astro Content Collections
- Styling
- Tailwind CSS
- Language
- TypeScript
- Runtime & package management
- Bun
Infrastructure
- Hosting & deployment
- Cloudflare Workers
- Media storage
- Cloudflare R2
- Analytics
- Umami
- Source hosting
- GitHub
Typography
- Chinese display type
- 得意黑 · Smiley Sans
- Latin type
- Outfit
- Monospace type
- JetBrains Mono
Interface & motion
- Interface primitives
- Base UI
- Icon library
- Phosphor Icons
- Signature animation
- Tegaki
- Page & theme transitions
- CSS & View Transitions API
Content & media
- Markdown rendering
- remark & rehype
- Image processing
- Bun.Image & Sharp
- Photo metadata
- ExifTool
- Social preview images
- Satori
- Music
- Stoic Morning
- Composed by
- Kevin MacLeod · incompetech.com
- Music license
- CC BY 4.0
Production tools
- Testing
- Vitest
- Linting & formatting
- Oxlint & Oxfmt
- Continuous integration
- GitHub Actions
- Version control
- Git
The pond in the yard
After the credits, come sit in the yard for a while. Seven koi live in the pond.
Tap or drag the water · or pick up the rod and fish
Seven koi swim in the pond. Tap or drag sideways across the water to make ripples. Once you pick up the rod, move the pointer or tap the water to place the float; when a koi bites, tap or move the mouse up to strike. With a keyboard, press Enter to start, the arrow keys to move the float, Enter or Space to strike, and Escape to put the rod down. Every koi you catch goes back into the pond.
