Back to featured work

Backend / Full-stack · In Rebuild

SnapLink

SnapLink is being repositioned as a backend-heavy full-stack URL management platform. The current codebase already contains the core product surface, but the public narrative and local developer experience need cleanup before it can act as a flagship portfolio project.

SnapLink project visual
Spring Boot
Vue
Java
Cloud Datastore
REST APIs

Problem

The original repository presents as a course project even though the implementation includes real backend concerns: URL lifecycle rules, redirect handling, user flows, analytics, and cloud persistence. The next step is to make those engineering decisions visible and runnable.

Solution

Rebrand the project around a coherent URL management workflow: create short links, manage aliases, enforce expiration and one-time rules, redirect safely, and track click analytics. The site will use this case study to explain the system before the rebuild is fully deployed.

Architecture

  • Spring Boot backend exposes REST endpoints for short link creation, redirects, search, deletion, authentication, and analytics.
  • Vue frontend supports account flows, URL creation, link management, plan/status pages, and statistics views.
  • Persistence layer is designed around short link records, user records, click events, and lifecycle metadata.
  • Cloud deployment traces include App Engine and Bigtable/Datastore-style configuration, which will be normalized in the rebuild.

Engineering Decisions

  • Treat redirect behavior as a backend correctness problem, not just a frontend form demo.
  • Keep custom alias, expiration, one-time link, and inactive link behavior explicit so edge cases can be tested.
  • Move away from class-project naming and README defaults toward production-style documentation and local setup.
  • Use the rebuild to add tests around alias collisions, expiration, redirect safety, and analytics recording.

Outcomes

  • Strong candidate project for showing Java/Spring backend depth alongside a real frontend surface.
  • Useful bridge between full-stack product work and backend platform skills.
  • Currently marked In Rebuild until README, local setup, and validation are cleaned up.

Next Steps

  • Rewrite README with architecture, data model, setup, and API examples.
  • Add Docker Compose for backend, frontend, and local persistence.
  • Remove hardcoded special cases and tighten CORS/security defaults.
  • Add focused tests for link lifecycle and analytics behavior.