Negotiation Practice Platform for Students

An automated weekly negotiation practice platform, built in six hours to handle student pairing, submissions, peer grading, and accountability.

Role
Negotiation teacher and solo product builder
Audience
Students at The Negotiation Project Amsterdam
Outcome
Built in six hours and automated the full weekly practice cycle
Stack
Astro · React · Supabase · Tailwind CSS
kirilof.com/negotiation/results
Leaderboard
Total Score
Technique
Result
Conviction
Negotiation student leaderboard
Rank Student Final Tech Result Conv Penalty
1Sophie Bakker 🏆4.684.804.504.700
2Marco de Vries 🥈4.354.304.504.200
3Anna Kowalski 🥉4.224.004.204.500
4James Chen3.893.704.103.900
5Fatima Al-Rashid3.513.903.503.70-0.2
6Lucas Schmidt3.053.203.603.50-0.4

I teach negotiation at The Negotiation Project Amsterdam. In six hours, I built a platform that pairs students, collects recordings, runs peer grading, and manages weekly participation without manual administration.

The cases let students practise techniques from class: setting a clear negotiation agenda and pursuing goals based on the other side’s needs. The result is more deliberate practice outside class without creating another grading bottleneck.

The Problem

My students needed more reps. Negotiations are a skill that improves with deliberate practice, but organizing practice sessions is a logistical nightmare:

Pairing students manually every week is time-consuming. Tracking submissions (did they do it?) is tedious. Grading creates a bottleneck on my time.

I needed a system that runs itself.

The Solution

I built an automated weekly negotiation practice platform.

Weekly Flow

Every Monday, the system opens a new case. Students are randomly paired.

Weekly negotiation practice schedule
MondayCase opens. Pairs announced.
Mon-SatStudents negotiate and record.
Saturday 23:59Submission deadline.
SundayPeer grading.

If you don’t submit, you’re out for next week. This creates accountability.

Dashboard

Students log in to see their current case, partner, and submit their recording.

www.kirilof.com/negotiation/dashboard
DashboardResults
Welcome, Anna
Current Score: 4.2
IN for next week
Week 7
You are a freelance designer renegotiating your rate with a long-term client. They currently pay €75/hour. Market rates for your experience are €90-110/hour. The client has hinted at budget cuts but relies heavily on your work for two key projects launching next quarter.
Your Partner
Marco de Vries
Recording
https://youtu.be/...
Submit

Peer Grading

On Sunday, students grade each other on Technique, Result, and Conviction (1-5 each). This removes grading from my plate and teaches students to evaluate negotiations critically.

Review
Sophie Bakker & Marco de Vries
Week 6
Watch Recording →
Technique
4.5
Result
4.0
Conviction
3.5
Feedback
Good use of open-ended questions. The agenda was well-structured. Consider being more assertive when presenting your position - you gave away value too early in the negotiation.
Submit Grade

Leaderboard

To make it engaging, there’s a leaderboard. Students see their total score and compete.

This gamification creates motivation without extra effort from me.

www.kirilof.com/negotiation/results
Leaderboard
Total Score
Technique
Result
Conviction
Negotiation student leaderboard
RankStudentFinalTechResultConvPenalty
1Sophie Bakker 🏆4.684.804.504.700
2Marco de Vries 🥈4.354.304.504.200
3Anna Kowalski 🥉4.224.004.204.500
4James Chen3.893.704.103.900
5Fatima Al-Rashid3.513.903.503.70-0.2
6Lucas Schmidt3.053.203.603.50-0.4

Opt-in Participation

Students can toggle whether they participate next week. If they don’t confirm, they don’t get paired. Simple.

Tech Stack

Astro + React frontend, Supabase for auth and database, Tailwind CSS for styling, hosted on Vercel.

Supabase was the key decision. It handles authentication (personal passwords for students) and the database in one place, so I did not need to build that infrastructure from scratch.

The system runs itself. I just add new cases each Sunday.