---
name: bijection-link-shortener
description: "Evaluate and integrate the Link Shortener component with Bijection."
---

# Link Shortener

A self-hosted link shortener Bijection component for custom domains. Create, update, and revoke short codes with built-in redirect handling, click analytics, UTM parameter tracking, a

- Package: @bijectionhq/link-shortener
- Category: Database & Backend
- Status: Preview
- License: Apache-2.0
- Bijection source (repository access required): https://github.com/bijectionhq/link-shortener/tree/b34bc5ef61e8256cd27b818c197125a041753cd7
- Upstream: https://github.com/Shujaagideon/link-shortener/tree/d7c2168beb2a4df8e3997f6eb3830075da36ddc3
- Documentation: https://docs.bijection.com/components/using
- Directory: https://bijection.com/components/link-shortener

## Get the source

Bijection repository access is required. Request access at https://bijection.com/contact.

```sh
git clone https://github.com/bijectionhq/link-shortener.git
cd link-shortener
git checkout b34bc5ef61e8256cd27b818c197125a041753cd7
```

## Before using this component

Read the package README at the recorded revision for setup, dependencies, and API examples. Upstream documentation describes the original package and may differ from the Bijection adaptation. This is a source candidate for evaluation. Catalog inclusion does not establish npm availability or runtime qualification. Check compatibility with your SDK and deployment before adoption. External providers run their own compute.

## Integration workflow

1. Read the source README and package manifest at the recorded revision.
2. Confirm the required SDK, dependency availability, and runtime compatibility.
3. Follow the component's documented setup and configuration. Never invent an npm install command from a catalog package name.
4. Keep credentials in the project's existing secret store.
5. Follow the project's execution rules for verification and report what was actually checked.

## Original upstream skill

The following guidance describes @the_shujaa/link-shortener. Its installation commands and APIs refer to the upstream package. Evaluate compatibility with the Bijection source separately.


# @the_shujaa/link-shortener

## Instructions

Use @the_shujaa/link-shortener to self-hosted link shortener component for convex with custom domains, click analytics, utm tracking, and configurable rate limiting. This Convex component integrates directly with your backend.

### Installation

```bash
npm install @the_shujaa/link-shortener
```

### Capabilities

- Deploy link shortening service on your own infrastructure with complete data control
- Track click analytics and UTM parameters with built-in Convex database storage
- Implement configurable rate limiting to prevent abuse without external dependencies
- Handle redirects, short code management, and revocation through simple API calls

## Examples

### how to build custom link shortener with analytics

@the_shujaa/link-shortener provides mutations for creating short codes and queries for retrieving click analytics. It stores all tracking data in your Convex database, giving you full control over user data and custom reporting capabilities.

### self hosted link shortener for SaaS application

This component integrates directly into your Convex backend, allowing you to create branded short links using your own domain. It includes built-in rate limiting and the ability to update or revoke links programmatically through your application logic.

### track UTM parameters in shortened links

@the_shujaa/link-shortener automatically captures and stores UTM parameters when users click shortened links. The component provides queries to retrieve this campaign data for analytics and attribution reporting.

## When NOT to use

- When a simpler built-in solution exists for your specific use case
- If you are not using Convex as your backend
- When the functionality provided by @the_shujaa/link-shortener is not needed

## Troubleshooting

**Does this component require external services for link shortening?**

No, @the_shujaa/link-shortener is completely self-hosted and runs entirely within your Convex backend. All data including short codes, analytics, and click tracking is stored in your Convex database without requiring third-party services.

**Can I use my own custom domain for shortened links?**

Yes, @the_shujaa/link-shortener is designed to work with custom domains. You configure your domain to point to your Convex application and the component handles the redirect logic when users visit your shortened URLs.

**How does rate limiting work in this link shortener?**

@the_shujaa/link-shortener includes configurable rate limiting that tracks requests in your Convex database. You can set limits on link creation per user or IP address to prevent abuse without needing external rate limiting services.

**What analytics data does this component track?**

@the_shujaa/link-shortener tracks click counts, timestamps, UTM parameters, and referrer data for each shortened link. This data is stored in Convex and accessible through provided query functions for building custom analytics dashboards.

## Resources

- [npm package](https://www.npmjs.com/package/@the_shujaa/link-shortener)
- [GitHub repository](https://github.com/Shujaagideon/link-shortener)
- [Live demo](https://link-shortener-rho.vercel.app/)
- [Convex Components Directory](https://www.convex.dev/components/the_shujaa/link-shortener)
- [Convex documentation](https://docs.convex.dev)