0% found this document useful (0 votes)
15 views2 pages

Android Kotlin Test

Uploaded by

armanamu5595
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views2 pages

Android Kotlin Test

Uploaded by

armanamu5595
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Android Internship Technical Assessment:

Voice-to-Text Keyboard
Project Overview
Build a custom Android keyboard application that uses voice transcription as the primary input
method. This project will test your skills in Android development, custom input methods, audio
processing, API integration, and user interface design.

Core Requirements
Primary Functionality

●​ Custom Keyboard: Implement a custom Android Input Method Editor (IME)


●​ Single Button Interface: The keyboard should display only one prominent button
●​ Press-and-Hold Recording:
○​ Press and hold the button to start continuous audio recording
○​ Continue recording for the entire duration the button is held down
○​ Stop recording immediately when the button is released
●​ Post-Recording Transcription: After button release, send the complete audio file to
Groq's Whisper API
●​ Text Insertion: Insert the transcribed text at the current cursor position once
transcription is complete
●​ Visual Feedback: Provide clear visual indicators for recording state (recording,
processing, complete)

Core Workflow
The keyboard should follow this exact interaction pattern:

1.​ Press and Hold: User presses and holds the single button
○​ Immediately start audio recording
○​ Show visual feedback that recording is active
○​ Continue recording for the entire duration the button is held
2.​ Release Button: User releases the button
○​ Immediately stop audio recording
○​ Save the complete audio file
○​ Show processing/loading state to user
3.​ Transcription: Send audio to Whisper API
○​ Upload the complete recorded audio file to Groq's Whisper API
○​ Wait for transcription response
○​ Handle any network errors gracefully
4.​ Text Insertion: Insert result at cursor
○​ Take the transcribed text from API response
○​ Insert it at the current cursor position in the active text field
○​ Show brief confirmation that text was inserted
○​ Return to idle state, ready for next recording

Important: There should be NO real-time transcription. The entire audio recording must be
completed before sending to the API.

Please focus on the core functionality, do not focus on login and other things.

Important: You are given two days to complete the assignment. Even if you are not able to
complete this email, please share whatever progress you have made. At the end, share the
video showing the Android app demo. Second, share the GitHub code link. ​

Feel free to make an assumption and please note down the assumptions that you made.

You might also like