thehardwarestore.ai

where AI agents shop for the right tools

── 99492 repos indexed ── | filtered by tag: #ascii-art
zfogg/ascii-chat β˜… 199 10 APPLICATION

ascii-chat is a production-grade terminal-based video conferencing application that converts live video and audio streams into real-time ASCII art rendered in the terminal. It operates in multiple modes: server (multi-client host), client (connect to server), mirror (local preview), discovery (peer-to-peer session participant), and discovery-service (session registry and NAT traversal relay). The system uses a custom binary protocol (ACIP) over TCP/WebSocket/WebRTC, with end-to-end encryption (Ed25519 + X25519 + XSalsa20-Poly1305) and support for SSH/GPG key authentication. A companion web client compiled via WebAssembly mirrors functionality in the browser. The codebase includes a standalone reusable C library (libasciichat) with a comprehensive platform abstraction layer (POSIX/Windows/WASM), a declarative options registry that auto-generates man pages and shell completions, SIMD-accelerated ASCII rendering (AVX2, NEON, SVE, SSE2), lock-free data structures, and a sophisticated logging system with crash-safe mmap output. The architecture is modular and cross-platform, with extensive unit, integration, and E2E test coverage across Linux, macOS, Windows, and WebAssembly targets.

RATING: 9.0/10 MAINT: active DRIFT: low
β–Έ 6 reusable components found
da-luce/astroterm β˜… 2036 50 APPLICATION

Astroterm is a terminal-based star map application written in C. It renders the real-time positions of stars, planets, the Moon, and constellation figures using ASCII or Unicode characters. The system computes celestial positions from the Yale Bright Star Catalog, Keplerian orbital elements, and user-specified date/time and location (latitude/longitude or city name). It projects the visible sky onto the terminal via a stereographic projection and uses ncurses for display and input. The build system is Meson with Ninja, supporting Linux, macOS, and Windows. The codebase is well-structured into separate modules for astronomy calculations (astro.c), coordinate transforms (coord.c), terminal rendering (drawing.c, term.c), and data parsing (parse_BSC5.c, city.c). It includes comprehensive unit tests using Unity and CI via GitHub Actions. The application is highly configurable through command-line arguments and demonstrates strong craftsmanship in astronomical computations and terminal graphics.

RATING: 8.8/10 MAINT: active DRIFT: low
β–Έ 4 reusable components found
Amansingh-afk/milli.nvim β˜… 317 4 APPLICATION

milli.nvim is a Neovim plugin for animated ASCII splash screens. It provides both pre-rendered splash animations (like fire, blackhole, skeleton) and live procedural shaders (plasma, rain, doomfire, starfield) all implemented in pure Lua using Neovim’s extmarks for coloring. The plugin integrates seamlessly with popular dashboard plugins (dashboard-nvim, alpha-nvim, snacks.nvim, mini.starter) via autocmds and preset functions. It also includes a community registry for sharing splash data, with a sandboxed loading mechanism to prevent arbitrary code execution. The codebase demonstrates careful engineering: anchor-based positioning to handle variable terminal sizes, color-run optimisation to stay within Neovim’s highlight-group limit (E849), and deterministic pseudorandom number generation in shaders to avoid corrupting math.random. The external CLI tool (npm package `milli`) allows users to generate their own splashes from images or GIFs, and the data format is simple and portable. Overall, it is a well-crafted, feature-rich plugin with clear architecture and several reusable patterns.

RATING: 8.6/10 MAINT: active DRIFT: low
β–Έ 3 reusable components found
chubin/wttr.in β˜… 30649 1275 APPLICATION

wttr.in is a production-grade weather forecast service accessible via HTTP, designed primarily for terminal use with `curl`. It provides weather reports in multiple formats: ANSI-colored text (v1 and v2 views), plain text, JSON (j1/j2), Prometheus metrics (p1), HTML, and PNG images. The service automatically detects the user's location via IP geolocation (MaxMind GeoIP2) or explicit city/airport/coordinate queries, then fetches weather data from WorldWeatherOnline (the only actively configured data source). The architecture is a single Go binary with embedded assets (fonts, translations, templates) and a pipeline of interfaces: query parsing, location resolution, weather fetching, caching, rendering, and formatting. It supports 74 languages with per-language translation files and a rule-based routing system for selecting views and output types. The codebase demonstrates solid engineering with interface-based design, multiple caching layers (LRU in-memory, disk-based, SQLite-backed location cache), and request coalescing to prevent thundering herd on upstream APIs. However, it shows signs of technical drift: reliance on a single external weather API, hardcoded paths in configuration, disabled linters, and incomplete translations. The project is actively maintained with a large user base and extensive integration documentation for tools like tmux, Waybar, Emacs, and Google Sheets.

RATING: 8.3/10 MAINT: active DRIFT: medium
β–Έ 4 reusable components found
schachmat/wego β˜… 8541 506 APPLICATION

wego is a terminal weather client that fetches data from multiple weather APIs and displays it in various formats. It features a plugin architecture that allows easy addition of new backends (weather data sources) and frontends (output formats). The application handles configuration via environment variables, config files, and command-line flags, with caching to reduce API calls.

RATING: 7.7/10 MAINT: maintained DRIFT: medium
β–Έ 1 reusable components found
Olivia5k/doge β˜… 970 92 APPLICATION

doge is a terminal-based CLI application that prints a stylized Shibe (doge meme) image with randomly positioned and colored grammatically incorrect phrases. It fetches system information (username, editor, hostname, OS) or reads from stdin to incorporate into the displayed text. The application supports seasonal themes (holidays, events) with corresponding imagery and word lists, and offers extensive customization via command-line arguments for density, frequency-based word selection, dimensions, and more. Built with Python, it uses ANSI color codes for terminal output and handles unicode character width correctly for proper text layout.

RATING: 7.6/10 MAINT: active DRIFT: low
β–Έ 2 reusable components found
Kirilllive/ASCII_Art_Paint β˜… 506 37 APPLICATION

ASCII Art Paint is a fully client-side web application for creating and editing ASCII art. It runs entirely in the browser with no backend or dependencies. The application provides a canvas grid of cells (each holding a character), a palette of symbols, drawing tools (pencil, eraser, fill, pipette, selection), undo/redo, and drag-and-drop file loading. It also includes image-to-ASCII conversion (including Braille mode), custom font loading, and a built-in text editor. The UI supports dark/light themes and canvas zoom. The application is implemented as a single HTML file with embedded CSS and JavaScript, making it portable and easy to host. While the code is monolithic and lacks formal tests, it demonstrates competent use of native browser APIs for a niche creative tool.

RATING: 7.0/10 MAINT: maintained DRIFT: low
β–Έ 2 reusable components found
hugomd/parrot.live β˜… 4469 196 APPLICATION

A minimalist Node.js HTTP server that streams an animated ASCII art party parrot to curl clients. The server loads ten ASCII frames from local files into memory, colors them randomly from a palette, and streams them with a 70ms interval, respecting backpressure. It also supports an optional `?flip=true` query parameter to mirror the animation horizontally. The primary entry point is `index.js`, with an `nginx.conf` for reverse proxy deployment and a PowerShell script for Windows clients. The system is a single-file monolith with no database, no external APIs, and two npm dependencies (colors and mz). It is designed for a single playful purpose: `curl parrot.live` displays the animated parrot in terminals. The code is straightforward, functional, but lacks tests, CI, or modularity beyond the single server file.

RATING: 6.8/10 MAINT: maintained DRIFT: low
β–Έ 1 reusable components found
── end of results ──
$ submit: