We're excited that you would like to be part of the team here at SponsorCX and we're excited to talk with you!
Below, you'll find a repository with a simple React and Node.js application. The project is left open-ended for you to provide your unique solution to the problem. Please spend no more than 4 hours working on the challenge.
The goal of the challenge is:
- Learn about your work & working style
- Introduce you to problems like the ones we work on at SponsorCX
Note: If you have a personal project that you believe better showcases your work, you can use that instead. The repo should be public and demonstrate your ability to work from the backend to the frontend.
At SponsorCX, we help organizations manage the sponsorships they have with their customers (e.g. accounts). For this challenge, we'll focus specifically on the Deals that an organization has with their various accounts.
Organization: An organization is a company that has signed up to use our platform to manage their sponsorships.
Account: An Account is a company that an organization has a potential sponsorship with.
Deal: A Deal is a contract between an organization and an account. It has a start date, an end date, a valueand a status.
Organizations can have multiple accounts and accounts can have multiple deals.
SponsorCX organizations need a way to view all of their deals and how much they are worth. We have broken this into two challenges. Refer to Getting Started for instructions on how to run the application.
- Create the models and endpoints to get all of the
dealsfor an organization. Theorganizationmodel is created for you, but you'll need to create the account and deal models.
- Add a page to the react application that displays the
dealsand their total value. Pull the deals data from the api you created in challenge 1. - The screenshot below is an example of how the page could look, but feel free to use whatever style or layout you think provides the best UX.
- Organizations need to be able to filter the
dealsbystatusandyear. Add this functionality to the api and frontend.
Take some time to document your thought process and the choices you made in a documentation.md file or inline as you go. Please write this piece yourself. Include information like:
- Any instructions for us to run your code and understand your solution.
- What decisions did you end up making?
- What assumptions did you make?
- What would you have done if you had more time?
- Is there any feedback/questions you have for us?
Fork this repo, then look at the README in the frontend and backend folders for instructions on how to run the application.
Frontend README
Backend README
- Spend no more than 4 hours working on the challenge
- Make use of any libraries and tools that you like
- Feel free to use help from LLMs but be prepared to explain your code and the choices you made
- Use the
documentation.mdfile to document your thought process. Please write this piece yourself. - Commit as you go. We want to see your thought process
Zip your code and send it to creed@sponsorcx.com. To share your database, either create a seed script or attach the sqlite database file with your submission.

