Inspiration

Fan communities are full of ideas that never become anything more than a sentence in someone's head: "What if this character did this?" or "What if this universe had a completely different storyline?"

I wanted to make that moment of imagination feel tangible.

FanVerse was inspired by the idea of turning a simple fan prompt into something that feels like the beginning of a comic — a cinematic scene with panels, dialogue, and a story that other fans can discover and interact with.

The goal wasn't just to build another AI text generator. I wanted to build a place where AI-assisted creation and fan community could exist together.

What it does

FanVerse lets users create short, cinematic fan-made scenes from their own ideas.

A user chooses a fictional universe and describes what they want to happen. The FanVerse Story Agent uses Gemini to transform that idea into a structured scene containing:

  • A cinematic title
  • A dramatic story continuation
  • Three comic-style panel descriptions
  • Character dialogue

Generated scenes can be kept private while they are being created or shared publicly with the FanVerse community.

Public scenes can be discovered through creator profiles and the discovery experience, where users can like and comment on scenes.

FanVerse uses ClickHouse to store and query scenes and engagement data. Before generating a new scene, the application checks for sufficiently similar existing scenes in the same universe, helping avoid unnecessary duplicate generation.

How I built it

FanVerse is built as a React application with a Node.js/Express backend.

The AI experience is built around Google's Gemini and Google Agent Development Kit (ADK). I created a FanVerse Story Agent whose job is to transform a fan's idea into a structured cinematic scene.

ClickHouse acts as the application's data layer for scenes, likes, comments, and discovery-related queries. I also integrated the official mcp-clickhouse MCP server at runtime, allowing the AI workflow to access ClickHouse through the Model Context Protocol.

The main creation flow is:

Fan idea ↓ FanVerse Story Agent ↓ Gemini ↓ ClickHouse through MCP ↓ Structured cinematic scene ↓ FanVerse community

The frontend was built with React and Vite, while Express handles the application API and database interactions.

I also designed the application around the distinction between private creation and public sharing, so users can experiment with ideas before deciding whether to publish them.

Challenges I ran into

One of the biggest challenges was integrating an MCP-based database workflow into an actual application rather than treating MCP as a separate demo.

I also had to deal with the difference between a local development environment and a production environment. My local MCP setup initially relied on a machine-specific uvx path, which obviously could not be used when deploying the backend. I changed the integration to use uvx from the deployment environment instead.

Another challenge was making the social interactions feel responsive. For example, likes use optimistic UI updates so the interface responds immediately while the database operation completes in the background.

I also had to think carefully about duplicate AI generation. Since multiple fans can have similar ideas, I added ClickHouse-based similarity checking so FanVerse can recognize sufficiently similar existing scenes before generating another one.

Finally, working with Google's evolving agent tooling meant dealing with SDK compatibility and deployment constraints while building under a tight hackathon deadline.

Accomplishments that I'm proud of

I'm proud that FanVerse turned the idea of an AI fan-fiction generator into a complete product experience rather than stopping at text generation.

The AI output is structured specifically for the interface, which means the generated content immediately becomes a cinematic scene rather than a block of text.

I'm also proud of the combination of creation and community features. A user can create privately, publish when ready, and then see their work become part of a larger fan-created collection.

On the technical side, integrating ClickHouse into both the application data layer and the MCP-based AI workflow was an important part of the project. It gave me experience designing an agent around real application data instead of treating the agent as an isolated chatbot.

What I learned

I learned that building an agentic application is very different from simply adding an LLM API to a website.

The most important question became: what should the agent actually do inside the product?

For FanVerse, the answer was not just "write a story." The agent sits inside a larger workflow involving user intent, existing content, structured generation, persistence, and community interaction.

I also learned how important data architecture becomes when AI-generated content starts accumulating. Retrieval, similarity checking, engagement data, and discovery all become part of the AI product experience.

Most importantly, I learned to think about AI as a product capability rather than the entire product. The agent is useful because it fits into FanVerse's creation and community experience.

What's next for FanVerse

The next version of FanVerse could make the generated scenes even more visual.

I would like to add AI-generated artwork for each comic panel, stronger semantic retrieval, personalized recommendations, character memory, and more advanced multi-agent story planning.

I also see potential for collaborative storytelling, where multiple fans can build on the same scene or universe together.

Long term, I want FanVerse to become a place where fans can do more than just watch and consume stories from the universes they love. I want them to actually be part of those worlds — creating things, sharing them, and connecting with other fans.

I have a lot of ideas for where FanVerse could go. Fans could buy and sell costumes from their favorite universes, post their cosplay and get appreciated or inspired by other fans, and even have a space where people can showcase their acting with the possibility of being noticed for future movie roles or other opportunities.

I’d also love to have things like cooking pages where fans can discuss and recreate recipes from movies and shows, as well as spaces for fans to celebrate anniversaries and special moments from the universes they love.

There are honestly a lot more ideas I’d like to explore. My goal is for FanVerse to eventually feel like a complete social platform for fandom — a place where being a fan isn't just about watching something, but about creating, participating, and sharing that passion with other people.

Built With

Share this project:

Updates

Submission history