Skip to content

Commit 8c7b229

Browse files
authored
Merge pull request #700 from AllenWn/patch-2
idea_NingWei_AI UI Designer for APIs.md
2 parents c145482 + c42b48a commit 8c7b229

File tree

1 file changed

+129
-0
lines changed

1 file changed

+129
-0
lines changed
Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
# GSoC 2025 Proposal: AI UI Designer for APIs
2+
3+
## About
4+
5+
**Full Name**: Ning Wei
6+
**Contact Info**: [email protected]
7+
**Discord Handle**: @allen_wn
8+
**GitHub Profile**: [https://github.com/AllenWn](https://github.com/AllenWn)
9+
**LinkedIn**: [https://www.linkedin.com/in/ning-wei-allen0503](https://www.linkedin.com/in/ning-wei-allen0503)
10+
**Time Zone**: UTC+8
11+
**Resume**: https://drive.google.com/file/d/1Zvf1IhKju3rFfnDsBW1WmV40lz0ZMNrD/view?usp=sharing
12+
13+
## University Info
14+
15+
**University**: University of Illinois at Urbana-Champaign
16+
**Program**: B.S. in Computer Engineering
17+
**Year**: 2nd year undergraduate
18+
**Expected Graduation**: May 2027
19+
20+
---
21+
22+
## Motivation & Past Experience
23+
24+
1. **Have you worked on or contributed to a FOSS project before?**
25+
Not yet officially, but I’ve been actively exploring open source projects like API Dash and contributing via discussion and design planning. I am currently studying the API Dash repository and developer guide to prepare for my first PR.
26+
27+
2. **What is your one project/achievement that you are most proud of? Why?**
28+
I'm proud of building an AI-assisted email management app using Flutter and Go, which automatically categorized and responded to emails using ChatGPT API. It gave me end-to-end experience in integrating APIs, generating dynamic UIs, and designing developer-friendly tools.
29+
30+
3. **What kind of problems or challenges motivate you the most to solve them?**
31+
I enjoy solving problems that eliminate repetitive work for developers and improve workflow productivity — especially through automation and AI integration.
32+
33+
4. **Will you be working on GSoC full-time?**
34+
Yes. I will be dedicating full-time to this project during the summer.
35+
36+
5. **Do you mind regularly syncing up with the project mentors?**
37+
Not at all — I look forward to regular syncs and feedback to align with the project vision.
38+
39+
6. **What interests you the most about API Dash?**
40+
API Dash is focused on improving the developer experience around APIs, which is something I care deeply about. I love the vision of combining UI tools with AI assistance in a privacy-first, extensible way.
41+
42+
7. **Can you mention some areas where the project can be improved?**
43+
- More intelligent code generation from API response types
44+
- Drag-and-drop UI workflow
45+
- Visual previews and theming customization
46+
- Integration with modern LLMs for field-level naming and layout suggestions
47+
48+
---
49+
50+
## Project Proposal Information
51+
52+
### Proposal Title
53+
54+
AI UI Designer for APIs
55+
56+
# Relevant Issues: [#617]
57+
58+
### Abstract
59+
60+
This project aims to develop an AI-powered assistant within API Dash that automatically generates dynamic user interfaces (UI) based on API responses (JSON/XML). The goal is to allow developers to instantly visualize, customize, and export usable Flutter UI code from raw API data. The generated UI should adapt to the structure of the API response and be interactive, with features like sorting, filtering, and layout tweaking. This tool will streamline frontend prototyping and improve developer productivity.
61+
62+
---
63+
64+
### Detailed Description
65+
66+
The AI UI Designer will be a new feature integrated into the API Dash interface, triggered by a button after an API response is received. It will analyze the data and suggest corresponding UI layouts using Dart/Flutter widgets such as `DataTable`, `Card`, or `Form`.
67+
68+
#### Step 1: Parse API Response Structure
69+
70+
- Focus initially on JSON (XML can be added later)
71+
- Build a recursive parser to convert the API response into a schema-like tree
72+
- Extract field types, array/object structure, nesting depth
73+
- Identify patterns (e.g., timestamps, prices, lists)
74+
75+
#### Step 2: Design AI Agent Logic
76+
77+
- Use a rule-based system to map schema to UI components
78+
- List of objects → Table
79+
- Simple object → Card/Form
80+
- Number over time → Line Chart (optional)
81+
- Integrate LLM backend (e.g., Ollama, GPT API) to enhance:
82+
- Field labeling
83+
- Layout suggestion
84+
- Component naming
85+
86+
#### Step 3: Generate UI in Flutter
87+
88+
- Dynamically generate:
89+
- `DataTable`, `Card`, `TextField`, `Dropdown`, etc.
90+
- Optional chart widgets (e.g., `fl_chart`)
91+
- Support:
92+
- Layout rearrangement (form-based or drag-drop)
93+
- Field visibility toggles
94+
- Previewing final UI
95+
96+
#### Step 4: Export UI Code
97+
98+
- Export generated layout as Dart code
99+
- Allow download or copy-to-clipboard
100+
- Support JSON config export (optional for renderer-based architecture)
101+
102+
#### Step 5: Integrate into API Dash
103+
104+
- Add AI UI Designer button in the API response view
105+
- Launch UI editing pane inside app
106+
- Ensure local-only, privacy-friendly execution
107+
- Write tests, docs, and polish UX
108+
109+
---
110+
111+
## Weekly Timeline (Tentative)
112+
113+
| Week | Milestone |
114+
|------|-----------|
115+
| Community Bonding | Join Discord, interact with mentors, finalize approach, get feedback |
116+
| Week 1–2 | Build and test JSON parser → generate basic schema |
117+
| Week 3–4 | Implement rule-based UI mapper; generate simple widgets |
118+
| Week 5–6 | Integrate initial Flutter component generator; allow basic UI previews |
119+
| Week 7 | Midterm Evaluation |
120+
| Week 8–9 | Add customization options (visibility, layout) |
121+
| Week 10 | Integrate AI backend (e.g., Ollama/GPT) for suggestions |
122+
| Week 11–12 | Add export functions (code, JSON config) |
123+
| Week 13 | Final polish, tests, docs |
124+
| Week 14 | Final Evaluation, feedback, and delivery |
125+
126+
---
127+
128+
Thanks again for your time and guidance. I’ve already started studying the API Dash codebase and developer guide, and I’d love your feedback on this plan — does it align with your vision?
129+
If selected, I’m excited to implement this project. If this idea is already taken, I’m open to switching to another API Dash project that fits my background.

0 commit comments

Comments
 (0)