Inspiration
While working with content writers and editors, I noticed they often go on social forums such as Reddit to search for similar posts, comments, and replies within the topic area of what they’re writing to gain insights and measure their impact. They also do this for analyzing trends and keywords for SEO purposes.
Problem Statement
The process of manually visiting tens to hundreds of Reddit posts is very time-consuming, and it's almost impossible to review large amounts of content or posts from a long time ago. After manually going through this content, you also need to write and adjust your stories manually, which takes another toll on the writer.
What it does
This project leverages the power of LLMs to extract relevant data within your topic area from social forums such as Reddit and provides suggestions on how to improve your writing, highlights key points that have been omitted, or inaccuracies detected.
For now, we have used Reddit as the starting data source for the LLM within the application. However, we plan to add support for other social forums such as Twitter, LinkedIn, and Wikipedia. Also, this project does not store user details, API keys, or tokens. All input is stored within a local state object, which is cleared out on page refresh.
How we built it
We used a Next.js application with an interface enabling users to provide their StoryBlok Management API key and an OpenAI key. The Next.js application connects to the Storyblok Management API to pull stories from a space. Each story is processed by an OpenAI LLM (GPT-4.1) within Next.js route handlers, and that in turn uses function calling to fetch data related to the topic. After providing feedback, users click a button to create a discussion within their StoryBlok story and add the feedback as a comment.
These are the following steps within our user flow;
- Save StoryBlok and OpenAI credentials in local state
- Read a StoryBlok story via the Management API
- Extract plain text from the story (including rich text), suggest subreddits to pull content from.
- Generate feedback by executing the LLM function call to get related replies, comments, or posts from Reddit. Review the StoryBlok story with the crawled data in the LLM context window.
- Provide feedback to users on possible impact, ways to adapt the content to meet needs, or answer questions from the crawled data.
- Create a discussion and comment within the story via the Management API
Challenges we ran into
Lack of access to StoryBlok tool or space plugins on non-partner accounts: I wanted to build this project as a space or tool plugin, but these are not available on non-partner accounts. After this hackathon, I plan to get more feedback from people on this tool and possibly migrate it to work as a space or tool plugin within StoryBlok.
Caching crawled data with StoryBlok assets store: To speed up the LLM function call, I tried implementing a simplified cache storing the crawled data from past LLM invocations as a JSON file within the user's Storyblok assets store, but this was not efficient, as the assets store is not a caching tool.
Accomplishments that we're proud of
Completing the main user journey from storing user tokens in local state to pulling stories from the space and analyzing them, to creating a discussion and comment with feedback.
Designing the LLM prompt that could efficiently extract all text from a Storyblok story, regardless of whether it is rich text content or JSON embedding.
What's next for StoryBlok Reddit Content Feedback
During my conversations with the Storyblok mentors and ambassadors, I drafted the following action points to be implemented in improving this tool;
- User Alignment Input: allowing users to specify their broad alignment/beliefs on topic areas. ( Implement this at the space level so it applies across all stories in Storyblok. )
- Support for other social forums other than Reddit
- Highlight negative or conflicting viewpoints and do not override them. Provide caution/feedback to editors where arguments need stronger reasoning.
- Brand Context & Keywords. Enable users to specify brand-related keywords (company name, products, services).
- Support triggering this tool automatically within editorial workflows.
In the short-term development stretch, the following will be implemented;
- Implement user authentication.
- Support persistence of application credentials based on user preference.
- Introduce sufficient E2E and Unit tests to the codebase.
Built With
- claude
- next.js
- openai
- react
- storyblok
- tailwindcss


Log in or sign up for Devpost to join the conversation.