|
| 1 | +### About |
| 2 | + |
| 3 | +1. Full Name - Mohammed Ayaan |
| 4 | +2. Contact info (email, phone, etc.) - [email protected], 99025 87579 |
| 5 | +3. Discord handle |
| 6 | +4. Home page (if any) |
| 7 | +5. Blog (if any) |
| 8 | +6. GitHub profile link - https://github.com/ayaan-md-blr |
| 9 | +7. Twitter, LinkedIn, other socials - https://www.linkedin.com/in/md-ayaan-blr/ |
| 10 | +8. Time zone - UTC+05:30 |
| 11 | +9. Link to a resume - https://drive.google.com/file/d/1kICrybHZfWLkmSFGOIfv9nFpnef14DPG/view?usp=sharing |
| 12 | + |
| 13 | +### University Info |
| 14 | + |
| 15 | +1. University name - PES University Bangalore |
| 16 | +2. Program you are enrolled in (Degree & Major/Minor) - BTech (AI/ML) |
| 17 | +3. Year - 2023 |
| 18 | +4. Expected graduation date - 2027 |
| 19 | + |
| 20 | +### Motivation & Past Experience |
| 21 | + |
| 22 | +Short answers to the following questions (Add relevant links wherever you can): |
| 23 | + |
| 24 | +1. Have you worked on or contributed to a FOSS project before? Can you attach repo links or relevant PRs? |
| 25 | + |
| 26 | + No. My first experience is with apidash. I have raised a PR for issue #122(https://github.com/foss42/apidash/pull/713) and |
| 27 | + had a good learning. Fairly comfortable with the process now |
| 28 | + and looking forward to contribute and work towards merging the PR in the apidash repo. |
| 29 | + |
| 30 | +2. What is your one project/achievement that you are most proud of? Why? |
| 31 | + |
| 32 | + I am proud of my self-learning journey in the AI area so far. I am equipped with considerable predictive and generative AI concepts and related tools/apis. |
| 33 | + I started with the perception that AI is new, exciting but extremely difficult. I overcame this challenge using multiple learning resources and balancing with |
| 34 | + my college academics and have been able to achieve much more than my peer group in terms of learning. |
| 35 | + Looking forward to learning and contributing to the open source space and add a new level to my learning journey. |
| 36 | + |
| 37 | +3. What kind of problems or challenges motivate you the most to solve them? |
| 38 | + |
| 39 | + DSA related problems challenged me the most which also pushed me to solve them. I was able to solve complex problems in trees, graphs, |
| 40 | + recursion which I found very interesting. |
| 41 | + I am also part of the avions (college club related to aviation and aerospace) where we are building working models of airplanes. It is very challenging and at the |
| 42 | + same time motivating to make those models from scratch and fly them. |
| 43 | + |
| 44 | +4. Will you be working on GSoC full-time? In case not, what will you be studying or working on while working on the project? |
| 45 | + |
| 46 | + Yes I can contribute full time. I dont have any other engagements since it will be my summer break. |
| 47 | + |
| 48 | +5. Do you mind regularly syncing up with the project mentors? |
| 49 | + |
| 50 | + Definitely not. This is the opportunity I am looking forward to where I can work with the bright minds and gain guidance and knowledge. I would be available for |
| 51 | + any form of communication as required by the assignment. |
| 52 | + |
| 53 | +6. What interests you the most about API Dash? |
| 54 | + |
| 55 | + The simplicity of the gitrepo attracted me to this project. It is very easy to understand and very well written. |
| 56 | + |
| 57 | +7. Can you mention some areas where the project can be improved? |
| 58 | + |
| 59 | + Developer documentation w.r.t to the components, system design, best practices, coding standards, testing standards will increase the productivity of contributors. |
| 60 | + Also I feel there can be improvement in the look and feel of the user interface in terms of making it appear attractive and also enhance usability. |
| 61 | + |
| 62 | +### Project Proposal Information |
| 63 | + |
| 64 | +1. Proposal Title - AI UI Designer for APIs (#617) |
| 65 | +2. Abstract: |
| 66 | + Develop an AI Agent which transforms API responses into dynamic, user-friendly UI components, enabling developers to visualize and interact with data effortlessly. |
| 67 | + I plan to address this by building a new component ai_ui_agent which uses ollama models suitable for codegen (codellama or deepseek probably) to generate the flutter |
| 68 | + widgets which can be plugged into apidash ui. We can use third party component fl_chart for the charts generation. |
| 69 | +3. Detailed Description |
| 70 | + |
| 71 | + ``` |
| 72 | + To implement this we need to carry out the below tasks in order - |
| 73 | +
|
| 74 | + Task1: |
| 75 | +
|
| 76 | + Evaluate the Ollama supported LLMs with good code generation capability. |
| 77 | +
|
| 78 | + We need to attempt several prompts which give us the output as required. |
| 79 | + We need the prompt to |
| 80 | + - List the suitable widgets (data table/ chart/ card/ form) for the given json data. |
| 81 | + - The prompts should be fine tuned to generate different types of widgets as chosen by user. |
| 82 | + - The prompts should also have placeholders for customizations (Searching, sorting, custom labels in charts) |
| 83 | + - The prompts should be fine tuned to provide the look and feel of the apidash ui. |
| 84 | + - The prompts should give good performance as well as provide accuracy of output. |
| 85 | + At the end of this task we should have working prompts as per the requirement. |
| 86 | +
|
| 87 | + Task2: Build the ai_ui_agent component in the lib folder of the repo which encapsulates both the back end logic and ui widgets. |
| 88 | + At the end of this task we expect a working component with the below structure : |
| 89 | + ai_ui_agent |
| 90 | + - features |
| 91 | + ai_ui_agent_codegen.dart (This will contain the fine tuned prompts for code generation) |
| 92 | + exporter.dart (This will contain the logic to export the generated flutter widget) |
| 93 | + - providers |
| 94 | + ai_ui_agent_providers.dart (Will hold the generated flutter code as state/ available for download) |
| 95 | + - services |
| 96 | + ai_ui_agent_service.dart (Will invoke the ollama service using ollama_dart package) |
| 97 | + - widgets |
| 98 | + ai_ui_widget.dart (container widget for the generated code) |
| 99 | + (any other widgets required for customizations/styles) |
| 100 | + - utils |
| 101 | + validate_widget.dart (This should perform some basic validation/compilation to ensure the generated component can get rendered/exported successfully) |
| 102 | + ai_ui_agent.dart |
| 103 | +
|
| 104 | + Task3: Integrating this component with the response_pane widget |
| 105 | + screens/home_page/editor_pane/details_card/response_pane.dart (Add a new button on click - render the ai_ui_widget in a pop up.) |
| 106 | +
|
| 107 | + Task4: Writing unit and integration tests |
| 108 | +
|
| 109 | + Task5: Perform functional testing with different apis and response formats. |
| 110 | + This will be crucial to ensure it works with different apis with different json structures. |
| 111 | + This task may involve fine tuning/fixing the prompts as well. |
| 112 | +
|
| 113 | + Taks6: Updating the dev guide and user guide |
| 114 | +
|
| 115 | + ``` |
| 116 | + |
| 117 | +4. Weekly Timeline: |
| 118 | + |
| 119 | +| Week | Focus | Key Deliverables & Achievements | |
| 120 | +| -------------- | --------------------------------------------------------- | -------------------------------------------------------------------------------------------- | |
| 121 | +| **Week 1** | Community Bonding and dev env setup | Connect with mentors. Understand project expectations. Install and configure dev env. | |
| 122 | +| **Week 2-3** | Task1: Evaluate Ollama codegen model and prompts creation | Working prompts and finalized Ollama ai model | |
| 123 | +| **Week 4-5** | Task2: Build ai_ui_agent | Features and Services | |
| 124 | +| **Week 6-7** | Task2,3: Build ai_ui_agent | widgets, providers and utils | |
| 125 | +| **Week 8-9** | Task4,5: unit, integration and functional testing | Unit, integration tests, meet code coverage | |
| 126 | +| **Week 9-10** | Task6: Documentation | Update Dev guide, User Guide, Readme, Changelog | |
| 127 | +| **Week 10-12** | Feedback and wrapup | Implement any final feedback from mentors. Open to pick up other issue related to importers. | |
0 commit comments