Project case study

EduCards

A language learning application based on the flashcard method integrated with Chat GPT-4

Overview

EduCards is a comprehensive language learning platform that uses the proven flashcard methodology with a modern twist. The app combines spaced repetition algorithms with interactive design to create an engaging learning experience. Users can create custom sets for any language, track progress with detailed analytics, and optimize their study time with intelligently scheduled reviews. The platform adapts to individual learning patterns, focusing more on difficult words while reinforcing previously learned content optimally. The app allows users to track their statistics, learn through quizzes, and practice conversation with an AI assistant. Registered users receive personalized vocabulary suggestions based on their learning history.
Client

Client

Villains Studio

Industry

Industry

Education

Type

Type

Web application

Technologies:

TypeScriptReactBlitz.jsNext.jsAzureFramer MotionPostgreSQLMantine

Intuitive Interface

Modern, user-friendly design for optimal learning

Smart Cards

Tailored to your learning pace

Progress Tracking

Visual analytics of your growth

AI-Powered Suggestions

Get personalized vocabulary recommendations based on your learning history

Challenge

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.

Technical Challenges
  • Designing a scalable architecture using Blitz.js framework
  • Implementing an efficient PostgreSQL database
  • Deploying the solution on Azure cloud to ensure high availability and security
  • Applying advanced spaced repetition algorithms that automatically adjust flashcard frequency
  • Creating an intuitive user interface for both beginners and advanced learners
Project goals
  • Increase language learning efficiency through enhanced flashcard methods
  • Provide personalized learning through adaptation to individual preferences
  • Deliver comprehensive tools for progress tracking and analysis
  • Enable cross-device access through Azure cloud implementation
  • Facilitate community-based flashcard set sharing between users
01

UX Complexity

Balancing functionality with simplicity for an intuitive interface that enables easy flashcard creation and study without overwhelming users.

02

Data Structure

Designing a flexible schema for catalogs, drawers, and cards that maintains relationships while allowing efficient data retrieval.

03

Learning Algorithms

Implementing a Leitner box system to organize flashcards, allowing users to focus on challenging content.

04

GPT Integration

Securing API integration for ChatGPT conversations, generating personalized vocabulary suggestions based on user interests.

05

Performance

Optimizing load times for flashcard catalogs and implementing efficient caching strategies, especially for users with large vocabulary collections.

06

Habit Formation

Designing streak systems, notifications, and rewards that encourage daily practice.

07

Scalability

Planning Azure architecture that scales with user growth while maintaining cost efficiency during the initial launch phase.

08

Cross-Platform UX

Ensuring a consistent experience across devices while optimizing UI for different screen sizes and supporting offline study capabilities.

Early Concepts- Wireframes

The Solution

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:

  • Guests can access basic features, including study mode, quizzes, and single-session statistics
  • Registered users can track progress over time, create study plans, and share their catalogs with others
  • Premium users with API keys gain full access to ChatGPT-4 integration, including AI conversation and vocabulary suggestions

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.

Implementation Journey

Crafted solutions that turned complex challenges into user-friendly features through an iterative development process.
01

UI Design

Created detailed wireframes, user flows, and interactive prototypes defining the learning experience and establishing consistent design language.

02

Database Design

Created a comprehensive PostgreSQL data model for flashcards, user learning patterns, spaced repetition algorithms, and analytics tracking.

03

Flashcard System

Developed the flashcard creation, editing, and organization features with custom sets functionality and a basic spaced repetition algorithm.

04

User Profile

Created a personalized user interface with progress tracking, learning statistics, an achievement system, and study schedule management.

05

AI Integration

Implemented client-side API key encryption. Developed proxy endpoints for credential protection. Designed context-aware prompts for personalized vocabulary suggestions.

06

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.

07

Management Panel

Developed administrative dashboard for user management, content moderation, and resource allocation.

08

Azure Deploy

Configured and deployed application to Azure cloud environment with database services, storage solutions, security policies, and scalable architecture.

Outcomes

The application successfully delivers a comprehensive language learning platform built with modern web technologies.

Key outcomes include:

  • Fully functional flashcard system with Leitner spaced repetition algorithm
  • Intuitive, responsive interface with Framer Motion animations
  • Scalable PostgreSQL database optimized for multi-language vocabulary management
  • Blitz.js-powered user authentication with personalized learning statistics
  • AI-assisted conversation practice with contextual vocabulary suggestions
  • Secure Azure cloud deployment with proper scaling configurations

The project effectively integrates TypeScript, React, and Next.js within the Blitz.js framework, showcasing educational value.

Gallery