🚀 Live Demo: https://resume-org.vercel.app
Introduction
Building a resume can be a tedious task, especially when you want a polished, professional look without spending hours on formatting. To solve this, I decided to create a full-stack Resume Builder web app that offers users multiple templates, a dynamic editor, and seamless export to PDF.
In this post, I’ll share the features, tech stack, challenges, and future plans of this project, along with a live demo you can try out yourself.
Tech Stack Overview
To build a modern, scalable application, I chose the following technologies:
Next.js — For both frontend and backend with React and API routes
Prisma ORM — To manage PostgreSQL database schema and queries efficiently
PostgreSQL (hosted on NeonDB) — For storing user data and resume information
NextAuth.js — Handling authentication with Google, LinkedIn, and Twitter OAuth providers
Amazon S3 — Storing user assets like profile images securely
Vercel — Hosting the entire application for fast, global delivery
Key Features
1. User Authentication
Users can sign up and log in easily using their Google, LinkedIn, or Twitter accounts — thanks to NextAuth.js, which made integrating OAuth smooth and secure.
2. Ten Beautiful Resume Templates
The app offers 10 distinct, professionally designed resume templates. Users can select a template that suits their style and industry.
3. Dynamic Resume Editor
The editor page lets users fill in their personal details, work experience, education, skills, and more — with live preview so they see changes instantly.
4. PDF Export
Once finished, users can download their resume as a PDF, preserving the chosen template’s formatting perfectly.
5. User Dashboard and Settings
Users have access to a personal dashboard where they can manage resumes, update profile information, and reset their passwords securely.
Challenges and Learnings
PDF Generation
Ensuring that the resumes print correctly to PDF across different browsers was tricky. Chrome’s print engine behaves differently than others, so I had to experiment with CSS print styles and React-to-PDF libraries to get consistent results.
OAuth Integration
Supporting multiple OAuth providers required careful handling of user sessions and callback URLs. NextAuth.js was very helpful, but I had to tweak adapters to fit Prisma and NeonDB.
Asset Management
Uploading and serving user profile images securely was a priority. Using Amazon S3 with signed URLs ensured that images were private and scalable.
Final Thoughts
This project has been an incredible learning journey into full-stack development, cloud asset management, and authentication flows. If you’re looking to build your own web apps, I highly recommend exploring Next.js and Prisma — the developer experience is excellent.
Feel free to check out the live demo here: https://resume-org.vercel.app and share your feedback or questions!
Thanks for reading!
— Shubham (SKB)