Readme
🦀 willfetch
A high-performance, terminal-based digital business card for the modern engineer.
willfetch is a CLI tool written in Rust that provides a "fetch-style" summary of my professional identity. It combines custom ASCII art with a stylized data presentation layer, allowing anyone to view my bio, tech stack, and socials directly from their terminal with zero latency.
📖 Why Willfetch?
The Problem
Traditional resumes and LinkedIn profiles often lack the technical personality that resonates within engineering-centric environments. I wanted a way to present my professional bio and tech stack directly in the environment where I spend most of my time: the terminal.
The Solution
By leveraging Rust, I created a "zero-cost" digital identity card. Unlike a website, it requires no browser overhead. Unlike a PDF, it is interactive and accessible via a single command.
Key Engineering Decisions
Buffer Merging: The custom CardRenderer implements a line-by-line iterator that merges the ASCII art buffer with the text buffer. This ensures perfect horizontal alignment regardless of the terminal's font scaling.
Static Lifetimes: By using & 'static str for all data, the binary size remains tiny and memory allocation is handled entirely at compile-time for instantaneous rendering.
Semantic UX: Using the colored crate, I implemented a specific color-coding system (Cyan for identity, Yellow for titles, Magenta for socials) to ensure high scannability.
🚀 Installation Guide
You can install willfetch using several methods depending on your environment.
1. Via Cargo (Recommended)
If you have the Rust toolchain installed, you can install and run willfetch globally in seconds:
# Install from crates.io
cargo install willfetch
# Run it anywhere
willfetch
2. Build from Source
If you want to customize the bio or explore the source code:
# Clone the repository
git clone https://github.com/wmouton/willfetch.git
cd willfetch
# Build and run immediately
cargo run
# Install your local build globally
cargo install --path .
🛠 Tech Stack
Component
Technology
Language
Rust
Styling
ANSI Color Codes (colored crate)
Build System
Cargo
Deployment
Crates.io
🧬 Data Structure
The tool is built around a strictly typed schema, ensuring that my professional data is validated at build time:
struct Bio {
name : & 'static str ,
title : & 'static str ,
preference : & 'static str , // Remote/On-site
available_for_hire : bool ,
socials : Socials,
stack : & 'static str ,
skills : & 'static [& 'static str ],
}
Developed with Rust.