This is a screening assignment for our developer position. The task involves building a web application that converts natural language descriptions into visual components using LLM-generated code.
Natural Language to Code generation is becoming increasingly important in modern software development. Developers often need to quickly prototype UI components or web layouts based on natural language descriptions. This assignment focuses on building a practical application that leverages LLMs for code generation while providing immediate visual feedback.
Build a web application using Reflex.dev that allows users to input natural language descriptions and see the generated code rendered in real-time. The application should convert text descriptions into working HTML/React code using an LLM API of your choice (e.g., OpenAI, Anthropic, etc.).
- Create a clean, responsive UI with Reflex.dev
- Implement a text input area for natural language descriptions
- Integrate with an LLM API for code generation
- Display both the generated code and its visual rendering
- Handle errors gracefully and provide meaningful feedback
- Implement proper rate limiting and API usage optimization
- Use Reflex.dev as the primary framework
- Implement proper state management
- Include loading states and animations
- Ensure the application is responsive across different screen sizes
- Add appropriate error boundaries and fallbacks
- Include basic input validation and sanitization
- Write clean, well-documented code
- Include proper type hints and comments
- Follow Python PEP 8 style guidelines
- Implement proper logging
- Include basic tests for core functionality
- Code quality and organization
- Proper use of Reflex.dev features
- Error handling and edge cases
- Performance optimization
- Interface design and usability
- Responsiveness and loading states
- Error messaging and feedback
- Overall flow and interaction
- Effectiveness of prompt engineering
- Quality of generated code
- Handling of edge cases
- API usage optimization
Your submission should be a ZIP file containing:
- Complete source code of the application
- README.md with:
- Setup instructions
- API configuration steps
- Usage examples
- Any assumptions or limitations
- Requirements.txt or similar dependency file
- Any additional documentation or examples
Send your submission as a compressed ZIP file to [email protected]
- You may use any LLM API provider, but include documentation for setting up the necessary API keys
- Make sure to implement rate limiting and error handling for API calls
- Consider implementing a caching mechanism for common requests
- Include clear instructions for local development setup
- The assignment should take approximately 2-4 days to complete
- Focus on core functionality first, then add improvements if time permits
If you have any questions about the assignment, please open an issue in this repository.