Villains Studio
Education
Web application
Modern, user-friendly design for optimal learning
Tailored to your learning pace
Visual analytics of your growth
Get personalized vocabulary recommendations based on your learning history
Traditional language learning methods often discourage users due to monotony and lack of personalization. Existing flashcard applications offer limited functionality for adapting to individual learning styles and needs. Many also lack effective progress tracking and study planning mechanisms.
Balancing functionality with simplicity for an intuitive interface that enables easy flashcard creation and study without overwhelming users.
Designing a flexible schema for catalogs, drawers, and cards that maintains relationships while allowing efficient data retrieval.
Implementing a Leitner box system to organize flashcards, allowing users to focus on challenging content.
Securing API integration for ChatGPT conversations, generating personalized vocabulary suggestions based on user interests.
Optimizing load times for flashcard catalogs and implementing efficient caching strategies, especially for users with large vocabulary collections.
Designing streak systems, notifications, and rewards that encourage daily practice.
Planning Azure architecture that scales with user growth while maintaining cost efficiency during the initial launch phase.
Ensuring a consistent experience across devices while optimizing UI for different screen sizes and supporting offline study capabilities.
The language learning application was built using a modern architecture leveraging Blitz.js for frontend and backend integration. The solution implements a PostgreSQL database optimized for storing flashcard data and user learning patterns, deployed on Microsoft Azure for reliability and scalability.
The application is based on the Leitner System, a proven flashcard methodology where cards are sorted into different boxes or drawers according to user knowledge level. The design allows users to select which drawer to study, enabling focus on specific difficulty levels while recording detailed session statistics.
The implementation features a responsive design that works across desktop and mobile devices, with offline functionality for uninterrupted learning.
The solution incorporates a multi-tier user system:
The system includes simple animations during flashcard review and upon reaching learning goals. Users can customize their profiles, add images and descriptions to resources, and modify colors assigned to study plans. The platform also provides a management panel for moderators and administrators to oversee users and resources.
Created detailed wireframes, user flows, and interactive prototypes defining the learning experience and establishing consistent design language.
Created a comprehensive PostgreSQL data model for flashcards, user learning patterns, spaced repetition algorithms, and analytics tracking.
Developed the flashcard creation, editing, and organization features with custom sets functionality and a basic spaced repetition algorithm.
Created a personalized user interface with progress tracking, learning statistics, an achievement system, and study schedule management.
Implemented client-side API key encryption. Developed proxy endpoints for credential protection. Designed context-aware prompts for personalized vocabulary suggestions.
Implemented vocabulary suggestions for users with AI API key. Generated suggestions based on previously practiced words to ensure language richness and vocabulary development.
Developed administrative dashboard for user management, content moderation, and resource allocation.
Configured and deployed application to Azure cloud environment with database services, storage solutions, security policies, and scalable architecture.
The application successfully delivers a comprehensive language learning platform built with modern web technologies.
Key outcomes include:
The project effectively integrates TypeScript, React, and Next.js within the Blitz.js framework, showcasing educational value.