Skip to content
Work

cat ~/work/notiolink.mdx

Live

2022

Full-stack

––– views

Notiolink

Self-hostable branded link shortener built with Next.js & Notion API

  • Next.js
  • Tailwind CSS
  • Notion
revana.link

Loading...

Summary

Problem
Branded link shorteners usually need a database and a dashboard to manage links.
Approach
Used Notion as the CMS and Next.js middleware for fast redirects, configured entirely through environment variables and deployable on Vercel.
Result
A zero-config, self-hostable shortener with click statistics and multiple themes; it powers revana.link.

Story

Short Explanation

Notiolink is a self-hostable link shortener built with Next.js & Notion API. It's a simple and easy-to-deploy shortener that's using Notion as a CMS.

Some features including:

  • ⚡ Unlimited branded links (use your own domain!)
  • ☝ Self-hostable with Vercel
  • 💨 Fast redirect using Next.js Middleware Functions
  • 🌑 Awesome CMS using Notion
  • ➕ See click count statistics
  • 💠 Zero config, all customizable via env
  • 💅 Numerous themes

Project Goals

I did this project originally for my personal use. Shortening links is easier for me to remember than having to search through numerous bookmarks. I can just pick a short slug—which usually is not an option when you are using a free service—and remember it.

Tech Stack Used

Notiolink is a full-stack application built using Next.js and Notion API. I chose notion because of the easy-to-use UI. All links are served as a table inside the notion and can be edited whenever you want.

Features

Notion CMS

All links are customizable via notion

You can easily configure it on the notion database

Route: /new

You can add link straight from the website for easy access, don't worry this is protected with login page so no one will mess with your links

You can see the statistics with /:slug/detail route

Categorized Tree

Every category will be made into a standalone tree on /c/:category route

Themes

Themes you can choose

Pro tip: click the image to make it full screen

Loading...

Dark

Loading...

Street

Loading...

Milky

Loading...

Light

Loading...

Monokai

Spotlight

Creating An Easy To Deploy App

I aim for this project to be easy to fork and deploy. Therefore, every configuration is done via environment variables.

Installation Guide

I made an installation guide that is easy for people to follow. Even non-developers can do it too!

Loading...

The Problems and How I Deal With It

Optimizing the repository so it is fairly customizable is hard. I created some features which users can customize and have to account for whether the feature will be hard to implement or set up. However, it was a thought-provoking activity that I enjoyed.

Try it out!

Deploy one of your own!

...

Comments

Comments

Loading comments…

Leave a comment