# Writing

Canonical: https://gaboesquivel.com/blog

Notes on AI, Web3, product engineering, and the systems behind software that ships.

- [Generative Interfaces](https://gaboesquivel.com/blog/2026-10-generative-interfaces): User intent can drive how software is composed and distributed, from declarative UI specs and MCP Apps in assistants to design systems machines can reason about at runtime.
- [Agentic Domain-Driven Design](https://gaboesquivel.com/blog/2026-10-domain-driven-design): Shared domain language helps teams and coding agents preserve business meaning, define clear boundaries, and avoid implementing the wrong assumptions.
- [Iteration Velocity](https://gaboesquivel.com/blog/2026-10-iteration-velocity): Previews, gradual rollouts, and small migrations shorten the path from an idea to evidence that it improves the product.
- [Context Engineering](https://gaboesquivel.com/blog/2026-09-context-engineering): An agent harness orchestrates memory, tools, skills, and retrieved information so models receive the right context at the right moment.
- [Product Engineering](https://gaboesquivel.com/blog/2026-09-product-engineering): Product engineering connects user needs, design, implementation, and production. Coding agents make end-to-end ownership more valuable.
- [AI Coding Factories](https://gaboesquivel.com/blog/2026-09-ai-code-factories): A reliable AI coding factory coordinates tasks, isolated execution, verification, and production feedback into a repeatable delivery process.
- [AI Agents are Infrastructure](https://gaboesquivel.com/blog/2026-05-ai-agents): Running agents in production means managing tools, state, permissions, and recovery—not just choosing a capable language model.
- [The Forward Deployed Engineer](https://gaboesquivel.com/blog/2026-04-forward-deployed-engineer): Forward deployed engineers work with customers to turn AI into production systems, bridging product engineering, integrations, and adoption.
- [Engineering in the AI Era](https://gaboesquivel.com/blog/2026-02-engineering-ai-era): As coding agents take over more implementation, an engineer's time moves to constraints, review, and deciding what should exist.
- [Tokenized Securities at the NYSE](https://gaboesquivel.com/blog/2026-01-tokenization): The NYSE is developing a tokenized-securities platform for 24/7 trading and onchain settlement, subject to regulatory approval.
- [Agentic Commerce](https://gaboesquivel.com/blog/2026-01-agentic-commerce): Google's Universal Commerce Protocol, with A2A, AP2, and x402 around it, moves checkout into AI surfaces and makes shopping a workflow agents can execute.
- [Evolution of AI UX](https://gaboesquivel.com/blog/2026-01-evolution-ai-ux): AI interfaces are moving from prompts and answers to agents that hold intent, run workflows, and deliver outcomes, which makes visibility and control the core of the UX.
- [Why I'm Bullish on 2026](https://gaboesquivel.com/blog/2025-11-bullish-2026): Why I expect AI agents, stablecoins, wallet signing, and tokenized markets to converge in products over the coming year.
- [Intersection of AI and Web3 (Part 2)](https://gaboesquivel.com/blog/2025-11-web3-and-ai): How agentic finance, stablecoin payment rails, and decentralized AI infrastructure are starting to connect in real products.
- [Why I Prefer 1099 Contracting](https://gaboesquivel.com/blog/2025-11-1099-contracting): How I work as a 1099 contractor through Blockmatic Labs LLC, covering payments, engagement structure, and what teams should expect from Costa Rica.
- [Intent-Based Multichain DeFi](https://gaboesquivel.com/blog/2025-10-multichain-defi-intents): How solver networks and ERC-7683 support intent-based transactions across EVM chains, Solana, and Cosmos.
- [Stablecoin Summer](https://gaboesquivel.com/blog/2025-10-stablecoin-summer): Why the GENIUS Act and Treasury-backed reserves matter as stablecoins become infrastructure for payments and settlement.
- [Why I still use Expo](https://gaboesquivel.com/blog/2025-09-why-expo): OTA updates, EAS cloud builds, and shared TypeScript from production React Native work.
- [Agentic Finance](https://gaboesquivel.com/blog/2025-09-agentic-finance): How AP2, x402, and agentic commerce protocols could let AI agents authorize payments and settle transactions with stablecoins.
- [Web3 Composability](https://gaboesquivel.com/blog/2025-09-web3-composability): How shared token, liquidity, governance, and DeFi standards accelerate new products while introducing systemic risk.
- [Prompt Injection](https://gaboesquivel.com/blog/2025-06-prompt-injection): How direct, indirect, and tool-response prompt injection hijack LLM behavior, and the layered defenses I use in AI applications that call tools.
- [AI Model Context Protocol (MCP)](https://gaboesquivel.com/blog/2025-05-model-context-protocol): What the Model Context Protocol standardizes about connecting models to tools and data, and how I structure MCP-style tools, composition, and memory in TypeScript.
- [RAG with TypeScript](https://gaboesquivel.com/blog/2025-05-typescript-rag): How retrieval-augmented generation works, and how to implement it with TypeScript SDKs, embeddings, and vector stores.
- [Scaling and Securing WebSockets](https://gaboesquivel.com/blog/2025-05-scaling-securing-websockets): How session affinity, TLS, authentication, and Redis pub/sub keep WebSocket backends reliable across multiple nodes.
- [EVM Token Standards Overview](https://gaboesquivel.com/blog/2025-05-evm-token-standards): What ERC-20, ERC-1155, ERC-6909, and ERC-7281 each define, where each one fits, and how they compare on batching, approvals, and gas.
- [Managing Risks in DeFi](https://gaboesquivel.com/blog/2025-05-managing-risks-defi): The technical, economic, systemic, and operational risks in DeFi, the incidents that exposed each one, and the checks and tools I use before trusting a protocol.
- [AMMs, Liquidity Pools & Yield Farming](https://gaboesquivel.com/blog/2025-05-amm-yield-farming): How automated market makers price trades from liquidity pools, what liquidity providers earn and risk, and yield farming strategies on Ethereum, Solana, Cosmos, and zkSync.
- [Trading Engines - Order Books & AMMs](https://gaboesquivel.com/blog/2025-05-order-books-and-amms): How order books and AMMs match trades, which projects run each model and hybrids of both, and when I would pick one over the other.
- [The Skillset of a Product Engineer](https://gaboesquivel.com/blog/2025-03-the-product-engineer): Why product engineers take ownership of user needs, interfaces, and systems instead of working within one technical layer.
- [How USDT0 Improves Stablecoin Bridging](https://gaboesquivel.com/blog/2025-03-understanding-usdt0): How USDT0 and LayerZero's OFT standard move USDT across chains without wrapping, with unified liquidity and a smaller bridge attack surface.
- [EVM on Bitcoin - The Future of DeFi](https://gaboesquivel.com/blog/2025-03-bitcoin-defi-evm): The Layer 2s, sidechains, and token standards bringing programmability to Bitcoin, and what EVM compatibility through projects like SovaEVM adds for Solidity developers.
- [The Power of Bitcoin Runes](https://gaboesquivel.com/blog/2025-03-the-power-of-bitcoin-runes): How Runes represents fungible tokens through Bitcoin's UTXO model, and what its design does and does not provide.
- [Engineering Principles](https://gaboesquivel.com/blog/2025-02-engineering-principles): The principles I use to balance software quality, reliability, and delivery speed across products and technical stacks.
- [Math in JavaScript and DeFi](https://gaboesquivel.com/blog/2025-01-math-js-defi): Floating-point quirks, precision, and BigInt choices I use when JavaScript math has to hold up in DeFi contracts and onchain apps.
- [When React Compiler Replaces Manual Memoization](https://gaboesquivel.com/blog/2025-01-use-memo-use-callback-obsolete): Why React Compiler reduces the need for useMemo, useCallback, and memo—and when those APIs still matter.
- [Fractal Components in React](https://gaboesquivel.com/blog/2024-11-react-fractal-compoundnents): How I organize React applications into self-similar modules and compound components to keep features manageable as they grow.
- [Modern Next.js Web3 Architecture](https://gaboesquivel.com/blog/2024-10-modern-nextjs-web3-architecture): How I structure Next.js Web3 applications using URL state, colocated features, TanStack Query, wagmi, and viem.
- [Touch Grass, Activate Clarity](https://gaboesquivel.com/blog/2024-09-touch-grass): Why time away from the screen is part of sustainable engineering, and how I make room for clearer thinking and focus.
- [Introducing BasilicEVM](https://gaboesquivel.com/blog/2024-08-basilica-evm): A look at my EVM starter for wallet connections, contract types, and chain interactions using Foundry, viem, and wagmi.
- [Architecture Decision Records](https://gaboesquivel.com/blog/2024-07-adrs-in-software-teams): How I use ADRs to capture technical decisions, tradeoffs, and context so teams can revisit them with confidence.
- [Comparing Ethers.js and Viem/Wagmi](https://gaboesquivel.com/blog/2024-07-viem-wagmi-ethers): How Ethers.js and Viem with Wagmi differ on bundle size, modularity, types, and React integration, and where each one runs at Bitlauncher.
- [The Intersection of AI and Web3](https://gaboesquivel.com/blog/2024-07-ai-and-web3): A July 2024 snapshot of shared infrastructure between AI and Web3: compute, identity, data, and open networks.
- [Async Patterns in React](https://gaboesquivel.com/blog/2023-09-async-patterns-in-reactjs): How I keep asynchronous logic in TypeScript services and connect it to React with TanStack Query and reusable hooks.
- [Conventions for React Apps](https://gaboesquivel.com/blog/2023-01-react-app-standards): My conventions for naming, collocation, state, and folder structure in React applications as features become more complex.
- [TypeScript Generation from GraphQL](https://gaboesquivel.com/blog/2020-01-typescript-code-generation-from-graphql): Two talks on TypeScript and GraphQL, one on generating types from a schema with Codegen at GraphQL Texas and one in Spanish for PanamaJS.
- [TicoBlockchain 2019 Recap](https://gaboesquivel.com/blog/2019-03-ticoblockchain-2019-recap): Recap of the First International Blockchain and Cryptocurrency Conference in Costa Rica.
- [First Crypto Conference in Costa Rica](https://gaboesquivel.com/blog/2019-01-international-crypto-conference-in-costa-rica): On February 2nd, the first international blockchain and cryptocurrency conference in Costa Rica will be held in San José.
- [Enhancing Your GitHub Workflow](https://gaboesquivel.com/blog/2018-08-enhance-your-github-flow): Tips for improving your GitHub workflow in software development.
- [Costa Rica's Crypto Cantina](https://gaboesquivel.com/blog/2018-07-costa-rica-crypto-cantina): BlockchainCR is excited to introduce "Costa Rica's Crypto Cantina.
- [Blockchain Technology in Costa Rica](https://gaboesquivel.com/blog/2018-06-blockchain-technology-in-costa-rica): The Blockchain ecosystem in Costa Rica, BlockchainCR, and the Costa Rican Blockchain Association.
- [Nodeschool International Day 2016](https://gaboesquivel.com/blog/2016-06-nodeschool-international-day): JavaScript and Node.js through in-person workshops
- [Paintball.js recap](https://gaboesquivel.com/blog/2015-5-paintball.js-recap): At Costa Rica JS this time we broke the mold a bit and went to Under Fire Paintball territory.
- [Best Practices for Designing RESTful APIs](https://gaboesquivel.com/blog/2015-10-best-practices-for-designing-web-apis): When designing an API, there are important decisions that have a great impact on the way other applications will interact with the service...
- [Automatic Node.js Version Switching](https://gaboesquivel.com/blog/2015-07-automatic-node-dot-js-version-switching): When working on multiple Node.js projects it is important to configure your development environment to automatically switch to right node version for a particular project.
- [On Continuous Delivery](https://gaboesquivel.com/blog/2015-07-continuous-delivery): Continuous delivery is practice in software development in which development teams work in a way that allows companies to update their systems at any point in time or continuously through automated processes, the system's code base is always deployable and tested.
- [Films and Documentaries Worth Watching](https://gaboesquivel.com/blog/2015-03-films-and-documentaries-worth-watching): A curated list of must-watch films and documentaries
- [Unit Testing - Mocks, Stubs and Spies](https://gaboesquivel.com/blog/2014-09-unit-testing-mocks-stubs-and-spies): Understanding mocks, stubs, and spies in unit testing
- [Introduction to Unit Testing](https://gaboesquivel.com/blog/2014-09-introduction-to-unit-testing): Getting started with unit testing in JavaScript
- [NodeJS HTTPS and SSL Certificate for Development](https://gaboesquivel.com/blog/2014-08-nodejs-https-and-ssl-certificate-for-development): Setting up HTTPS and SSL certificates for Node.js development
- [Introduction to Gulp.js](https://gaboesquivel.com/blog/2014-04-introduction-to-gulpjs): Getting started with Gulp.js build system
- [Developing Software in Costa Rica](https://gaboesquivel.com/blog/2014-01-developing-software-in-costa-rica): The software development ecosystem in Costa Rica
- [Choosing the Database for your Web App](https://gaboesquivel.com/blog/2013-09-choosing-the-database-for-your-web-app): A guide to choosing the right database for your web application
- [Data Visualization in Costa Rica](https://gaboesquivel.com/blog/2013-08-data-visualization-in-costa-rica): Data Visualization meetup in Costa Rica
- [My Favorite JavaScript and Engineering Podcasts](https://gaboesquivel.com/blog/2012-12-javascript-and-engineering-podcasts): Simply the best Javascript podcast out there.