Full-Stack Engineer Intern Assignment
We’re looking for two full-stack engineering interns. The ideal candidates are recent
grads or final-year students.
This is an intermediate-level assignment. It will test your technical and research skills.
The deadline for this assignment is 6 PM, 9th June 2024.
Task Overview
You will build a web application that allows users to log in using Google OAuth,
fetch their last X emails from Gmail, and classify them into different categories
using OpenAI GPT-4o. The application should provide the following functionality:
1. User Authentication: Allow users to log in using Google OAuth.
a. Take the OpenAI key from the user and save it in localStorage.
2. Fetch Emails: Fetch the user's emails from Gmail using the Gmail API.
a. You don’t need to store them in a DB. After fetching the emails, you can
store them in the user's local storage.
3. Classify Emails: Use OpenAI GPT to classify emails into important, Promotional,
social, marketing, and spam categories.
Requirements
1. Frontend: Use Next.js or Remix, Tailwind, or any CSS framework of your choice
2. Backend: Framework’s API routes or separate backend using Express.js Koa or
Feather.js. and Langchain.js
3. Authentication: Use Google OAuth for user authentication.
4. API Integration: Integrate with the Gmail API to fetch emails and OpenAI GPT for
email classification.
Design
Here’s a mockup of the design
Example Classifications
● Important: Emails that are personal or work-related and require immediate
attention.
● Promotions: Emails related to sales, discounts, and marketing campaigns.
● Social: Emails from social networks, friends, and family.
● Marketing: Emails related to marketing, newsletters, and notifications.
● Spam: Unwanted or unsolicited emails.
● General: If none of the above are matched, use General
Submission
● Include a README file with instructions on how to set up and run the project.
● Ensure your code is well-documented and follows best practices.
● You can submit your assignment here
Evaluation Criteria
● Code Quality: Clean, readable, modular, and well-documented code.
● Functionality: The application should meet all the requirements and provide the
specified functionality.
● API Integration: Successful integration with Google OAuth, Gmail API, and
OpenAI.
● User Experience: A user-friendly interface for interacting with the application.
Next Steps, Stipend, and Duration
There is one more technical round about the assignment implementation and web
fundamentals. We don’t ask leetcode questions, so don’t worry about them.
Duration: 3 months or more based on your performance.
Stipend: ₹25k/month for three months. If we're a good match, we’ll revise the stipend based on
your performance after three months.
The assignment is intentionally challenging. Since most candidates never complete
assignments anyway, it helps us filter out the best candidates from those who applied.
If you have any questions, you can reach out to me on Twitter, LinkedIn, or via email at
jobs@slidesai.io.
Please don’t just say “Hi, hello” and wait for a reply; write the complete message.
All the best 🤝