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.
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.
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.
- Buffer Merging: The custom
CardRendererimplements 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 strfor all data, the binary size remains tiny and memory allocation is handled entirely at compile-time for instantaneous rendering. - Semantic UX: Using the
coloredcrate, I implemented a specific color-coding system (Cyan for identity, Yellow for titles, Magenta for socials) to ensure high scannability.
You can install willfetch using several methods depending on your environment.
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
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 .
| Component | Technology |
|---|---|
| Language | Rust |
| Styling | ANSI Color Codes (colored crate) |
| Build System | Cargo |
| Deployment | Crates.io |
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.