Most link-in-bio platforms rely on centralized systems built around user accounts, persistent databases, and backend APIs. While functional, this model introduces unnecessary architectural weight for what is fundamentally a simple problem: rendering structured links. It results in stateful infrastructure, ongoing operational overhead, limited portability, and avoidable latency due to server round-trips.
↗ Try it live — onlinkbyedwin.vercel.app
Onelink rethinks this paradigm by adopting a URL-as-state architecture. Instead of persisting data on a server, the entire application state is encoded directly into the URL. This transforms the application into a purely client-side state interpreter, eliminating the need for backend services entirely.
At its core, Onelink is a stateless system. There are no APIs, no databases, no authentication layers, and no server-side sessions. All user data—including links, ordering, metadata, and theming—is serialized into JSON, encoded using Base64, and embedded within the URL. The URL itself becomes the single source of truth.
This design enables deterministic rendering, where the UI is a direct function of the encoded state. Opening the same URL on any device reconstructs the exact same interface without requiring any external dependencies. The application lifecycle is straightforward: user interactions mutate in-memory state, which is then serialized and synchronized with the URL in real time. On load, the application decodes this state and hydrates the UI accordingly.
The system is built using Nuxt 3 configured for static site generation, producing a fully static deployment with no runtime server logic. Vue 3’s Composition API ensures a clean separation between state transformation, UI components, and interaction logic. State encoding is handled using Base64 for compact, URL-safe representation. The interface is styled with Tailwind CSS, while Headless UI provides accessible primitives. Drag-and-drop interactions are powered by vuedraggable, and reactive utilities from VueUse manage URL synchronization and lifecycle behavior. Theme preferences are integrated into the encoded state rather than relying on local storage.
Deployment is handled via Vercel as static assets distributed through a global CDN. This approach removes runtime compute entirely, eliminating cold starts and backend failure points while ensuring fast, globally consistent performance.
The result is a system with zero backend cost, inherent scalability through CDN distribution, and instant load times. Because the URL encapsulates the entire application state, portability is maximized—sharing a link is equivalent to sharing the product itself. The architecture is also inherently resilient, as there are no backend services that can fail.
This approach does introduce deliberate trade-offs. URL length constraints limit the amount of state that can be encoded, and the data remains human-readable when decoded, as privacy is not a primary design goal. Additionally, multi-user and collaborative features are intentionally excluded to preserve architectural simplicity.
Onelink demonstrates how modern frontend tooling can support a radically simplified architecture by collapsing state, persistence, and distribution into a single primitive: the URL. It challenges conventional full-stack assumptions and highlights how far a stateless, client-first model can be pushed when designed with intent.