Skip to main content

Overview

The contact section provides ways for visitors to reach you or view your professional profiles. This section appears in your SSH Portfolio, making it easy for potential employers, clients, or collaborators to connect with you.

Configuration Structure

Contact information is configured as a single object with multiple fields:
contact:
  email: "[email protected]"
  github: "https://github.com/username"
  linkedin: "https://linkedin.com/in/username"
  website: "https://yoursite.com"
  twitter: "https://twitter.com/username"

Contact Fields

email
string
Your email address. This is typically your primary professional email.Example:
Use a professional email address rather than a personal one if possible.
github
string
Your GitHub profile URL. Include the full URL with https://.Example:
github: "https://github.com/AB-70"
linkedin
string
Your LinkedIn profile URL. Include the full URL with https://.Example:
linkedin: "https://linkedin.com/in/abdul70"
website
string
Your personal website or portfolio URL. Include the full URL with https://.Example:
website: "https://sattar.dev"
twitter
string
Your Twitter/X profile URL. Include the full URL with https://.Example:
twitter: "https://twitter.com/i0x46"

Complete Example

Here’s the complete contact configuration from a real config.yaml:
contact:
  email: "[email protected]"
  github: "https://github.com/AB-70"
  linkedin: "https://linkedin.com/in/abdul70"
  website: "https://sattar.dev"
  twitter: "https://twitter.com/i0x46"

Field Requirements

All contact fields are optional. You can omit any field that doesn’t apply to you:
contact:
  email: "[email protected]"
  github: "https://github.com/username"
  # No LinkedIn, website, or Twitter provided
However, it’s recommended to provide at least:
  • Email - Primary way for people to reach you
  • GitHub - Essential for developers to showcase code

Best Practices

Use Full URLs

Always include the full URL with protocol (https://): Good:
github: "https://github.com/username"
linkedin: "https://linkedin.com/in/username"
Incorrect:
github: "github.com/username"
linkedin: "linkedin.com/in/username"

Keep Information Current

Regularly verify that your contact information is up to date:
  • Email addresses remain active
  • Social profiles are public and accessible
  • Website URLs haven’t changed
  • Profile usernames are correct

Professional Email

Choose an appropriate email for professional contact: Good: Less professional:

Consistent Usernames

When possible, use the same username across platforms for brand consistency:
contact:
  github: "https://github.com/johndoe"
  twitter: "https://twitter.com/johndoe"
  linkedin: "https://linkedin.com/in/johndoe"
  website: "https://johndoe.dev"

Platform-Specific Tips

GitHub

  • Ensure your GitHub profile is complete with bio and pinned repositories
  • Make key repositories public
  • Keep your contribution graph active

LinkedIn

  • Use a custom URL (linkedin.com/in/yourname) instead of the default numeric one
  • Ensure your profile is set to public
  • Keep your experience and skills updated

Personal Website

  • Link to your main portfolio or personal site
  • Ensure it’s mobile-friendly and loads quickly
  • Keep content synchronized with your SSH Portfolio

Twitter/X

  • Link to your professional/tech account, not personal
  • Ensure your profile is public
  • Consider your recent tweet content and how it represents you professionally

Privacy Considerations

Since SSH Portfolio is public, be mindful of what information you share:
  • Email: Consider using a dedicated professional email rather than your primary personal email
  • Social Media: Ensure profiles you link are professional and public
  • Personal Website: Review content for sensitive information

Alternative Contact Methods

If you prefer not to share your email directly, consider:
  • Using a contact form on your website
  • Providing a professional email alias
  • Using a service like ProtonMail or Tutanota for privacy

How Contact Info Appears

In the SSH Portfolio TUI, contact information is typically displayed:
  • As a dedicated “Contact” section
  • With clickable/copyable links
  • With icons or labels for each platform
  • Accessible via keyboard navigation
Users can easily copy your information or be directed to open the links in their browser.

Source Code Reference

The contact structure is defined in config/config.go:55-61:
type Contact struct {
    Email    string `yaml:"email"`
    GitHub   string `yaml:"github"`
    LinkedIn string `yaml:"linkedin"`
    Website  string `yaml:"website"`
    Twitter  string `yaml:"twitter"`
}
All fields are strings and optional. The struct uses Go’s YAML tags to map field names to the YAML configuration keys.

Build docs developers (and LLMs) love