Create a Dynamic Account Application Form in React

Use React to build a high-converting, customer-friendly account application form for a financial services firm.

20 hours

About This Project

Moonstone Financial, a consumer financial services firm, specializes in small investment portfolios, largely comprised of CDs and IRAs.

First-time investors are a significant growing segment for Moonstone. One of Moonstone's challenges is that their key customer demographics - lower and middle income families - do not tend to have a lot of knowledge about investing. Thus, Moonstone wants to focus on tools to help them understand their options at every step of their journey.

Your assignment is to design a greenfield app for users to apply to open a new type of account.

The application form will be updated dynamically based on a variety of options to keep the experience as simple as possible and will provide information about the different account types.

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.

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