Heard is an all-in-one financial solution for therapists that combines software and human support to handle bookkeeping, taxes, payroll, and more. Our mission is to help therapists be therapists by acting as their financial back office to empower therapists to spend less time running their business and more time giving clients the help and support they need through an affordable, easy-to-use software tool with real-time human support.
Heard is growing rapidly, and could use your expertise to help us become an industry-leading software services provider for independent mental health practitioners!
Welcome to the first stage of our technical interview process! As part of your application, we invite you to complete a take-home software assessment. This assessment is designed to showcase your coding abilities and understanding of web application development.
The task is to build a simple CRUD (Create, Retrieve, Update, Delete) web application consisting of a frontend with which a user can interact, a backend, and a datastore of your choice. This app will be used to interact with transaction data.
This application will form a basis for discussion in subsequent stages of the interview process, where you may be asked to extend its functionality or discuss the choices you made while building it.
- Frontend + Backend: The primary purpose of this exercise is to showcase your full-stack skills in both the frontend and backend. You can choose the technologies and frameworks you are most comfortable with.
- Complete CRUD Operations: The web app should enable users to create new transactions, retrieve existing ones, update them, and delete them as needed.
- Data Persistence: Transactions should be stored so that they persist between sessions (e.g., local database works great).
- Git Repository: All code should be uploaded to a Git-based repository (such as GitHub or GitLab) for review.
- Documentation: Please include clear documentation on how to run your service and website locally. This should guide any reviewer through setting up and using your application.
- Dependencies: List any dependencies in your documentation so that anyone cloning the repository knows what they need to install to run your application.
- Time Management: Aim to spend at most 2 hours on this exercise. It's about demonstrating your approach to problem-solving and coding rather than delivering a feature-complete application.
- Custom CSS/Styling: While we appreciate a well-styled application, there are other focuses here. Feel free to use any CSS framework you are comfortable with.
- Deployment: There's no need to deploy the application. A version that runs locally on your machine is entirely sufficient. Submission
- Additional Features: Features such as filtering, pagination, or advanced querying is not required.
Once you have completed the assessment, please provide the URL to your Git repository. Ensure that your repository is public or that access is granted to @dperconti.
Each transaction must include the following attributes:
transactionId
: A unique identifier for the transaction (string).amount
: The transaction amount in cents (Int).description
: A brief description of the transaction (string).fromAccount
: an account identifier from which the amount will be deducted from.toAccount
: an account identifier from which the amount will be added / credited to.transactionDate
: The date when the transaction occurred (string in the format of your choosing). Note that this will be used in further levels of the interview.
Full data example is available HERE.
[
{
"title": "transaction_1",
"description": "Transaction 1",
"amount": 86203,
"fromAccount": "account_3",
"toAccount": "account_6",
"transactionDate": "2023-05-24"
},
{
"title": "transaction_2",
"description": "Transaction 2",
"amount": 71532,
"fromAccount": "account_4",
"toAccount": "account_6",
"transactionDate": "2023-04-15"
}
...
]
โ Note: These aren't all the technologies that we use at Heard, but most are relevant to our tech stack.
Languages
Frontend Frameworks & Tools
CSS Frameworks
API & App Frameworks
Hosting/SaaS
ORMs
Version Control
Below is an example of what your application could look like.