How weld-io/name-guesser works
Name Guesser is an Express JSON API with a small web page for guessing a person’s name and company from an email address. A client request reaches the server and Express routes; the formatted API route invokes the email-processing module, which infers name patterns, applies name replacements, and looks up the email domain in company data before returning JSON. The root route renders the web page instead. The README documents supported address formats. Source excerpts show the runtime wiring and data imports; the README supplies the documented capability details.
Main entry points: emailtools.js Email processor · app.js Express application · index.js Request routes · server.js HTTP server
Components 15
HTTP Runtime
- HTTP server
lib/server.js - Express application
lib/app.js - Request routes
routes/index.js
Email Inference
- Email processor
lib/emailtools.js - Name pattern inference
lib/emailtools.js - Name replacements and casing
lib/emailtools.js - Company domain lookup
lib/emailtools.js
Lookup Data
- First-name data
config/firstNames.json - Last-name data
config/lastNames.json - Name replacement data
config/firstNameReplacements.json - Last-name replacement data
config/lastNameReplacements.json - Company domain data
config/companies.json
Web Interface
- Name Guesser page
views/index.ejs - Page styling
public/css/style.css
Other components
- API or browser client
Connections 15
- API or browser client → HTTP server: sends request
README.md - HTTP server → Express application: starts
lib/server.js - Express application → Request routes: routes requests
lib/app.js - Request routes → Email processor: processes JSON
routes/index.js - Email processor → Name pattern inference: infers names
lib/emailtools.js - Email processor → Name replacements and casing: formats names
lib/emailtools.js - Email processor → Company domain lookup: looks up company
lib/emailtools.js - Name pattern inference → First-name data: reads
lib/emailtools.js - Name pattern inference → Last-name data: reads
lib/emailtools.js - Name replacements and casing → Name replacement data: reads
lib/emailtools.js - Name replacements and casing → Last-name replacement data: reads
lib/emailtools.js - Company domain lookup → Company domain data: matches domain
lib/emailtools.js - Request routes → Name Guesser page: renders page
routes/index.js - API or browser client → Express application: requests page
lib/app.js - Express application → Page styling: serves static files
lib/app.js