Lynx

Multi-profile link-in-bio pages with admin UI, REST API and render method.

Lynx adds open-source, self-hosted link-in-bio profiles to ProcessWire. Publish multiple branded and multilingual profiles with links, social accounts, portfolio blocks, themes, scheduling, analytics and a REST API.

Lynx

It is made for creators, teams, products and communities that want fast profile pages they own, manage and localize inside their existing site.

Author: Maxim Semenov
Website: smnv.org
Email: maxim@smnv.org

If this project helps your work, consider supporting future development: GitHub Sponsors or smnv.org/sponsor.

What Lynx Does


  • Personal link pages for creators, founders, teams and projects.
  • Multilingual profiles with localized links and content blocks.
  • Lightweight portfolio pages with images, projects, video and quotes.
  • Branded campaign pages with scheduled links.
  • Self-hosted profile hubs managed from ProcessWire.
  • A single-profile homepage rendered directly from a ProcessWire template.

Admin Area


Lynx Manager adds a focused admin section where site editors can:

  • create and manage profiles;
  • rename profile slugs after creation;
  • add links, social presets and portfolio sections;
  • translate profile text, link labels and portfolio content;
  • choose themes, colors, backgrounds and open-source fonts;
  • schedule links for launches or campaigns;
  • review views and clicks;
  • import, export or install sample content.

Profile owners can also use the responsive front-end editor without entering the ProcessWire admin.

Public Profiles


Each profile can include:

  • avatar, title and short bio;
  • regular links and social links;
  • gallery, project, video and quote blocks;
  • translated versions with alternate-language links;
  • custom visual styling per person or project.
  • SEO title, description, canonical/Open Graph metadata and optional noindex.

Standalone profile pages are optimized for fast first paint, deferred video playback, accessible markup and cacheable anonymous responses.

Developer Integration


Render a profile from any ProcessWire template:

$lynx = $modules->get('Lynx');
echo $lynx->render('profile-slug');

Lynx also provides an embeddable Alpine renderer and optional REST endpoints for headless or JavaScript-driven integrations.

PocketWire


Lynx opts in with one lynx-admin-gated, read-only status resource. It reports only the installed module version and local module readiness. Profiles, links, blocks, translations, analytics, configuration, public rendering and all mutations stay outside the provider contract.

Requirements


  • ProcessWire 3.0.244 or newer.
  • PHP 8.3 or newer.

Installation


  1. Copy the Lynx folder into /site/modules/.
  2. In ProcessWire Admin, refresh modules.
  3. Install Lynx.
  4. Install Lynx Manager.
  5. Open Lynx Manager and create a profile or install the optional multilingual demo.

Documentation


See DOCUMENTATION.md for setup, configuration and template integration.

See CHANGELOG.md for the release notes.

Author


Maxim Semenov
smnv.org
maxim@smnv.org

Support


If this project helps your work, consider supporting future development through GitHub Sponsors or smnv.org/sponsor.

License


MIT

More modules by Maxim Semenov

  • Context

    Export ProcessWire site context for AI development (JSON + TOON formats)
  • Mercato

    ProcessWire-native commerce toolkit: products, cart, checkout, orders, payments, discounts, fulfilment, inventory, recovery, reports, and demo storefront.
  • Ichiban (SEO control center)

    Comprehensive SEO module: meta/OG/schema, audit, redirects, revisions, email reports.
  • WireWall

    Advanced traffic firewall with VPN/Proxy/Tor detection, rate limiting, and JS challenge
  • Cookie

    Privacy & cookie consent management: banner, category-based async loading of scripts/embeds, consent log, Google Consent Mode v2, visual widget builder.
  • Ally (a11y)

    Self-hosted accessibility widget powered by Sienna (MIT). Adds font, contrast, language, and navigation tools to any page. No external CDN — the JS bundle is served from your own server.
  • Subscribe

    Newsletter subscription handler with lists, double opt-in, honeypot, rate limiting and unsubscribe link.
  • Squad

    AI integration for ProcessWire. Supports Anthropic, OpenAI, Google, xAI, and OpenRouter.
  • Invite Access

    Restricts site access to visitors with a valid invite code. Designed for staging environments with multiple teams.

All modules by Maxim Semenov

Install and use modules at your own risk. Always have a site and database backup before installing new modules.