Inspiration
The topic "resolution" is the main inspiration itself. We found that generative AI and planner seem to be a perfect match during brainstorming. We realized that sometimes people may have a broad and general goal but they don't know how to realize it reasonably. For this issue, we decided to provide them with an easily accessible web application that minimizes the effort required to generate a realistic goal schedule to complete in the year based on their resolution.
What it does
iWant is a web application that takes in the user’s new year resolution as a prompt to generate a yearly schedule to help the users to achieve their resolutions and goals. It can also elaborate the yearly schedule into a more detailed and specific monthly schedule, with tasks every week that the user can work towards. There is also a bar graph that displays both the yearly and monthly statistics to help the user keep track of their progress.
How we built it
The front end is based on Node.js and React.js. It communicates with the backend through the REST API. The backend is built by Python and deployed on AWS Lambda, a serverless function host. The backend takes the prompt from the front-end, combines it with a built-in instructional prompt, and sends it to ChatGPT by the OpenAI API. It then receives the generated feedback and passes it back to the frontend, where it is displayed for the user to view. When the backend gets the feedback, it also stores it in DynamoDB and generates a UUID for it. The UUID can be used in the front-end to fetch previously generated schedules.
Challenges we ran into
We are challenging ourselves by walking out of our comfort zones and trying out new things! We have never made a project with generative AI before and there are many difficulties due to the uncertainty of the model. We spent some time designing the built-in instructional prompt to make ChatGPT generate the most optimized and reasonable schedule. For the frontend, it was difficult to populate the bar graph and task list with the appropriate data, as all of our team members were unfamiliar with React and its functionalities. We also had some trouble with styling the website and designing a visually pleasing user interface, but this was resolved by using components from MaterialUI and React Bootstrap.
Accomplishments that we're proud of
We are proud of creating a product that is functional with generative AI and is accompanied by a fantastic UI. We are also proud of how quickly we learned new technologies to implement in this project. Since our team was new to many concepts, we worked together to solve issues and resolve bugs in the application.
What we learned
This hackathon was a pivotal point for our team members, as all of us experimented with new technologies, allowing us to delve into unknown and challenging territories. We became familiar with React.js, prompt engineering, and REST APIs, thus expanding our technical skill sets. In addition to learning new technologies, we also learned how to communicate effectively in a team, expressing our concerns and encouraging each other throughout the development of the project.
What's next for iWant
The next steps for iWant would be to create a login and signup system. Currently, our application stores the user data on the user’s local storage, however, the addition of user profiles would open up many new possibilities, such as creating collaborative resolutions with others, “following” others’ progress, and commenting/adding notes to resolutions. In addition, we would like users to be able to edit AI-generated goals before saving them to their plans, and hope to include an option for users to save the generated plan into their personal calendars.
Built With
- amazon-api-gateway
- amazon-cloudfront-cdn
- amazon-dynamodb
- amazon-lambda
- amazon-route-53
- amazon-web-services
- bootstrap
- chat-gpt
- node.js
- python
- react
Log in or sign up for Devpost to join the conversation.