Skip to content

Commit 23fd475

Browse files
committed
gsoc application
1 parent 40322ad commit 23fd475

File tree

1 file changed

+127
-0
lines changed

1 file changed

+127
-0
lines changed
Lines changed: 127 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,127 @@
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

Comments
 (0)