Welcome, dear candidate, to the Good Tape Code Test!
Crafting a meaningful test in the age of AI is a challenge, but we’re embracing it by focusing on what makes you unique. This isn’t about perfect answers; it’s about your process, understanding, and how you bring your ideas to life.
- Creative Use of AI: Save time on repetitive tasks and focus on the fun, complex parts of the problem. Use AI as a tool, not a crutch.
- Documentation & Assumptions: Explain your thought process, document your choices, and tell us why you took the approach you did.
- Understanding: Show us you understand the tools and technologies you’re using and can explain them confidently.
- Expressiveness: We want to see how you solve challenges and express yourself in code.
- Voice-Activated Dad Joke Search Engine
- Build a web app where users can speak a query and get dad jokes in response.
- Use any free dad-joke API of your choice. This one for example: icanhazdadjoke.
- Support voice input using browser APIs (e.g., Web Speech API).
- Transcribe the voice input to text using the Good Tape API. You should have gotten an API key in your email.
Choose three sidequests to complete: (We expect you to pick sidequests that complement the role you are applying for, your competencies and interests.)
-
Styling Challenge
- Design and implement a themed UI for your app.
- Make sure it’s fully responsive and accessible.
- Explain your design choices.
-
Dynamic Jokes Filter
- Add a feature that allows users to filter jokes by length, category, or rating (if supported by the API or your backend).
- Explain how you handle edge cases, like unsupported filters.
-
Joke Semantic search
- Embed the jokes with an embedding model of your choice(we won't judge the quality of embeddings)
- Implement a vector search for the embeddings and make the joke search semantic.
-
Containarize and orchestrate
- Containarize your app and other dependencies
- Make a orchestration in a tool of your choice that dictates how the different services interact and should be deployed.
-
Database Feature
- Store a history of searches and joke results using a simple backend.
- Use Postgres or MongoDB (or both if you’re feeling adventurous).
- Document your schema design.
-
Custom Feature
- Add a feature of your choice that makes the app more useful, delightful, or enthusiastically stupid.
- Tell us why you chose this feature and how you built it.
- Document: Include a README file explaining your setup process, key decisions, and assumptions.
- Keep it Simple: This doesn’t need to be a production-ready app. We’re looking for clear, understandable code.
- Code Ownership: Use version control (Git) to demonstrate how you manage your codebase.
- Your ability to think through problems and articulate solutions.
- How you use tools and technologies like React, TypeScript, CSS, Node.js, and more.
- Clean, modular, and expressive code.
Let your creativity shine, and have fun! We’re excited to see what you’ll create.
Good luck! 🎉