Build a Support Dashboard for an AI Startup

Use Python and Flask to make an enterprise support dashboard more readable and performant.

20 hours

About This Project

You've just joined ROR, a large e-commerce company. You'll be working on the team behind their new AI agent: Personal Shopper.

Personal Shopper helps shoppers find the items they need through a chat interface. It’s powered by a large language model (LLM) pipeline developed by ROR’s AI dev team using the OpenAI API.

Customers love the new feature, but LLM products are sometimes unpredictable.

As Personal Shopper has rolled out to more customers, the customer experience team has received more tickets about unpredictable results. The internal dashboard they use to investigate and resolve issues has become difficult to use, loading slowly, with hundreds of results displayed at a time.

In this project, you have been assigned the ticket to complete the work to add pagination to the page, to make the dashboard more usable.

During the code review and technical interview, we will assess a range of areas, including user interface design, user interface interactivity, state management, and handling HTTP requests, API design, database modeling and management, and more.

You'll receive a more detailed rubric after checkout.

Coming Soon


  • Detailed Rubric and Instructions
  • Starter Code and Assets
  • Professional Code Review
  • Technical Interview On Your Project
  • In-Depth Written Feedback Report
  • Certificate of Completion

Key Skills Required

  • Foundations of HTML, CSS, and JavaScript
  • Foundational Python
  • User Interface Design
  • HTTP Request / Response
  • API Design and Development with Python & Flask
  • Databases: Queries, Migrations
  • Test-driven Development
  • Version Control
  • Project Organization
  • Code Quality
  • ... and more


Why should I build this project instead of one from scratch?

In a professional context, you're rarely starting from scratch. Curricular Projects are designed to give you a constrained real world problem so you can focus on practicing the essential skills you'll use as a professional developer, and to surface specific areas to continue studying.

Who will review my code?

Our team of reviewers is comprised of professional developers with multiple years of experience. We vet their technical skills and ensure they're great at interviewing and reviewing code. We provide reviewers with specific criteria to make sure they cover the essentials during the code review and interview, to provide you with comprehensive feedback.

How can I get help if I'm stuck on a project?

Our projects are designed to be a real world assessment of your skills, like the take home assignment during a job interview. Getting yourself unstuck is part of the skills measured. As a result, we offer very little help and direction.

However, if you encounter issues with the setup, or if you find something isn't working right that should be working, you can contact us at and we'll help you out.

What materials do I need to submit?

To submit your materials, you'll submit a pull request to your GitHub repository.

In your README, include a link to a video or text walkthrough of the application. Describe the functionality and the basic structure of your code.

Do you provide official solutions to projects?

We do not provide official solutions to projects. There are many ways to solve each of our projects. Coding is a journey, so our goal isn't for you to get the "right answer." Instead, our projects are about you flexing your skills to arrive at a solution, practicing talking about your code, and giving you helpful feedback on ways to improve.

Can I work on this project with someone else?

Currently, our projects are designed for individual developers, not for groups or teams.

How will I receive my certificate of completion?

If your project meets all specifications, you'll receive a certificate of completion from Curricular as a pdf sent to your email. No action is necessary on your part.

We send certificates once per week.

Where can I ask a question that isn't answered here?

Email us at