# Project export: Sitegeist

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: CruzHacks 2024
- Tagline: Easily transform Reddit discussions into actionable insights. Sitegeist uses machine learning to analyze sentiments held by those that discuss trending topics, inspiring solutions for a better world.
- Devpost: https://devpost.com/software/sitegeist
- GitHub: https://github.com/masaishi/Sitegeist
- Demo: https://web-cruz-hacks2024.vercel.app/
- Video: https://www.youtube.com/embed/XtTgwiwk_Ak?enablejsapi=1&hl=en_US&rel=0&start=&version=3&wmode=transparent
- Team: 2 GitHub contributor(s) — masaishi (13 commits), Dirk Wilson (1 commits)

## Devpost submission (written by the team)

### Overview

Before starting a business, business makers scope out problems in order to provide products to untapped markets. Before starting a hackathon, team members similarly scope out problems that inspire their technical solutions. Our problem? We couldn't find a problem! Introducing Sitegeist, our technical solution for giving you more problems! We wanted a way to easily analyze trending topics and issues faced by those around us. Sitegeist uses machine learning to predict the sentiment held behind every sentence (literally, every sentence) within a subreddit, giving you trending keywords, their associated sentiments, as well as example posts that give direct examples of those dealing with such topics and issues. Finally, we utilize the power of ChatGPT to additionally provide the user with ideas towards a solution to solve or expand the trending topics. Some things we learned during the project is the bottleneck produced by needing a backend server to properly continue development on the frontside. We dealt with this by designing our database schema and API designs early on in order for us to be able to work with consistent formats within the dummy data used for fundamental testing. Working in parallel with others provides many advantages, however, overlapping efforts was a particularly difficult challenge for us. Oftentimes working within the same file, most merges resulted in conflicts that needed to be dealt with. However, we learned to strategize the timings of our efforts by making sure the efforts of an individual are towards a different enough piece of the project than the rest of the members.

## README (from the GitHub repository)

# Sitegeist: Harnessing the Power of Sentiment Analysis and NLP for Problem-Solving

![Sitegeist_demo](https://github.com/masaishi/Sitegeist/assets/1396267/c1d55aa5-dd7c-4090-a173-0ca8c157e423)

Sitegeist is an innovative platform that transforms the vast sea of conversations on Reddit into actionable insights. At its core, Sitegeist leverages advanced sentiment analysis and Natural Language Processing (NLP) methods to dissect and understand the wants and needs of online communities. Here's how it works:

### System Architecture

<img width="1200" alt="Screenshot 2024-01-21 at 3 04 43 AM" src="https://github.com/masaishi/Sitegeist/assets/1396267/554d0562-79e1-4047-928b-4c812afaac80">

- [**Frontend**](https://github.com/masaishi/web_CruzHacks2024): [*React*](https://react.dev/) - Easily explore and analyze trending topics, where users interact with the data and insights extracted from Reddit discussions.

- [**Backend Services**](https://github.com/masaishi/api_CruzHacks2024): [*FastAPI*](https://fastapi.tiangolo.com/) - Delve into the backend, the powerhouse of Sitegeist, where all the data extraction, sentiment analysis, and NLP processing takes place.

- [**NLP Pipeline**](https://github.com/masaishi/nlp_CruzHacks2024): [*NLTK*](https://www.nltk.org/) & [*scikit-learn*](https://scikit-learn.org/stable/) & [*transformers*](https://huggingface.co/docs/transformers/index) - Learn about the NLP pipeline that powers Sitegeist, from sentiment analysis to word frequency analysis.


### Key Features

1. **Reddit Sentences Extraction**: Sitegeist dives into the depths of a subreddit, extracting topics from various discussions.

2. **NLP-Driven Analysis**: Each extracted sentence is analyzed using a machine learning model that is adept at discerning the underlying emotions in the text, categorizing them into positive, negative, and other sentiment types. The goal is to identify prevalent problems and topics that exist in an online community's zeitgeist.

3. **Interactive Website**: The heart of Sitegeist is giving its user an interface to quickly understand the sentiments of certain topics within a community. Here, users can delve into Sitegeist's findings with immediately clear visuals and example posts associated to key topics.

4. **Integration with ChatGPT**: When Seitgeist identifies an issue or a topic of interest, ChatGPT steps in to suggest potential solutions. This feature aims to inspire innovative thinking towards making the world a better place.

### Conclusion

Sitegeist stands as a bridge between the vast, often overwhelming world of online discourse and practical, real-world problem-solving. By analyzing the topics and moods of online conversations, Sitegeist opens the door to understanding collective concerns and addressing them analytically. Whether you're a researcher, a curious individual, or someone looking to make a difference, Sitegeist offers a unique lens through which to view and impact the world.


## Detected evidence (automated analysis)

Indexed codebase: 1 recognized source files, 3 KB.
- FastAPI (technology) — claimed on Devpost, not found in the code
- JavaScript (language) — claimed on Devpost, not found in the code
- Next.js (technology) — claimed on Devpost, not found in the code
- Python (language) — claimed on Devpost, not found in the code
- React (technology) — claimed on Devpost, not found in the code
- Vercel (technology) — claimed on Devpost, not found in the code

## Codebase structure (from repository index)

### Files (2 of 2)

```
.gitmodules
README.md
```

### Dependencies

No dependency index available.

### Recent commits (newest first)

- Update README.md
- Update README.md
- Update README.md
- Update README.md
- Update submodule
- Submodule update
- Update README.md
- Update README.md
- Merge branch 'main' of https://github.com/masaishi/Sitegeist
- Add nlp and reddit
- Update README.md
- Add description to README.md
- Add submodule of web
- Add submodule of api_CruzHacks2024
- first commit

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

No suitable source files found.