Inspiration

League of Legends players live stories — triumphs, rivalries, and evolution across seasons — but their data rarely feels alive. RiftScribe was born to transform raw match stats into cinematic sagas using generative AI. The idea: What if every player had their legend narrated like a hero from Runeterra itself?

What It Does

RiftScribe connects to League of Legends match data, processes insights, and turns them into an AI-authored saga — complete with artwork and storytelling tone inspired by the player’s gameplay persona. Each saga features:

AI narrative chapters crafted from real stats

Dynamic fantasy art generated for each scene

Persona-driven storytelling (player chooses their archetype: strategist, duelist, mage, etc.)

API endpoint for developers to integrate storytelling into esports dashboards or fan pages

How We Built It

Frontend: Vite + React (for instant client rendering and story visualization)

Backend: AWS Lambda + API Gateway + Bedrock (for generative text and image AI)

Data Processing: Amplify + Node.js functions to fetch, clean, and summarize player data

AI Models: Claude for narrative logic, Titan Image/Stable Diffusion for fantasy illustrations

Hosting: AWS Amplify

Storage: S3 for saga and image persistence

Challenges We Faced

Debugging AWS Lambda’s missing credential chain and build artifact mismatch

JSON parsing of AI responses with variable structure

Maintaining CORS compliance across Bedrock endpoints

Balancing narrative creativity with gameplay accuracy

What We Learned

Serverless AI storytelling is viable at scale

Bedrock’s multimodal power simplifies orchestration across text + image models

UX needs “emotional hooks” — not just analytics — for player engagement

What’s Next

Personalized player dashboards with seasonal sagas

Integration with esports highlight reels (AI narrator mode)

NFT export of sagas as digital collectible scrolls

RiftScribe SDK for fan developers

Built With

  • aws-amplify
  • aws-bedrock
  • aws-lambda
  • claude-ai
  • node.js
  • reat+vite
  • s3
  • stable-diffusion
  • titan-image-gen
Share this project:

Updates