Live: https://linkfolio-hackathon.vercel.app/
Inspiration Most link-in-bio tools are great until you look under the hood: your page, your links, and your audience all live inside someone else's closed platform. We wanted to build the same simple idea, one shareable page for everything you are, but own the whole stack ourselves, from the database up. The AWS Databases and Vercel hackathon was the right excuse to actually ship it on real infrastructure instead of leaving it as another localhost demo.
What it does LinkFolio lets anyone create a public profile page in about twenty seconds. You fill in a name, title, bio, photo, and a list of links, and you get back two things: a permanent public URL to share, and a private edit link that only you hold. Visit the public URL and you see a clean profile. Visit the edit link and you can change anything, instantly. No account, no password, no email. Possession of the edit link is what proves ownership.
How we built it The whole app is Next.js (App Router) in TypeScript, with the frontend and the backend API routes living in one codebase and deployed on Vercel. There is no always-on server: the backend runs as serverless functions that spin up only when a request arrives. Storage is Amazon DynamoDB. Each profile is a single item keyed by a random id that also forms the public URL, stored alongside a separate random editToken. We picked DynamoDB specifically because it pairs cleanly with Vercel functions: no VPC setup, no connection pooling across cold starts, just a direct SDK call. The table runs in on-demand mode so it scales without us tuning throughput. We also designed a custom logo and a warm, dark visual theme to make it feel like a finished product rather than a form.
Challenges we ran into name turns out to be a reserved word in DynamoDB's update expressions, which fails with an error that gives no hint as to why, until you alias it. Deciding how much auth to build was the bigger call: we deliberately chose the token-based edit link over full accounts because it matches the real scope without pretending to be a multi-tenant product. And because the backend and frontend were built in sequence, we had to reconcile the exact API response shapes before wiring them together. What we learned
How to provision a managed cloud database and the IAM access to reach it, how serverless changes the way you think about backend state, and how to scope a security model to a project's actual size instead of over-building it. Most of all, how to take something from an empty repo to a live, public product as a two-person team in four days.
Built With
- amazon-dynamodb
- amazon-web-services
- aws-sdk-js
- github
- nextjs
- react
- tailwindcss
- typescript
- vercel
Log in or sign up for Devpost to join the conversation.