This is a submission for the GitHub Finish-Up-A-Thon Challenge
I Finally Finished the Side Project That Refused to Die
What I Built
Tonight, I finally deployed a project that has been sitting in my "I'll finish it someday" folder for far too long.
It's called Resumazing, an AI-powered Resume Builder SaaS that helps users create professional resumes with AI assistance, ATS analysis, resume scoring, job fit analysis and multiple resume management features.
What started as a weekend experiment slowly turned into a real product. Every time I thought it was almost done, I found another feature to build, another bug to fix, or another UI improvement to make.
At several points, I considered abandoning it and moving on to the next shiny idea. But this I got the push I needed to finally cross the finish line.
Demo
Live Demo: https://resumazing.vercel.app
The Comeback Story
This project wasn't abandoned because it was broken.
It was abandoned because it was almost finished.
And honestly, that's the hardest stage.
The core functionality already worked months ago, but there were dozens of unfinished details:
- Authentication improvements
- Resume templating issues
- Better validation and error handling
- UI polish
- Performance fixes
- Deployment setup
- Countless small bugs
The project sat untouched while I learned new technologies, started new ideas, and kept telling myself I'd come back to it later.
This week, I finally did.
I stopped adding features, focused on completing what already existed, and pushed through the final stretch.
A few hours later, the deployment was live.
Not perfect. Not finished forever.
But finished enough to be used by real people.
And that's a much better place for a project than sitting in a local folder.
Tech I used
I built it on nextjs with industry best practices like precommit scripts with husky, ensuring typesafety all over, writing maintainable code.
I used the follwing :
- inngest - for background jobs
- dodopayments - for payments and subscription lifecycle handling
- @react-pdf/renderer - for making templates
- zustand - for state management
- zod - for validations
- cloudinary - for object storage
- react-hook-forms - for form state handling
- and many more packages
Find the project here : https://github.com/ishanjarwal/resume-builder-saas
My Experience with GitHub Copilot
GitHub Copilot was surprisingly helpful during the finishing phase.
The hardest part wasn't building new features, it was dealing with all the small tasks that come with polishing a project:
- Refactoring code
- Generating repetitive boilerplate
- Fixing type issues
- Writing validation logic
- Explaining unfamiliar APIs
For me, Copilot worked best as a development partner rather than an autopilot.
Final Thoughts
Starting projects is exciting.
Finishing them is difficult.
This project taught me that most side projects don't fail because the idea is bad—they fail because the final 10% takes longer than the first 90%.
Tonight, I finally shipped mine.
And honestly, that feels pretty good...

Top comments (0)