Own Quest

Interactive platform for creating and playing gamified storylines

React
TypeScript
NestJS
MySQL
AWS EC2
Vercel
Own Quest GitHub Repository

About the Project

Own Quest is an interactive platform that allows users to create and play gamified storylines. The platform combines elements of interactive fiction, role-playing games, and choose-your-own-adventure books to create engaging narrative experiences.

The project was developed between February 2023 and July 2023, with a focus on creating a user-friendly interface for both story creators and players. The platform enables users to craft branching narratives with multiple paths, decisions, and outcomes.

As described on the GitHub repository, "A Own Quest é uma plataforma de criação de histórias personalizadas jogáveis" (Own Quest is a platform for creating customized playable stories). This encapsulates the core mission of the project: to empower users to create interactive narratives that others can enjoy.

Key Features

  • Intuitive story creation interface with branching narrative tools
  • Player progress tracking and save functionality
  • Rich text editing for story content with support for images and formatting
  • Story discovery and recommendation system
  • User profiles and achievement tracking
  • Mobile-responsive design for playing stories on any device
  • Analytics for story creators to understand player choices and engagement

Technologies Used

React & TypeScript

Used for building a robust and type-safe frontend with reusable components and efficient state management.

NestJS

Implemented for the backend API, providing a structured and scalable server architecture with TypeScript support.

MySQL

Used as the primary database for storing user data, stories, and game progress with complex relational data.

AWS EC2

Deployed the backend services on Amazon EC2 for reliable and scalable server infrastructure.

Vercel

Hosted the frontend application on Vercel for fast global delivery and seamless deployment workflows.

Responsive Design

Implemented responsive design principles to ensure the platform works well on devices of all sizes, from mobile phones to desktop computers.

My Role

As the Project Director for Own Quest, I was responsible for:

  • Leading the overall project vision and development strategy
  • Architecting the application structure and technology stack
  • Developing the React frontend with TypeScript
  • Building the NestJS backend API and database schema
  • Setting up the deployment infrastructure on AWS EC2 and Vercel
  • Coordinating with team members and stakeholders
  • Ensuring code quality and performance optimization

Challenges & Solutions

The development of Own Quest presented several interesting challenges:

Complex Data Relationships

Representing branching narratives with multiple decision points required a sophisticated data model. We solved this by implementing a graph-based structure in MySQL with careful indexing for performance.

User Experience for Story Creation

Creating an intuitive interface for non-technical users to build complex narratives was challenging. We developed a visual editor with drag-and-drop functionality and real-time previews to simplify the process.

Performance Optimization

Ensuring smooth playback of stories with potentially hundreds of branches required careful optimization. We implemented lazy loading, caching strategies, and efficient state management to maintain performance.