Own Quest
Interactive platform for creating and playing gamified storylines

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.