So in today's video, we're going to build a coding interview platform which has a video and audio calls,
screen sharing, reactions and screen recordings.
On the right panel there will be a code editor just like VS code, and it will support multiple programming
languages such as JavaScript, Python and Java.
And there will be multiple coding problems with the starter code.
So you can imagine that we are building this platform for a company.
There will be some candidates as well as interviewers, and they can join a call where the candidates
share their screen and try to solve a coding problem.
And at the end of the interview, admins can end the call for everyone and they can add comments about
this candidate so they can decide if the candidate has failed or succeeded.
This is the general idea of the platform, but there is a lot more to it.
So let me give you a complete showcase of this application so that you know what you're going to have
at the end of this video.
And then we will talk about the technologies that are going to be used in this project.
So everything starts from the authentication page.
If you are not authenticated, you cannot visit the platform.
You have three options to log in, which are GitHub, Google and email.
Password combination.
Once you are logged in, you will be redirected to the home page.
By default, you will be a candidate and from the database dashboard admin can decide who is going to
be a candidate.
And in a river, as a candidate, you can see your past life and upcoming interviews.
If the call is live, we can click to this join button, which would take us to the setup page where
we can select our devices for camera and microphone.
We can turn them on and off, and we have a quick motivation message that says, hey, do not forget,
our team is super friendly.
We want you to succeed and crack this interview.
So let's go ahead and join.
We can see the participants on the left panel and the coding question, as well as the editor on the
right panel.
And these panels are resizable both vertically and horizontally.
We are going to have a couple of different actions, such as turning on and off our camera and microphone,
adding reactions, sharing our screen that can be either a single window or the entire screen.
We can record the screen, change the layout, see the participant list, and leave the call.
On the right hand side, we can select a coding problem and a language.
Then we can write the solution with syntax highlighting and autocomplete.
This is what you can do as a candidate.
Things get a lot more interesting when you are an interviewer.
You can start an instant call, join with a link, schedule a meeting and see the past recordings.
When you click this schedule link, you will be navigated to the schedule page where you can see all
the interviews and schedule a new one with a title, description, candidate, and inner rewards, as
well as the date and time.
And in the meeting there can be only one candidate and multiple interviewers.
Once it is scheduled, it will be saved to our database, which is going to be working in real time.
And as the interviewer, you can visit the dashboard, add comments, and decide if they failed or succeeded.
And if you are the owner of the call, you can end it for everyone, which would navigate us to the
home page.
And finally, in the recordings page you can watch all the recordings that you have.
On top of this, there will be light and dark mode support with a responsive UI design.
So this is the entire application that we're going to build in this video.
When it comes to the technologies we're going to be using react with Next.js, we will use convex for
the real time database, Clarke for the authentication and stream for the video calls.
And you don't need a credit card to be able to follow along with this video.
Every service that we use is completely free to get started with.
And at the end of this video we are going to deploy this application.
So if you are ready, let's get into it.