<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>dongquoctien — Blog</title><description>Full-Stack developer building scalable systems, MCP servers, and AI tooling. Notes, projects, and writing from Vietnam.</description><link>https://dongquoctien.github.io/</link><item><title>Bridging Figma and Jira from a Chrome extension: what Manifest V3 makes hard</title><link>https://dongquoctien.github.io/blog/figma-jira-chrome-extension-mv3/</link><guid isPermaLink="true">https://dongquoctien.github.io/blog/figma-jira-chrome-extension-mv3/</guid><description>QA Annotator picks DOM elements, resolves the nearest Figma frame, and files Jira issues — all from a Chrome extension. The interesting parts are the ones MV3 fights you on.</description><pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate><category>chrome-extension</category><category>manifest-v3</category><category>figma</category><category>jira</category></item><item><title>What I got wrong in my first three MCP servers</title><link>https://dongquoctien.github.io/blog/what-i-got-wrong-in-my-first-mcp-servers/</link><guid isPermaLink="true">https://dongquoctien.github.io/blog/what-i-got-wrong-in-my-first-mcp-servers/</guid><description>Six MCP servers later, I look back at the design mistakes I made early on — REST-mirroring, bad tool descriptions, context bombs — and what I do differently now.</description><pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate><category>mcp</category><category>ai</category><category>retrospective</category></item><item><title>Why I stopped fighting MyBatis and started liking it</title><link>https://dongquoctien.github.io/blog/why-i-stopped-fighting-mybatis/</link><guid isPermaLink="true">https://dongquoctien.github.io/blog/why-i-stopped-fighting-mybatis/</guid><description>Notes from a year on a hotel system running Spring Boot + MyBatis + Elasticsearch. The XML mapper aesthetic is unfashionable; the trade-offs are real.</description><pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate><category>java</category><category>spring-boot</category><category>mybatis</category><category>elasticsearch</category></item><item><title>Hello from the new site</title><link>https://dongquoctien.github.io/blog/hello-new-site/</link><guid isPermaLink="true">https://dongquoctien.github.io/blog/hello-new-site/</guid><description>I retired a chat-UI demo and replaced it with a proper portfolio + blog. Here&apos;s what changed and why.</description><pubDate>Sun, 10 May 2026 00:00:00 GMT</pubDate><category>meta</category><category>astro</category></item><item><title>Why I build MCP servers</title><link>https://dongquoctien.github.io/blog/why-i-build-mcp-servers/</link><guid isPermaLink="true">https://dongquoctien.github.io/blog/why-i-build-mcp-servers/</guid><description>Model Context Protocol turns LLMs from chat partners into capable agents. Here&apos;s what I&apos;ve learned shipping a half-dozen of them.</description><pubDate>Sun, 10 May 2026 00:00:00 GMT</pubDate><category>mcp</category><category>ai</category><category>tooling</category></item></channel></rss>