03.

Projects

AgentFlow
No-code visual builder for agentic workflows — drag agent nodes onto a canvas, wire them into a graph, and run the full pipeline. MCP-native from the ground up.
  • Paste any MCP server URL into a node — tools are discovered live and auto-mapped to OpenAI-compatible function calls. No custom integrations.
  • Graph executor uses Kahn's algorithm for topological ordering; independent nodes run in parallel via Promise.all.
  • Execution streams back as newline-delimited JSON over a ReadableStream — node statuses light up in real time.
  • Built-in tools per node: HTTP Request, Code Executor (Python/JS via Piston sandbox), and arbitrary MCP servers.
  • Includes a Market Research demo where a News Agent and Financials Agent run concurrently via the public Exa MCP server.
MCP
native protocol
parallel
node execution
Next.js ·TypeScript ·React Flow ·Zustand ·OpenRouter ·MCP SDK ·Piston
Board.io
AI-powered drawing canvas — sketch equations or logic problems freehand and get instant stepwise solutions via Gemini.
  • HTML canvas captures freehand strokes; rasterized image is sent to Gemini with a prompt to interpret and solve.
  • Streamed responses appear beside the canvas as the user keeps writing — no keyboard required.
  • Works for both math expressions and logic problems.
  • Clean split-pane UI: draw on the left, read the solution on the right.
Next.js ·Gemini API ·ShadCN ·Canvas API
Chess.io
Real-time multiplayer chess platform — play and chat with others over WebSockets.
  • Supports both drag-and-drop and click-to-move input.
  • Node.js + WebSocket server brokers moves between players with server-side validation — no illegal moves regardless of client state.
  • Live move log and in-game chat over a dedicated side channel.
  • Sub-100ms move propagation, smooth on low-end mobile.
Node.js ·React ·WebSockets ·Tailwind ·TypeScript
go-crawler
Concurrent web crawler and search backend written in Go — built to learn clean architecture and Go concurrency patterns.
  • Worker pool of configurable goroutines crawl pages in parallel via channels and context cancellation.
  • URL deduplication with mutex-protected PageStore ensures each URL is visited at most once per job.
  • Supports depth limiting (MaxDepth), page caps (MaxPages), and optional same-domain-only restriction.
  • Clean layered architecture: model → store → service → crawl engine. Engine communicates with the service layer through interfaces, not direct status updates.
  • Job lifecycle state machine: PENDING → RUNNING → COMPLETED / CANCELLED / FAILED.
Go ·goroutines ·channels ·golang.org/x/net/html
SliceMate
Pizza delivery backend split into Spring Boot microservices communicating over RabbitMQ — built to learn async messaging and service decomposition.
  • Four independent services: orders, kitchen, dispatch, and payments — each owns its own PostgreSQL schema.
  • Async messaging via RabbitMQ with idempotent handlers to prevent double-charges or duplicate orders on redelivery.
  • Services scale independently — kitchen worker count can grow without touching the order API.
React ·Redux ·Tailwind ·Spring Boot ·RabbitMQ ·PostgreSQL
portfolio — zsh
welcome to your.name's terminal.
type 'help' to see available commands.
~$
portfolio — ask.md
ai
Hey! I'm a RAG-powered assistant trained on this portfolio. Ask me anything about skills, experience, projects, or availability.
>