Jonas
Kaad
Back to all projects

Phraser

View on GitHub
December 2024

A Context-Aware Language Assistant App

Phraser logo

Motivation

Learning a new language is hard, that is no secret. Tools like Duolingo and Babbel are great for learning vocabulary and words, but piecing them together into phrases is a different story.

This was my motivation behind the Phraser app, a practical and efficient tool to help me learn phrases in Korean during my study abroad.

But, like most people, I am also lazy and do not want to write all my own phrases. Therefore I created a context-aware assistant that suggests phrases based on the time of day & location. This way, the user can focus on learning the phrases that are most relevant to them at any given moment.

Description

Phraser is an app designed to help users by providing a user-friendly interface that allows for easy phrase entry, translation, and organization into categories, making it an invaluable resource for travelers, students, and anyone looking to enhance their language skills. This, combined with the context-aware assistant, makes it a powerful tool for language learners.

Features

  • Customizable Categories: Users can create and organize phrases into their own categories, each displayed as a navigable folder.
  • Phrase Translation: New phrases entered by the user are instantly translated into a target language.
  • Phonetic Support: Along with translations, phonetic representations are provided to assist with pronunciation.
  • Audio Playback: Translated phrases can be played aloud to help with pronunciation and language learning.
  • Context-Aware Suggestions: The app suggests phrases based on context (e.g., time of day or location), which users can add to their own categories.
  • User-Friendly Interface: The app features a clean and intuitive design, making it easy to navigate and use.
  • Offline Functionality: The app can function without an internet connection, allowing users to access their phrases anytime, anywhere.

Video Demo

Screenshots

Category View

Categories view

Adding a Category

Adding a category

Phrase Overview

Phrases overview

Creating a Phrase

Creating a phrase

Context-Aware Phrase

Context-aware phrases

Searching (English Translation)

Searching for English translation

Searching (Translated Language)

Searching in translated language

Searching (Transliteration)

Transliteration search

Selecting a New Language

Changing language kr

Selecting a New Language

Changing language zh

Chinese Phrasebook Categories

Categories in chinese

Phrase Translations in Chinese

Phrases in chinese

Context-Aware Phrases

Context-aware phrases side by side

Basic Architectural Overview

Basic architectural overview

Technologies

The project was developed using a combination of technologies to create a seamless and efficient user experience. The main technologies used include:

  • SwiftUI: Provides a responsive and adaptive UI for seamless interaction.
  • SwiftData: Manages persistent data storage for phrases and categories.
  • Azure Translation API: Handles real-time translation of user-entered phrases.
  • AVFoundation: Plays back translated phrases to support language learning.
  • CoreLocation: Tracks the user’s location to provide context-aware suggestions.
  • GPT-4o mini: Generates context-aware suggestions based on user input and location.
  • Express.js: Serves as the backend for the app, handling requests and responses.

More Projects

Technologies related to this project