A comprehensive directory of eBPF based companies. This project provides a modern, searchable interface for discovering eBPF-related technologies and organizations.
- Comprehensive Directory: Browse eBPF companies
- Advanced Filtering: Filter by status, membership, category, location, and more
- Multiple View Modes: Grid, list, and card views for different browsing preferences
- Detailed Information: Modal popups with comprehensive project details
- Responsive Design: Works seamlessly on desktop and mobile devices
- Statistics Dashboard: Comprehensive analytics and insights about the eBPF ecosystem
- Acquisition Tracking: Visual indicators for acquired companies with detailed acquisition information
First, run the development server:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun devOpen http://localhost:3000 with your browser to see the result.
The project uses YAML files to define items, following a simplified structure focused on companies rather than products:
Each item in data/items/*.yml can include the following fields:
slug: Unique identifier (kebab-case)company: Full company namecategory: Array of categories (Networking, Observability, Profiling, Security, End User, Other)
status: Array of statuses (Platinum Member, eBPF Contributor, Member) - Optional, omit for default statelocation: Country or locationdescription: Company description (up to 500 characters)website: Main website URLgithub_repo: GitHub repository URLlinkedin: LinkedIn company pageyoutube: YouTube channel URLblog: Company blog URLcontact: Contact email addressyear_founded: Year the company was foundedfunding_status: Current funding statuscrunchbase: Crunchbase company pagelogo: Logo filename (stored inpublic/data/logos/- optional, defaults to{slug}.svg)added: Date added to landscape (YYYY-MM-DD)acquired: Optional acquisition informationby: Acquiring company nameyear: Year of acquisitionurl: Optional link to acquisition announcementamount: Optional acquisition amount
The project supports a membership system with three tiers that provide different visual treatments:
- Platinum Members: Premium tier with 2x2 grid size, yellow border, and "Platinum Member" badge
- Members: Standard tier with black border and "Member" badge
- eBPF Contributors: Recognition tier with blue border and "eBPF Contributor" badge
Note: Status is self-contained within each company's YAML file. Companies can have multiple statuses (e.g. both Platinum Member and eBPF Contributor), and the system will display the appropriate badges and styling.
Default State: If a company has no status field or an empty status array, it will be displayed in its default state without any membership badges or special styling.
Companies that have been acquired are visually indicated in the grid with:
- Large/Featured Tiles: Yellow roundel with handshake icon in top-right corner
- Small Tiles: Small yellow dot in top-right corner
- Modal Details: Full acquisition information including acquirer, year, amount, and announcement link
The application supports comprehensive filtering:
- Category: Networking, Observability, Profiling, Security, Other
- Status: Platinum Member, eBPF Contributor, Member
- Location: Geographic filtering
- Search: Text-based search across company names, descriptions, and categories
The application includes a comprehensive statistics page (/stats) featuring:
- Overview Metrics: Total companies, Platinum Members, Contributors, and Members
- Category Distribution: Visual breakdown of companies by category
- Membership Status: Donut chart showing membership distribution
- Funding Analytics: Funding rounds and amounts over time (with Crunchbase integration)
- Acquisition Analytics: Acquisition trends and costs over time
- Company Growth: Companies founded per year
The statistics dashboard can optionally integrate with Crunchbase for real-time funding and acquisition data:
- Get a Crunchbase API key from Crunchbase Data
- Add
CRUNCHBASE_API_KEY=api_key_hereto.env.local - Restart the development server
Without an API key, the dashboard displays realistic mock data for development and demonstration purposes.
See the Contribute page for detailed information on how to add new items to the landscape.
- Framework: Next.js 15 with App Router
- Styling: Tailwind CSS
- Icons: HugeIcons React
- Data Validation: Zod
- Testing: Vitest
- Search: FlexSearch for fast client-side search
- Data Format: YAML files for easy editing
- Charts: Recharts for interactive data visualizations
- External APIs: Crunchbase integration for funding/acquisition data