.vcf file containing contact information for all Recursers, complete with photos, social links, and batch information.
Quick Start
Set up authentication
Make sure you have your See the Authentication guide for details.
RECURSE_PAT environment variable set:Wait for completion
The generator will display real-time progress as it fetches and processes profiles:
Import the generated file
Once complete, you’ll find
recursers.vcf in the current directory. See the Importing guide for next steps.What Data Gets Included
The VCF generator extracts the following information from each Recurser’s profile:Core Contact Information
- Name
- Email
- Phone
- Full Name (FN): The complete display name from
profile.name - Structured Name (N): Last name and first name from
profile.last_nameandprofile.first_name
main.rs:148-155Professional Information
profile.company and profile.employer_role (see main.rs:178-190).
Social Links and URLs
All available social profiles are included as URL fields:Personal Website
Personal Website
profile.personal_site_url (main.rs:193-203)GitHub
GitHub
profile.github username (main.rs:206-215)Twitter
profile.twitter handle (main.rs:218-227)LinkedIn
profile.linkedin (main.rs:230-241)Recurse Center Profile
Recurse Center Profile
Photos
Profile photos are embedded directly in the VCF file as base64-encoded data:- Download: Fetches the image from
profile.image_path(main.rs:251-257) - Detect format: Supports JPEG, PNG, and GIF (main.rs:114-120)
- Encode: Converts to base64 (main.rs:123)
- Format: Wraps at 75 characters per line per vCard spec (main.rs:261-270)
Photos are downloaded in real-time during generation. This ensures you always get the latest profile pictures but may take longer for large batches.
Batch Information
profile.stints and added to the CATEGORIES field. This allows you to:
- Filter contacts by batch in your contact manager
- Identify all Recursers with the “Recurser” category
- See which batches someone attended
main.rs:276-293
Pronouns
profile.pronouns are stored in the NOTE field (main.rs:296-300).
Unique ID
Batch Processing
The generator fetches profiles in batches of 50 to handle large datasets efficiently:main.rs:335-397
Progress Indicators
The generator provides real-time feedback:- Spinner animation: Rotating indicator showing active processing
- Elapsed time: Time since start in seconds or minutes
- Progress counts: Current profile / total profiles
- Status messages: What’s happening right now
main.rs:46-92
Error Handling and Retry Logic
The generator includes automatic retry on failures:- Temporary network issues
- API rate limiting
- Transient server errors
main.rs:390-396
Output Format
The generated file follows the vCard 3.0 specification:Summary Statistics
After completion, you’ll see a summary:main.rs:409-421
Special Character Handling
Special characters in vCard fields are escaped according to the spec:- Backslashes are doubled:
\→\\ - Newlines are escaped:
\n - Commas are escaped:
\, - Semicolons are escaped:
\;
main.rs:94-99
Performance Tips
Use release mode:
cargo run --release enables optimizations that can speed up processing by 2-3x.Network speed matters: Most time is spent downloading profile photos. A faster internet connection will significantly reduce total time.