This is a full-stack web application that converts screenshots, images, text descriptions, and video recordings into functional codeβprimarily HTML with Tailwind CSS, but also supports React, Vue, Bootstrap, and Ionic stacks. The backend is a FastAPI server with a WebSocket-based streaming architecture. It orchestrates multiple AI models (OpenAI, Anthropic, Gemini) through a modular provider abstraction layer, using an agent system with tools such as create_file, edit_file, generate_images, extract_assets, and screenshot_preview. The frontend is built with React, Zustand for state management, Tailwind CSS, and shadcn/ui components. Users can upload images, paste URLs, type descriptions, import existing code, or record screen videos. Generated code is presented with live preview (desktop/mobile), version history (commits and variants), design system management, and an interactive select-and-edit mode for making targeted updates. The application also includes a sophisticated evaluation infrastructure for benchmarking different models and prompts, with agent run logging, cost tracking, and prompt reports that help developers compare outputs across configurations. Although primarily an application, the extensive eval system gives it a hybrid character with data-research elements.
PicoClaw is an ultra-lightweight personal AI agent platform written in Go, engineered to run on hardware as small as $10 RISC-V boards while providing a full-featured chat agent experience. In production it is a daemon (picoclaw) that connects 30+ LLM providers (OpenAI, Anthropic, Gemini, Azure, Bedrock, Claude CLI, Codex, Ollama, etc. behind a common provider factory) to 19+ messaging channels (Telegram, Discord, WhatsApp, WeChat, WeCom, Slack, IRC, Matrix, DingTalk, Feishu, MQTT, etc.), exposing an agent loop with tool calls, MCP server integration, session management, voice I/O (ASR/TTS), cron jobs, skills marketplace, and hardware tools (I2C, SPI, serial). A companion launcher binary (picoclaw-launcher) runs a Go web backend with an embedded React/TypeScript frontend for configuration, model/channel/credential management, logs, and live chat.\n\nThe architecture is a modular monolith: pkg/agent implements the turn pipeline (context assembly, thinking levels, tool loop, streaming, stop handling), pkg/providers abstracts LLM backends with rate limiting, cooldown tracking, and fallback chains driven by an error classifier, pkg/channels provides a factory-registered channel abstraction over a shared base, and pkg/bus + pkg/events carry inbound/outbound messages and typed runtime events with backpressure. Agents are defined by AGENT.md/SOUL.md workspace files and support delegation/spawning. An experimental evolution subsystem clusters learning records and generates skill drafts via LLM, and the seahorse SQLite FTS5 store provides compacted short-term memory with BM25 retrieval and summary trees. Legacy OpenClaw configs can be migrated.\n\nThe codebase is heavily tested (500+ test files across nearly every package), uses cross-platform build tags for Windows/Linux/Unix/Android, and ships Docker images plus a self-update mechanism. Strong engineering practices include atomic file writes, zip-slip and SSRF protection utilities, typed event buses, factory registries, and a ToolResult structure separating LLM-facing vs user-facing output. The project is pre-1.0 with rapid release cadence; the evolution subsystem, some platform-specific hardware stubs, and the large channel/provider surface are the least mature areas. It is not a data-research repository - the LOCOMO memory benchmark and LLM-as-judge evaluation code in cmd/membench support engineering measurement rather than producing research artifacts.