How I Created a Full-Stack Resume Builder Using Next.js and Prisma
Shubham Bhilare

Shubham Bhilare @shubham_bhilare_3611

About: A passionate developer, always learning!

Location:
Pune , Maharashtra
Joined:
May 14, 2025

How I Created a Full-Stack Resume Builder Using Next.js and Prisma

Publish Date: May 17
2 0

🚀 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)

Comments 0 total

    Add comment