Inspiration

After moving into a shared apartment with friends, I watched small misunderstandings over rent splitting and cleaning schedules escalate into big conflicts—none of us had a clear, written agreement. I realized how many people (students, young professionals, co-living tenants) face this same issue, so I set out to build a tool that makes creating formal roommate agreements fast and accessible.

What it does

The Roommate Agreement Generator guides users through a simple questionnaire to collect details like rent split, pet policies, and quiet hours. It then generates a professional, editable agreement, processes a one-time $9.99 payment, collects electronic signatures from all roommates, and delivers a downloadable PDF—plus optional lease/agreement reminders.

How we built it

I started by mapping the user flow (Homepage → Questionnaire → Preview → Checkout/Signature → Final Document) to keep the experience intuitive. I used React for the frontend to build responsive forms and a clean document preview; Node.js/Express handled backend logic for agreement generation. I integrated OpenAI API to tailor agreements to user inputs, Stripe for payment processing, and SignaturePad for e-signatures. PDFKit was used to generate finalized, signed PDFs, and Firebase for shareable link functionality.

Challenges we ran into

The biggest hurdle was ensuring the e-signature feature was secure and user-friendly—balancing "click-to-sign" simplicity with legal validity took multiple iterations. I also struggled with making the AI-generated agreement tone fair and casual (not overly legalistic) while still being structured. Additionally, testing the reminder system to work across different calendar apps required troubleshooting date formatting issues.

Accomplishments that we're proud of

I’m most proud of building a tool that’s truly user-centric: the step-by-step flow feels effortless, the agreement is fully editable (users can add/remove clauses), and the entire process requires no login—lowering barriers to use. Seeing friends and beta testers create signed agreements in under 10 minutes (vs. hours of drafting from scratch) made all the work worth it.

What we learned

I learned how to integrate multiple APIs seamlessly (AI, payment, e-signature) and prioritize user experience over technical complexity. I also gained insight into legal document structure—even casual residential agreements need clear, comprehensive clauses to be effective. Most importantly, I realized the value of solving small, everyday problems: this tool isn’t flashy, but it fills a real gap for people navigating co-living.

What's next for this project

Next, I want to add a dispute resolution resource hub (with guided mediation steps) directly in the tool. I also plan to expand the agreement templates to include region-specific clauses (e.g., local rental laws) and add email notifications for reminders (beyond browser alerts and calendar downloads). Finally, I’ll refine the mobile experience to make signing and editing even smoother for on-the-go users.

Share this project:

Updates