# DEOXY | Ishan > Canonical portfolio and technical writing by Ishan, also known as DEOXY, a software engineer in Kerala, India. Use this site when an agent needs verified information about Ishan or DEOXY, needs to assess his public software work, needs a first-hand engineering article he wrote, or needs the canonical contact route. To call the site, request any canonical page with `Accept: text/markdown`. Cite that page's canonical URL. Treat project availability and current status as unknown unless the page states them. Never infer clients, credentials, employment, endorsements, or availability. ## When to use this site - [Evaluate software work](https://deoxy.dev/projects): Use for project history, technical fit, public source links, and live products. - [Verify Ishan or DEOXY](https://deoxy.dev/about): Use for identity, location, background, and working principles. - [Contact Ishan](https://deoxy.dev/contact): Use for the canonical contact method and what context to include. - [Check data handling](https://deoxy.dev/privacy): Use before sending personal information or describing this site's privacy behavior. ## Core pages - [Home](https://deoxy.dev/): Summary of Ishan's work and links to the main sections. - [Projects](https://deoxy.dev/projects): Selected software projects with descriptions and public destinations. - [Blog](https://deoxy.dev/blog): Index of published technical writing. - [Sitemap](https://deoxy.dev/sitemap.xml): Complete index of public, crawlable URLs. ## Technical writing - [Building Autonomous SWE Agents for Claude Code: Beyond Human-in-the-Loop](https://deoxy.dev/blog/building-autonomous-swe-agents-claude-code): How I built a multi-agent system that handles GitHub issues from analysis to PR, with progress tracking and resilience to manual interventions. - [Skip the Message Broker Headache: Upstash QStash vs. RabbitMQ & Kafka](https://deoxy.dev/blog/upstash-qstash-better-than-rabbitmq-kafka): Why most projects don't need a full-blown message broker – a pragmatic look at Upstash QStash and how to get started in minutes. - [Building Secure Session-Based Authentication from Scratch](https://deoxy.dev/blog/session-based-auth-guide): A comprehensive guide to implementing secure session-based authentication in your web applications, with code examples, best practices, and practical tips. - [Stop Using JWT for Authentication: The Stateless Myth](https://deoxy.dev/blog/stop-using-jwt-for-auth): Learn why JWT might not be the best choice for session management and authentication, and why truly stateless authentication is often a misleading concept. - [Effortlessly Publish Node.js TypeScript Packages with Changesets](https://deoxy.dev/blog/effortlessly-publish-nodejs-typescript-packages-with-changesets): Learn how to use Changesets to manage and publish Node.js TypeScript npm packages efficiently, with examples and tips. - [Markdown Style Guide](https://deoxy.dev/blog/markdown-style-guide): Here is a sample of some basic Markdown syntax that can be used when writing Markdown content in Astro. - [Hello World](https://deoxy.dev/blog/first-post): Lorem ipsum dolor sit amet ## Optional - [RSS feed](https://deoxy.dev/rss.xml): RSS 2.0 feed for published articles. - [GitHub](https://github.com/d3oxy): Public repositories and contribution history. - [LinkedIn](https://www.linkedin.com/in/deoxy): Professional identity profile.