Regaining control
Shortening a URL was simple. Keeping control of it was less so.
Existing platforms handled the basics, but the functions we really needed — a custom domain, editable destinations, history, users and better traceability — meant costs that were hard to justify for an internal tool.
So we decided to build a solution around how we work: simple enough to solve the immediate problem and flexible enough to keep growing.

An alias is more than a short URL. It is a campaign’s point of control.
Stable alias
The link you share stays the same, even when its destination changes.
The alias can appear on a website, a post, a card, a CV or a campaign. If the destination page changes, update it in the dashboard. The published link continues to work without replacing it everywhere it was used.
go.jmillans.es/webThe essentials already work
A first version built to manage real links securely.
V1 supports creating and editing links, retaining their history, generating QR codes, managing UTM parameters, importing and exporting CSV data, and administering users with different access levels. Authentication, a second factor and access policies protect the private workspace.
- Editable destination
- The alias stays published while the destination changes in a controlled way.
- Recoverable history
- Every change retains its version so a previous destination can be restored.
- QR codes, UTM parameters and traceability
- Manage UTM parameters and preserve link attribution by source and campaign.
- Users and permissions
- Owner, administrator and individual permissions protect sensitive operations.
- Import and export
- The CSV template supports migration and batch creation with validation before data is written.


Organic and paid
Planned evolution
A shared layer for understanding how each link performs across channels.
shortyourlink will be able to connect link activity with tools such as Google Analytics and data visualisation platforms. The aim is to bring traffic from paid campaigns, social media, organic content, newsletters, QR codes and other touchpoints into one view.
Each channel will retain its own traceability, while results can also be grouped to provide a complete picture of the campaign.
This reporting and integration layer is not part of V1 yet. The foundation already provides the essential piece: control over the alias, destination and parameters needed to build that measurement.
/lanzamiento-googlepaid · utm_source=google/lanzamiento-instagrampaid social · utm_source=instagram/lanzamiento-guiaorganic · utm_source=google/lanzamiento-emailowned · utm_source=newsletter- Paid mediaDistinguish sources and creative assets without losing the overall picture.
- OrganicIdentify traffic from content, search engines and owned posts.
- Email and QRMeasure digital and physical touchpoints within the same structure.
- Combined viewCompare channels and understand the campaign’s overall outcome.
A workspace for each client
Planned evolution
Separate domains, users, campaigns and data within one platform.
Each client will be able to have an independent workspace with their own domain, links and access permissions. This avoids mixing account information and lets the tool adapt to each project’s identity and structure.
The agency will retain an overview, while each client accesses only their own links, campaigns and results. Reports and analytics connectors will respect the same separation.
- Custom domainEach client can work under an address aligned with their brand.
- Separate dataLinks, campaigns and results stay within their own workspace.
- Controlled accessThe agency retains an overview and each client accesses only their own information.
- Connected reportingThe planned evolution brings organic and paid sources into a shared view.
Built with judgement
AI accelerated documentation, exploration and development. The product progressed through explicit decisions, tests and human validation at every sensitive point.
- 01
Need before technology
Define what must stay stable and what needs to be controlled first.
- 02
Two experience directions
Compare interfaces before settling the hierarchy and operational language.
- 03
Documentation as the source of truth
Freeze scope, permissions and decisions before developing each block.
- 04
Security within the product
Authentication, MFA, RLS and destination validation are part of the experience.
- 05
Migration without a leap of faith
Keep Short.io during cutover and verify DNS, TLS and every redirect.
- 06
Validate a real V1
Publish on the custom domain and verify the system before expanding functionality.
The proof is in place
An internal need became a deployed, usable tool. shortyourlink runs on a custom domain, preserves migrated aliases and demonstrates a foundation that can grow towards clients, campaigns and more useful measurement.
- Public operation
- HTTPS, DNS and 302 redirects verified at go.jmillans.es.
- Controlled migration
- Eight titled aliases migrated from Short.io without changing their destinations.
- Security
- Authentication, MFA, permissions and RLS policies integrated into the architecture.
- Next learning stage
- Client workspaces, custom domains, connected analytics and reporting.
Private product · personal and internal agency use
Credits
- Direction and decisions
- Jorge Millán
- UX/UI and development
- Jorge Millán · AI-assisted process with Codex
- Stack
- Next.js · Supabase · Vercel · Brevo
- Status
- V1 · September 2026