Build and Ship Nuxt 3 fullstack starter apps with Auth, DB, Payments, Email & File storage
Try Supersaas today
Onelink is an experimental link-in-bio tool, where the data lives in the URL using advanced compression techniques.
Onelink now features a state-of-the-art compression system that dramatically reduces URL lengths:
- DEFLATE compression with maximum compression settings
- Base-66 encoding using URL-safe characters (more efficient than base64)
- Schema pre-minification that removes defaults and optimizes data structure
- 60%+ smaller URLs on average compared to the original base64 approach
Before (Base64):
http://localhost:3000/1?data=eyJuIjoiSm9obiBTbm93IiwiZCI6IknigJltIEpvaG4gU25vdywgdGhlIGtpbmcgaW4gdGhlIG5vcnRoLiBJIGtub3cgTm90aGluZy4iLCJpIjoiaHR0cHM6Ly9pLmluc2lkZXIuY29tLzU2NzQzZmFkNzJmMmMxMmEwMDhiNmNjMCIsImYiOiJodHRwczovL3d3dy5mYWNlYm9vay5jb20vam9obl9zbm93IiwidCI6Imh0dHBzOi8vdHdpdHRlci5jb20vam9obl9zbm93IiwiaWciOiJodHRwczovL3d3dy5pbnN0YWdyYW0uY29tL2pvaG5fc25vdyIsImUiOiJtYWlsQGpvaG5fc25vdy5jYyIsImdoIjoiaHR0cHM6Ly9naXRodWIuY29tL2pvaG5fc25vdyIsInRnIjoiaHR0cHM6Ly90Lm1lL2pvaG5fc25vdyIsInciOiIrOTE4ODg4ODg4ODg4IiwieSI6Imh0dHBzOi8veW91dHViZS5jb20vQGpvaG5fc25vdyIsImwiOiJodHRwczovL2xpbmtlZGluLmNvbS9qb2huX3Nub3ciLCJscyI6W3sibCI6Ik15IFdlYnNpdGUiLCJpIjoicGg6Z2xvYmUtZHVvdG9uZSIsInUiOiJodHRwczovL2V4YW1wbGUuY29tIn0seyJsIjoiQW1hem9uIHdpc2hsaXN0IiwiaSI6ImFudC1kZXNpZ246YW1hem9uLW91dGxpbmVkIiwidSI6Imh0dHBzOi8vYW1hem9uLmluIn0seyJsIjoiUmVhY3QgSlMgY291cnNlIiwiaSI6Imdyb21tZXQtaWNvbnM6cmVhY3RqcyIsInUiOiJodHRwczovL3JlYWN0anMub3JnLyJ9LHsibCI6IkRvbmF0ZSBmb3Igb3VyIGNhdXNlIiwiaSI6Imljb25vaXI6ZG9uYXRlIiwidSI6Imh0dHBzOi8vd2hvLmludCJ9LHsibCI6IkRvd25sb2FkIG15IHJlc3VtZSIsImkiOiJwaDpmaWxlLXBkZiIsInUiOiJodHRwczovL2dvb2dsZS5jb20ifV19
Length: 1116 characters
After (Advanced Compression):
http://localhost:3000/1?data=b7Fijzwx7WCak5Fm91UbzZTMQJiHi9bAY_SnPqe1fgy2zYwstA2EKaCuE35028YwTWNBDEfzF4Q1a3.5jX186sQ1RrtyUhZt_Ek.5pGe~f_SWxxiRXfKjWsxO2bmfB0xKBP8ReGDoMM8pZjFFMqNm-kzluOVNcnj00Wuey3VD8zO0fgiY_Dxkqt9a8B~lrPwegkIWOWK7p7zWYC70eTNcj9EyeZlnT8_dkINS3Lw8fVaQMA6H.BcJ9Q4NlXvP.t20BK~Z6_9IqC7ofQig~hoVqc8K0SvOwMYw.ToYjWXwIwp6_Wrj_yQQG7otuIxypLlo3K7ovg.BzAi0_BE.-ui56KEQWLfi_t2icOlBDNtHXnejCAdhj.n7nHgl.93UFE~OxH4Ucg4PYx3.pvjj02~R4adZWS0O9sbENoTeo~ldMRadz2q9~94GMYmvpCO9nobKJjLbyhRJlSCIIp2bQSib66crGDWuUcfLCRgAheH-nd2S~otWM3n.J5-JP~YIdenVz~w3tyaczLRDB8BdqR8VkcrsdR3IITf
Length: 775 characters
🎉 Result: 30.6% smaller URLs!
Try the new compression system with this demo link:
http://localhost:3000/1?data=b7Fijzwx7WCak5Fm91UbzZTMQJiHi9bAY_SnPqe1fgy2zYwstA2EKaCuE35028YwTWNBDEfzF4Q1a3.5jX186sQ1RrtyUhZt_Ek.5pGe~f_SWxxiRXfKjWsxO2bmfB0xKBP8ReGDoMM8pZjFFMqNm-kzluOVNcnj00Wuey3VD8zO0fgiY_Dxkqt9a8B~lrPwegkIWOWK7p7zWYC70eTNcj9EyeZlnT8_dkINS3Lw8fVaQMA6H.BcJ9Q4NlXvP.t20BK~Z6_9IqC7ofQig~hoVqc8K0SvOwMYw.ToYjWXwIwp6_Wrj_yQQG7otuIxypLlo3K7ovg.BzAi0_BE.-ui56KEQWLfi_t2icOlBDNtHXnejCAdhj.n7nHgl.93UFE~OxH4Ucg4PYx3.pvjj02~R4adZWS0O9sbENoTeo~ldMRadz2q9~94GMYmvpCO9nobKJjLbyhRJlSCIIp2bQSib66crGDWuUcfLCRgAheH-nd2S~otWM3n.J5-JP~YIdenVz~w3tyaczLRDB8BdqR8VkcrsdR3IITf
💡 Pro Tip With the new compression system, URLs are now 30-70% shorter, making link shorteners optional for most use cases!
- Backward Compatible: All existing URLs continue to work
- Error Recovery: Multiple fallback layers ensure reliability
- URL-Safe: All compressed output uses URL-safe characters
- Schema Optimization: Removes empty defaults and sorts keys for better compression
- Future-Proof: Architecture ready for additional compression methods (Brotli, LZMA)
The compression pipeline follows these steps:
- Pre-minification: Remove default values, sort keys for consistency
- DEFLATE Compression: Maximum compression with optimized settings
- Base-66 Encoding: Custom alphabet
0-9A-Za-z-._~for URL efficiency - Format Prefixing:
bordprefix indicates compression method
The advanced compression system uses these key dependencies:
pako- Fast zlib port for DEFLATE compressionbase64url-universal- Universal base64url encoding (currently using custom base-66)
All compression happens client-side with no server dependencies.
Make sure to install the dependencies:
# yarn
yarn install
# npm
npm install
# pnpm
pnpm install --shamefully-hoistStart the development server on http://localhost:3000
npm run devBuild the application for production:
npm run buildLocally preview production build:
npm run previewCheckout the deployment documentation for more information.