Skip to main content

Overview

Achievements showcase your recognitions, awards, security disclosures, and other professional accomplishments. Each achievement includes a title, optional icon, and a URL for verification.

Achievement Interface

Achievements are defined using the Achievement TypeScript interface:
src/types/index.ts
export interface Achievement {
  title: string;
  icon?: string;
  url: string;
}

Field Reference

title
string
required
The name or description of your achievement. Be specific and clear.
icon
string
An optional icon identifier. Use icons from Iconify, such as "simple-icons:github" or "mdi:school".
url
string
required
The URL that verifies or provides more information about the achievement. Can be a Hall of Fame page, CVE listing, or official recognition page.

Adding a New Achievement

To add a new achievement, edit the src/data/achievements.ts file:
import type { Achievement } from "../types";

export const achievements: Achievement[] = [
  {
    title: "GitHub Security Bug Bounty Hunter",
    icon: "simple-icons:github",
    url: "https://github.com/orgs/GitHubBounty/people?query=avivkeller",
  },
  // ... other achievements
];

Icon Selection

Icons use the Iconify format. Browse available icons at icon-sets.iconify.design.

Common Icon Prefixes

  • simple-icons: - Brand icons (GitHub, Google, Apple, etc.)
  • mdi: - Material Design Icons (generic symbols)
  • Custom brand icons when available

Icon Examples

icon: "simple-icons:github"      // GitHub logo
icon: "simple-icons:google"      // Google logo
icon: "simple-icons:apple"       // Apple logo
icon: "mdi:school"               // Education/school icon
icon: "mdi:language-java"        // Java programming language
icon: "simple-icons:nasa"        // NASA logo

Real-World Examples

Here are actual achievements from the portfolio:
{
  title: "JavaScriptLandia \"Outstanding Contribution from a New Arrival\"",
  icon: "simple-icons:openjsfoundation",
  url: "https://openjsf.org/blog/javascriptlandia-awards-2025"
}

Achievement Categories

Achievements typically fall into these categories:

Security Disclosures

  • CVEs (Common Vulnerabilities and Exposures)
  • Bug bounty recognitions
  • Security hall of fame entries
{
  title: "CVE-2024-28866",
  icon: "simple-icons:gocd",
  url: "https://github.com/gocd/gocd/security/advisories/GHSA-q882-q6mm-mgvh",
}

Hall of Fame

  • Company/organization recognition
  • Open source project acknowledgments
  • Platform contributor lists
{
  title: "Apache Hall of Fame",
  icon: "simple-icons:apache",
  url: "https://security.apache.org/blog/credits/",
}

Awards & Certifications

  • Industry awards
  • Professional certifications
  • Competition wins
{
  title: "JavaScriptLandia \"Outstanding Contribution from a New Arrival\"",
  icon: "simple-icons:openjsfoundation",
  url: "https://openjsf.org/blog/javascriptlandia-awards-2025"
}

Letters of Appreciation

  • Official recognition documents
  • Recommendation letters
  • Acknowledgment certificates
{
  title: "Verizon Letter of Appreciation",
  icon: "simple-icons:verizon",
  url: "/assets/documents/verizon_rec.pdf",
}

Best Practices

  • Order achievements by importance or date (most recent/important first)
  • Use consistent naming for similar achievement types
  • Always verify URLs are publicly accessible
  • For CVEs, link to official databases (NVD, GitHub Security Advisories)
  • Choose icons that represent the organization or achievement type
  • Keep titles clear and professional
  • For document links, ensure files are in your public/assets/documents/ directory

Build docs developers (and LLMs) love