Congratulation! – You have advanced to the final round
We ask you to complete an exercise and demonstrate the result to us in a follow-up interview (dates in the e-mail).
As we are looking for the best talent that can help us build the App and Backend for the 2Marketing product we have chosen relevant test cases.
2ai Student Developer - Exercise
Exercise
• Create a Native App with Expo SDK 52 and React Native 0.76 using TypeScript
• Demonstrate running app in iOS or Android simulation or real device
• Demonstrate and explain the code for the App
• Demonstrate use of AI assistance in your development process like ChatGPT or Claude or IDE's like VS Code with AI ext. like GitHub CoPilot, Aider, ClaudeDev a.o. or other AI IDE's like Cursor or Windsurf. Explain your choice and pros/cons.
• Explain your choices, process, challenges, obstacles, time spend, AI usage and what you found trivial and hard
• You can spend any amount of time you like and use any support tools of your choice
• Have fun!
Create an App with one or more of the following features.
1) 4 x Bottom Tabs/Views using
Expo Router
• Today - Empty or dummy examples of todo's, stats, rewards/gamefication, quick actions, suggestions
• Idea - Chat
• Plan - Month view
• Profile - user sign in/out
- Keyword: Expo, React Native, Expo Router, Bottom Tabs, Styling
2) Authentication using
Supabase
• Use Profile tab/page for user sign in/out
• Sign-up and Login using Supabase auth
- Keyword: Auth, Supabase, Dark mode
3) Chat using voice
• Use Idea tab to show a audio/speak symbol - e.g. similar to ChatGPT
• Demonstrate the use of access to microphone using expo-av (or alpha version of expo-audio)
- Note: If you need OpenAI API keys - let us know and we will provide it for you
Examples:
https://static1.pocketlintimages.com/wordpress/wp-content/uploads/wm/2024/09/chatgpt-telling-a-story-using-different-voices.jpg
https://static1.pocketlintimages.com/wordpress/wp-content/uploads/wm/2024/09/chatgpt-advanced-voice-running-on-iphone.jpg
- Keyword: Chat, Audio, Voice, User approval
4) Calendar view
• Use Plan Tab to show a calendar view similar to iOS month view
• Calendard view must have a full month (up to 5 weeks)
• Include Month and for each date 1-31: date, icon, color, text
• Show styling of icon (SoMe channel), colors (Category) and text for each day
- Keyword: React Native component, Extended styling
Example view:
https://preview.redd.it/ios-18-db1-calendar-has-detailed-monthly-view-v0-nzql4w9jws5d1.jpeg?width=1080&crop=smart&auto=webp&s=5be1ce2cf796b01533d9cd57a38fb84f31f01c2a
https://github.com/wix/react-native-calendars
5) Add more, if you got bored, or have something you want to showcase for us.
Examples for inspiration:
• Testing, Logging, Monitoring, Debugging the app (Process and Tools)
• State Management, Persistence (e.g. using Zustand)
• App or 2D Animation using Reanimated 3.0 or Skia
• Upload photo from library or Camera using expo library incl. access rights
• Use any native library and do a custom dev build for iOS or Android
• App gestures like pan, tap
Evaluation Criteria:
• To ensure fairness and clarity, the following aspects will be evaluated:
• Technical Skills: Your ability to use frameworks and libraries effectively.
• Creativity and Problem-Solving: How you approach the tasks, especially in the "Bonus" and "Add more" sections.
• Code Quality: Clean, maintainable, and well-documented code.
• Commitment: Your attention to detail and effort in completing the test.
Tips for Success:
• Don't hesitate to showcase your unique approach or creativity—this is your chance to stand out.
• Focus on quality over quantity; it's better to have a smaller, polished solution than a larger, incomplete one.
• Be sure to test your work before submission to minimize bugs or errors.