# Project export: PoetRate

This document was generated by HackStack to give an AI agent context about a hackathon project. Sections are labeled with their provenance; content marked as truncated was cut to keep this document small.

## Project metadata

- Hackathon: Cal Hacks 11.0
- Tagline: Get inspired to write poems! Write a poem based off of a random image, challenge Gemini to a poetry contest, and gain insights on how to improve your poetry skills!
- Devpost: https://devpost.com/software/poetrate
- GitHub: https://github.com/Hu-Maxwell/PoetryAI
- Video: https://www.youtube.com/embed/Agoyj-bavzM?enablejsapi=1&hl=en_US&rel=0&start=&version=3&wmode=transparent
- Team: 3 GitHub contributor(s) — dewe biag (68 commits), callistabudiman16 (66 commits), anjanetttee (15 commits)

## Devpost submission (written by the team)

### Inspiration

Poetry can be challenging. Traditionally, it's taught through topics such as love or mortality, and ultimately, might have conditioned us students to think that poetry is boring! However, that couldn't be further from the truth. Thus, we decided to create a website that not only inspires users to write poetry, but also help them improve and hone their skills. Our goal is to spread the joy of writing poetry by making it more accessible and enjoyable for everyone!

### What it does

This tool takes a random image from our own curated list of poetry-inspiring catalogue of images, and challenges you to write a poem based off of it. The image is also sent to the Gemini API, which generates its own poem. These poems are both evaluated by Gemini, which outputs a score, and a quick word of advice on how to improve your poem by learning from the AI's example.

### How we built it

We integrated the Gemini API to rate and review the poems, limiting its' prompt to a simple JSON file + a bit of advice. The backend was developed using using Node.js. The frontend was designed simply with HTML and CSS.

### Challenges we ran into

This was our first time using Node.js, and we had to learn how to manage communication between the frontend and backend. It was also some of our first times coordinating progress among team members to avoid git conflicts and keep our workflow focused.

### Accomplishments we're proud of

We're proud of the aesthetically pleasing UI how quickly we learned how to use Node.js. Initially, we had modest expectations, but this hackathon pushed us to our limits and forced us to widen our programming skills.

### What we learned

We gained experience in server management, UI development, version control with Git, and effective team communication. Additionally, we improved our understanding of the web design process, full-stack development, Node.js, and CSS animations.

### What's next

Future plans include adding difficulty levels, more detailed feedback for each poetry category, and analysis across multiple inputs. We aim to introduce different poem formats (quartets, haikus, sonnets), a timer feature, and both speech-to-text and text-to-speech capabilities.

## README (from the GitHub repository)

No README available.

## Detected evidence (automated analysis)

Indexed codebase: 11 recognized source files, 28 KB.
- CSS (language) — detected in the code
- Google Gemini (technology) — detected in the code
- HTML (language) — detected in the code
- JavaScript (language) — detected in the code
- Node.js (technology) — claimed on Devpost, not found in the code

## Codebase structure (from repository index)

### Files (14 of 14)

```
.gitignore
.vscode/launch.json
backend/package.json
backend/script.js
backend/server.js
frontend/app.js
frontend/help.css
frontend/help.html
frontend/index.html
frontend/start.css
frontend/start.html
frontend/start.js
frontend/style.css
README.md
```

### Dependencies

- backend/package.json: @google/generative-ai@^0.21.0, dotenv@^16.4.5, fs@^0.0.1-security, path@^0.12.7

### Recent commits (newest first)

- Update README.md
- border
- border
- final
- animation fixed
- padding
- padding
- Merge branch 'main' of https://github.com/Hu-Maxwell/PoetryAI
- Updated words
- scoring
- center
- box title
- Working spinner
- Merge branch 'main' of https://github.com/Hu-Maxwell/PoetryAI
- Removed sunflower pic
- spin
- spin
- spinner
- Merge branch 'main' of https://github.com/Hu-Maxwell/PoetryAI
- spin

## Key source files (fetched from GitHub, selected and truncated for size)

Source contents could not be fetched from GitHub right now.

[11 more indexed source files omitted to keep this export small. The full file list is in the Codebase structure section above.]