# Flutter Demo Project Welcome to the Flutter take home assignment! ## The Project The project is to build a simple news aggregator application using Flutter. The core requirements are: Develop a Flutter application that displays news as aggregated by Kagi's Kite news app. Specifically, implement category-based news feedsa using the predefined categories at https://kite.kagi.com/kite.json Each categories articles and topics can then be found at https://kite.kagi.com/<category>.json Display news articles in a list view with appropriate metadata (title, source, date, etc.) Allow users to tap on articles to view a detailed summary This project tests your ability not only to develop Flutter applications, but to deal with ambiguity and open-endedness, which is essential in a small, fast-moving company like Kagi. The goal of the demo project is not to copy the web app, but to demonstrate your ability of using Flutter to achieve native experiences beyond what a web app could do. Achieving native look&feel, using interactions/animations/haptics that would make the app more joyful to use than a PWA version. This is the whole reason one would use Flutter vs a webview. Please check these apps for inspiration - Apple News app - Quill https://apps.apple.com/us/app/1440-quill-daily-newsletter/id1669557131 ## Inspiration This project is modeled on Kite, Kagi's news application. It should be fast and intuitive, giving users a quick overview of what's going on in the world. The UX should be roughly similar, but feel free to make any tweaks that you think make sense. ## Technical Requirements Use Flutter and Dart for implementation Create a clean, responsive UI that works on both iOS and Android Handle network requests and errors gracefully Follow sensible coding conventions and patterns Include appropriate tests (widget tests, unit tests) Out of scope Any sort of user settings/authentication/etc Filtering or customization of news articles Support for video news Adding additional sources outside of Kite Some Guidelines Do the project in a way that shows off your skills as a developer Deliverable is the completed project, in a github repo, deployed somewhere or a TestFlight / TestApp link to test it on mobile Review and address flutter analyze and linter Create a README file with setup instructions Make sure to include screenshots or videos of the completed application And don't hesitate to tell us if you have any questions! ## Deadlines Project should be submitted within two weeks. If life happens, just let us know! ## Things We Look For Code quality and organization Problem-solving approach and technical choices Adding your own personal touches Good luck and have fun!