Interfaces, state, and design systems from shipped products—grouped here and tied to project evidence. frontend engineering goes deeper on the work.
Frontend technologies
CSS- 19 projects
Layout and responsive styling for ecommerce navigation, energy dashboards, and early client marketing sites.
TypeScript- 18 projects
JavaScript with static types for safer refactors, richer editor tooling, and shared contracts across clients and services.
React- 17 projects
Component model for web UIs across trading interfaces, admin dashboards, and marketplace screens in Next.js and standalone apps.
JavaScript- 16 projects
Client and server scripting for community platforms, ecommerce navigation, energy dashboards, and early full-stack products.
Tailwind CSS- 12 projects
Utility-first styling for trading interfaces, AI dashboards, virtual-world shells, and marketplace UIs across Next.js and React apps.
GraphQL- 7 projects
Typed API layer for blockchain subscriptions, exchange data, onchain ratings, and marketplace services.
Next.js- 6 projects
Full-stack React framework for trading apps, auction platforms, AI assistants, and virtual-world experiences with SSR and server components.
React Native- 6 projects
Cross-platform mobile for neobank apps, AI assistants, retail AR previews, and hackathon game builds.
TanStack Query- 4 projects
Server data caching for RAG assistants, auction platforms, options trading, and chatbot interfaces on Next.js.
AngularJS- 3 projects
SPA framework for subscription apps, flight-information dashboards, and fitness trackers in early full-stack products.
Bootstrap- 3 projects
Responsive grid toolkit for energy dashboards, WordPress sites, and early subscription web apps.
nuqs- 3 projects
URL state synchronization for auction filters, trading views, and shareable assistant pages on Next.js.
shadcn/ui- 3 projects
Accessible React component layer for options trading, auction screens, and AI assistant interfaces on Next.js.
Expo- 2 projects
React Native toolchain for LegalAgent's voice assistant and Flow Hackathon game builds.
MooTools- 2 projects
JavaScript framework for responsive medical landing pages in early client work.
Redux- 2 projects
Shared application state for retail AR features and photo editor commerce workflows in React Native and web apps.
Wagmi- 2 projects
React hooks for Ethereum wallets and contracts, built on Viem with multichain configuration and shared query caching.
Data Charts- 1 project
Interactive energy-consumption visualizations for Gridium's commercial-building monitoring dashboard.
LESS- 1 project
CSS preprocessor for ARINC Microfids' AngularJS flight-information display styling.
Stitches- 1 project
CSS-in-JS styling for Bitcash's React exchange interface alongside Zustand client state.
TanStack Form- 1 project
Headless form layer for LegalAgent's document categorization and system prompt management in the admin dashboard.
TanStack Start- 1 project
Full-stack React framework with file-based routing and server functions for LegalAgent's admin dashboard and document workflows.
ViroAR- 1 project
Augmented-reality product previews in the Tractor Supply React Native retail app.
WebGL- 1 project
In-browser 3D rendering for ZTX's EVM wallet connector embedded inside the virtual-world canvas.
Zustand- 1 project
Client state management for Bitcash's peer-to-peer exchange interface alongside Stitches styling.
Writing about Frontend
AI Agents are Infrastructure
May 20, 2026
Managed and self-hosted AI agents, agentic infrastructure, and why the runtime around the model matters more than benchmarks alone.
Intersection of AI and Web3 (Part 2)
November 13, 2025
Agentic finance, stablecoin rails, and decentralized AI infrastructure after a year of building at the intersection.
Why I still use Expo
October 1, 2025
OTA updates, EAS cloud builds, and shared TypeScript from production React Native work.
Agentic Finance
September 30, 2025
A deep dive into how AI agents are becoming autonomous financial actors with the ability to transact, execute, and move capital
AI Model Context Protocol (MCP)
June 8, 2025
Exploring the Model Context Protocol (MCP) for standardizing AI model interactions using TypeScript
RAG with TypeScript
June 2, 2025
TypeScript implementations of Retrieval-Augmented Generation (RAG) systems for integrating external knowledge with language models
The Skillset of a Product Engineer
March 25, 2025
What I look for in a product engineer—ownership across product, interface, and systems, not a title swap for frontend or backend.
EVM on Bitcoin - The Future of DeFi
March 17, 2025
Bitcoin DeFi evolves with EVM, unlocking new financial possibilities.
The Power of Bitcoin Runes
March 2, 2025
How Bitcoin Runes is transforming tokenization with scalability and real adoption
Engineering Principles
February 25, 2025
Principles I use across web and blockchain work—quality, reliability, and shipping speed in the same conversation, independent of stack.
Math in JavaScript and DeFi
January 19, 2025
Floating-point quirks, precision, and BigInt choices I use when JavaScript math has to hold up in DeFi contracts and onchain apps.
useMemo and useCallback Are (Mostly) Obsolete
January 17, 2025
Why useMemo and useCallback hooks are becoming obsolete in modern React applications
React Fractal Compoundnents
November 25, 2024
How I structure React apps with self-similar folders and compound components so small modules stack into larger features without layout debt.
Modern Next.js Web3 Architecture
October 1, 2024
URL state, collocation, React Query, wagmi, and viem in Next.js Web3 apps.
Introducing BasilicEVM
August 15, 2024
BasilicEVM is the EVM starter I use for wallets, types, and chain integration—built on Foundry, viem, wagmi, and shared TypeScript.
Architecture Decision Records
July 20, 2024
How Architecture Decision Records keep context, tradeoffs, and consequences on record when teams revisit decisions months later.
Comparing Ethers.js and Viem/Wagmi
July 20, 2024
A comparative analysis of Ethers.js and Viem/Wagmi in Ethereum development
The Intersection of AI and Web3
July 7, 2024
A July 2024 snapshot of shared infrastructure between AI and Web3: compute, identity, data, and open networks.
Async Patterns in React (PolkadotJS)
September 5, 2023
Async Patterns for maintaining a clear separation between core logic and presentation.
Conventions for React Apps
January 29, 2023
File naming, collocation, state, and structure I use in React apps.
TypeScript Generation from GraphQL
January 19, 2020
Generate TypeScript from a GraphQL schema with Codegen
Enhancing Your GitHub Workflow
August 8, 2018
Tips for improving your GitHub workflow in software development.
Nodeschool International Day 2016
June 7, 2016
JavaScript and Node.js through in-person workshops
Paintball.js recap
May 30, 2016
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
October 3, 2015
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
July 18, 2015
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
July 10, 2015
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.
Unit Testing - Mocks, Stubs and Spies
September 15, 2014
Understanding mocks, stubs, and spies in unit testing
Introduction to Unit Testing
September 1, 2014
Getting started with unit testing in JavaScript
NodeJS HTTPS and SSL Certificate for Development
August 15, 2014
Setting up HTTPS and SSL certificates for Node.js development
Introduction to Gulp.js
April 15, 2014
Getting started with Gulp.js build system
Developing Software in Costa Rica
January 15, 2014
The software development ecosystem in Costa Rica
Data Visualization in Costa Rica
August 1, 2013
Data Visualization meetup in Costa Rica
My Favorite JavaScript and Engineering Podcasts
December 22, 2012
Simply the best Javascript podcast out there.