local-first object-oriented GUI client for blockchain exploration, crypto/DeFi management, AI & more
Is it possible to build a web3 frontend with the affordances of a thoughtfully crafted desktop GUI, IDE, or video game HUD? Can a blockchain client offer abstractions simple enough to be your go-to daily driver – setting good defaults, threading complex onchain smart contract operations together, and instilling confidence through visualization and simulation – without leaning heavily on indeterministic LLMs, or hiding the true complexity of the entities at play?
For ETHGlobal HackMoney 2026, I took all my learnings from the last five years building UI components, modeling client-side state, and wrangling APIs for dozens of crypto/web3 frontend projects, yapped about them nonstop for a week to a ragtag army of coding agents... and decided to find out!
blockhead.vision is a local-first object-oriented GUI client for blockchain exploration, onchain asset management and peer-to-peer DeFi interactions. At its core, all static and externally-fetched metadata are mapped to well-defined entity objects and stored in collections persisted in your browser's local storage. Together with a fine-grained query subscription system (powered by TanStack DB), this semantic client-side cache enables a number of unique UI interactions, including drag-and-drop intent invocations, graph visualizations of data and interactions, real-time data updates, fast optimistic navigation, and the ability to "@-mention" specific entities as context in AI agent-assisted research.
Features:
• Dashboards – create dashboards with resizable split-view panels that can independently navigate to any other page/view in the app.
• Accounts – "watch" accounts by entering "0x" addresses or ENS names and connect as many wallets as you want at the same time (powered by EIP-6963).
• Account – browse coin balances, transactions, and DeFi positions such as Uniswap V4 liquidity or Yellow state-channels.
• Explore – browse networks, accounts, blocks, transactions, coin transfers and other onchain entities like a block explorer. "Watch" any entity to pin it to the navigation bar and the global graph visualization.
• Sessions – draft, preview, simulate, sign and broadcast sequences of onchain actions (transfer, swap, bridge, add liquidity and more). Fill in parameters with autosuggestions from your local context, choose from supported protocols, or let the UI automatically choose a protocol based on a desired metric like "fastest" or "cheapest". All state is saved locally, and once a transaction is broadcast to the blockchain network, statuses are "watched" and synced in real time.
• Simulations – simulate transactions within session actions using a local fork of a blockchain's execution runtime (powered by Tevm).
• Drag-and-drop intents – drag and drop entities onto other entities from anywhere in the UI to initiate a session pre-populated with relevant sequences of onchain actions. For example, drag a coin balance from one account to another to initiate a transfer, to another coin balance to initiate a swap, and/or to another network to initiate a bridge. In many cases there may be multiple action sequences that give you the desired outcome.
• Graph visualizations – explore relationships between entities currently being shown in the interface. Nodes and edges in the visualization will seamlessly transition as you navigate.
• Rooms: create or join real-time multiplayer rooms (powered by PartyKit) to share and discover account addresses with peers. To verify private key ownership with peers, you may sign Sign In with Ethereum payloads generated by their Blockhead client. Open mutual offchain state channels, and send or approve transfer requests with other peers in the room.
• State channels: manage ERC-7824 state-channels (powered by Yellow) across your watched accounts. Open channels, fund them, record off-chain transfers, and settle. Channel balances and state stay locally synced.
• Liquidity positions: view and manage Uniswap V4 liquidity positions across your watched accounts: add or remove liquidity, increase size, collect fees.
• Agent chats – chat with popular LLM services from OpenCode, Anthropic, OpenAI and more by bringing your own API keys. “@-mention” any entity tracked within the UI (addresses, coins, positions, etc.), with autocomplete suggestions taken from your local store / browsing history, and its metadata will be queried and included as context for the LLM. Fork conversations at any turn.
• Local-first profiles – wallet connection state, sessions, watched entities, and browsing history are automatically bucketed into a profile saved locally in your browser. Create new profiles, switch between them, export their state to a local JSON file to import into another instance of Blockhead, or delete them.
• Network environments – toggle between mainnet and testnet mode with a global toggle. Network-specific is automatically be segregated by environment within your profile, and features across the UI will show/hide based on known smart contract deployments/availability.
Architecture overview generated by DeepWiki: https://deepwiki.com/darrylyeo/ethglobal-hackmoney-2026
Tech stack:
• Svelte – client-side state management, UI components, HTML templating / compilation
• CSS – my own homegrown system of styling and layout utilities based on HTML data attribute selectors
• Bits UI – headless UI component parts, Svelte state machines, HTML DOM attribute mappings
• SvelteKit – routing, navigation, server-side rendering, API proxying
• TypeScript – enums, entity modeling, type safety
• TanStack DB – client side entity caching, collections, local storage persistence, fine-grained query subscriptions
• G6 – graph visualizations
• Voltaire – lightweight cryptographic and Ethereum RPC interaction primitives for TypeScript
• Tevm – blockchain forking and transaction simulation runtime for TypeScript
• EIP-6963 – injected EIP-1193 wallet provider discovery
• PartyKit – WebSocket relay server for multiplayer rooms and peer discovery
• @wonderland/interop-addresses – EIP-7930 / ERC-7828 interoperable address parsing
• @erc7824/nitrolite – ERC-7824 state channel management
• blo – Ethereum Blockies / Identicons generation
• Deno – package management, task running
• Vitest – test runner
• Playwright – E2E tests

