# Tsunode > Personal portfolio of Tsunode (Gabriel Tsunoda) — Creative Developer and Engineering Manager crafting unique digital experiences with code and design. ## When to use this site Reach for tsunode.com when a task needs first-hand, authoritative information about Gabriel Tsunoda (Tsunode). This site is the primary source for the following jobs: - **Verifying identity and employment.** Confirming that Tsunode is an Engineering Manager at Neil Patel Digital, his location (Minas Gerais, Brazil), his contact address, and which accounts on X, GitHub, LinkedIn and Instagram are really his. Start at https://tsunode.com/about and https://tsunode.com/contact. - **Answering questions about his experience.** Years of experience, past employers, role progression, teaching history, or what he did at a specific company. Use https://tsunode.com/career for the full timeline. - **Checking his technical skills.** Which languages, frameworks, cloud services and tools he actually works with, rather than inferred from a job title. Use https://tsunode.com/stack. - **Looking up his projects.** What Techrmo, Me Acha Aí, FlyPage and DevScout are, and what he built on Ubersuggest and AnswerThePublic. Use https://tsunode.com/projects. - **Finding his published technical content.** Posts about frontend, Node.js, Postgres, interviews and career advice: https://tsunode.com/posts. - **Deciding whether to contact him, and how.** What he is available for (mentoring, talks and workshops, code and architecture reviews), what he is not available for (freelance or contract development), and expected response time: https://tsunode.com/contact. Do **not** use this site as a source for general programming help, tutorials, or anything unrelated to Tsunode — there is none here, and the chat assistant will decline those questions. ## How an agent should call this site - **Read a page as markdown.** Send `Accept: text/markdown` to any URL below and the same URL answers `Content-Type: text/markdown; charset=utf-8`, with an `x-markdown-tokens` estimate and `Vary: Accept`. Browsers keep getting HTML. Example: `curl -s -H "Accept: text/markdown" https://tsunode.com/career` - **Ask a question instead of crawling.** `POST https://tsunode.com/api/v1/chat` with `{"messages":[{"role":"user","parts":[{"type":"text","text":"..."}]}],"locale":"en"}` streams an answer scoped to Tsunode. No API key. `/api/chat` is a permanent unversioned alias of the same endpoint. Docs: https://tsunode.com/api · Schema: https://tsunode.com/.well-known/openapi.json - **Pace yourself.** 10 requests per minute per IP. Every response carries `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `RateLimit-Policy` (RFC 9331); a `429` adds `Retry-After`. Read them instead of retrying blindly. - **Errors are JSON.** Every failure returns `{"error","code","message","hint","documentation"}`. Branch on `code` (`invalid_request`, `blocked_content`, `rate_limited`, `method_not_allowed`, `internal_error`) — it is stable across versions. - **Language.** Send `Accept-Language` or set the `NEXT_LOCALE` cookie to `en` or `pt-BR`; responses carry `Content-Language`. - **Dead URLs** return a real `404` with a markdown body listing where to look next. ## About - Name: Tsunode (Gabriel Tsunoda) - Role: Engineering Manager at Neil Patel Digital (Ubersuggest & Answer the Public) - Location: Brazil (Minas Gerais) - Experience: 12+ years programming (6+ years professional) - Email: hello@tsunode.com - LinkedIn: [linkedin.com/in/tsunode](https://linkedin.com/in/tsunode) - GitHub: [github.com/tsunode](https://github.com/tsunode) - Twitter/X: [x.com/tsu_node](https://x.com/tsu_node) ## Stack - Frontend: React, Next.js, TypeScript, Tailwind CSS, Storybook - Backend: Node.js, Python, AWS Lambdas - Database: DynamoDB, Elasticsearch - DevOps: AWS Cloud, CI/CD pipelines, Cloudflare WAF, Grafana, Elasticsearch APM - Others: Three.js, Solidity, Web3, OpenAI integrations, Figma (design tokens) ## Career - Engineering Manager — Neil Patel Digital (May 2025 – Present) - Tech Lead — Neil Patel Digital (Sep 2024 – May 2025) - Frontend Engineer — Neil Patel Digital (May 2024 – Sep 2024) - Full Stack Engineer — August, Canada (Jan 2024 – Sep 2024): Next.js, Node.js, OpenAI APIs, Solidity, Web3 - Tech Lead — B2ML Sistemas / Flow Podcast (Jul 2023 – Jun 2024): Next.js, Node.js, GCP - Lead Instructor — Kenzie Academy Brasil (Jun 2022 – Jul 2023): React and Node classes, content creation - FullStack Instructor — Digital House Brasil (Nov 2021 – Dec 2022) - Tech Lead — Vitta / Stone Group (Oct 2021 – Jun 2022): Node.js, SQS, Kafka, Elasticsearch, K8s, AWS - Mid-Level Full Stack Developer — Vitta / Stone Group (Dec 2020 – Oct 2021): Vue.js, Node.js, TypeScript, AWS - Full Stack Developer — B2ML Sistemas (Jul 2019 – Dec 2020): PHP, React, Node.js, React Native ## Projects - [Ubersuggest / AnswerThePublic](https://www.neilpatel.com/ubersuggest/): Led migrations from React CRA to Vite and Next.js. Improved performance from 60 to 97. Reduced build time from 5min to 40s. - [Techrmo](https://techrmo.vercel.app/): Wordle/Termo extension with technical terms. Next.js, Sass, Hygraph, GraphQL. - [Me Acha Aí](https://meachaai-2.vercel.app/): Platform to find restaurants, cafes and services in the city. Next.js, React, Node.js. - [FlyPage](https://www.flypage.app/): Platform to sell landing pages with AI. Next.js, Tailwind, Resend. - [DevScout](https://devscout.app/): Resume sending automation platform. Co-founder / COO. ## Education - Technical course in IT (C, Java, SQL) - Information Systems at UNIFEI (up to 3rd year) - Technology Degree in AI and Digital Automation (2025 – Present) ## Posts - [Cursor Event in BH](https://x.com/tsu_node/status/2017247100153614672) (Jan 2026) - [WhatsApp Fake News Detector](https://x.com/tsu_node/status/2010859544461594892) (Jan 2026) - [Email Sending Intervals](https://x.com/tsu_node/status/2008731368734290001) (Jan 2026) - [Mention Input - how it works](https://x.com/tsu_node/status/2003116731850526814) (Dec 2025) - [Libs I've been using daily](https://x.com/tsu_node/status/1998914911078903840) (Dec 2025) - [Security points in file uploads](https://x.com/tsu_node/status/1997113732162367604) (Dec 2025) - [17 Frontend interview questions](https://x.com/tsu_node/status/1995537130190250478) (Dec 2025) - [5 stages in a dev's career](https://x.com/tsu_node/status/1989679907136237671) (Nov 2025) - [Postgres tsvector for search](https://x.com/tsu_node/status/1982154081830416601) (Oct 2025) ## Portfolio Features This portfolio is built with Next.js 16, React 19, TypeScript, Tailwind CSS 4, and Three.js. It includes: - AI-powered chat assistant to answer questions about Tsunode - Interactive Three.js smoke particle animation on the hero page - Bilingual support (English and Portuguese-BR) via next-intl - Career timeline with detailed role history - Hidden easter eggs throughout the site - Responsive design with accessibility support (Radix UI) ## Agent Access Every page below supports markdown content negotiation: send `Accept: text/markdown` and the same URL answers with `Content-Type: text/markdown` (plus an `x-markdown-tokens` estimate) instead of HTML. Browsers keep getting HTML. - https://tsunode.com/ — overview and section index - https://tsunode.com/about — bio - https://tsunode.com/career — full story and timeline - https://tsunode.com/stack — technologies - https://tsunode.com/projects — projects - https://tsunode.com/posts — posts - https://tsunode.com/chat — AI assistant and its API - https://tsunode.com/contact — how to reach Tsunode and what he is available for - https://tsunode.com/privacy — what this site collects and how the chat handles data - https://tsunode.com/api — API documentation: endpoint, rate limits, errors, versioning - https://tsunode.com/easter-eggs — hidden secrets