Inspiration

For this hackathon, I was inspired to create a project that addresses a unique gap in the resources available to individuals in the rare disease community. Through market research, I came across an insightful article (PMC9364167) that evaluated existing apps targeting rare diseases. The paper detailed both the strengths and growth areas of these applications. To deepen my understanding, I downloaded and tested several of the apps mentioned.

From both the research and my own experience, I found that many of these apps focused on only one specific type of rare disease, failed to keep content and resources up-to-date, and often had cluttered, hard-to-navigate user interfaces. Recognizing these key shortcomings, I decided to build a web application called "RareReview," aimed at addressing these pain points by offering a platform with up-to-date, multi-disease resources, and a clean, intuitive UI.

What it does

RareReview is an application that offers users easy access to the latest news and research on rare diseases, helping patients find resources and make more informed decisions about their treatment and lifestyle. The app consolidates articles from reputable sources into a single page, making it easier for users to access information that would otherwise be scattered across multiple platforms.

Each article is tagged with relevant AI-generated keywords and includes the title, a brief summary (if applicable), and a "Read More" button that directs users to the full article. To enhance usability, the app offers search functionality to find specific keywords or phrases, along with a dropdown menu that allows users to filter articles by different rare diseases.

How I built it

I started by building the backend, using MongoDB Compass to create a database for storing rare disease articles. I then wrote JavaScript to query, sort, and filter news articles from the News API (https://newsapi.org/) and research articles from the CrossRef API (https://api.staging.crossref.org/swagger-ui/index.html). To enhance the articles, I used the Google Gemini API to generate tags for both types of articles and summaries for the news articles. Relevant data, including the title, source, author, published date, URL, tags, and summaries, was then pushed to the database.

Next, I set up Express.js and Node.js endpoints to retrieve articles from the database.

Once the backend was complete, I moved on to the frontend. I used React and Tailwind CSS to create and customize components such as result "cards," the search bar, and the dropdown menu. I integrated the backend by using the endpoints to pull article data from the database and display it on the homepage. Finally, I implemented filtering logic to allow users to refine results by selected dropdown values or search keywords.

Challenges I ran into

One of the most challenging aspects of the project was retrieving articles from two separate APIs and processing the data to make it relevant for the specific use case. I had to adjust the logic to account for the different usage limits of each API, which added complexity. Additionally, filtering through the large number of fields returned by the APIs to select only the necessary ones for the project proved to be a meticulous task.

Another challenge was overcoming the learning curves of integrating Google Gemini and Tailwind CSS, as this was my first time incorporating these technologies into a full-stack project.

Accomplishments that I'm proud of

This project marked my first successful integration of AI capabilities into a full-stack application. The ability to dynamically generate summaries and tags based on the title and content of articles is a unique feature that sets this application apart from others I’ve built in the past. Additionally, by incorporating Tailwind CSS, I was able to create a visually appealing, fully responsive UI that is cleaner, more intuitive, and more user-friendly than previous UIs I have designed.

Finally, I am proud to have created an application that has the potential to positively impact the lives of others. I have always wanted to become more involved in technology for social good, and implementing an end-to-end healthcare application with advanced capabilities brings me a step closer to that goal.

What I learned

This project has been an invaluable learning experience for me. When working with APIs, I have learned how to quickly read documentation to identify the most relevant endpoints for retrieving the data I need. I have also become more efficient at leveraging online resources such as websites and tutorials to integrate new technologies into my project. Lastly, I’ve learned the importance of prioritizing and focusing on the most crucial features to ensure I have a functional deliverable ready by the hackathon deadline.

What's next for RareReview

Based on my market research, one potential growth area for rare disease applications is fostering a sense of community among users. With that in mind, I would love to add features that connect members of the rare disease community more closely. For example, I plan to implement user profiles, friend connections, chat capabilities, and the ability to share news or research articles with friends. Additionally, I aim to introduce a feature that allows users to save specific articles for easy reference later.

Built With

Share this project:

Updates