Skip to content

FrilLab/sisyphus-academy

Sisyphus Academy

Overview

Sisyphus Academy is a multi-platform knowledge input system designed to provide ubiquitous access to personal knowledge capture through web, mobile, and browser extensions.

The current 0.1 version focuses on a Word Expansion System, where raw user input is transformed into structured, enriched knowledge entries.

Instead of functioning as a traditional vocabulary application, the system is designed as an automated data enrichment pipeline for words.


Core Concept (v0.1)

When a user submits a word, the system automatically:

  • Stores the word
  • Generates definitions
  • Resolves or generates related images
  • Builds structured metadata
  • Persists enriched data into the database

This transforms simple user input into a structured knowledge entity.


System Architecture: Word Expansion Pipeline

High-Level Flow

User Input
   ↓
Word Intake API
   ↓
Normalization Layer
   ↓
Expansion Engine
   ├── Definition Generator
   ├── Image Resolver
   ├── Metadata Builder
   ↓
Persistence Layer (Database)
   ↓
Retrieval API
   ↓
Clients (Web / App / Extension)

1. Word Intake Layer

Responsibility

Handles raw input from clients and ensures consistent ingestion into the system.

Responsibilities

  • Accept word input from multiple platforms
  • Perform basic normalization (trim, lowercase, validation)
  • Prevent duplicate entries per user scope

2. Normalization Layer

Responsibility

Transforms raw input into a standardized internal representation.

Responsibilities

  • Normalize text format
  • Prepare word key structure
  • Ensure consistency for downstream processing

3. Expansion Engine (Core System)

This is the central component of the system.

3.1 Definition Generator

Generates semantic definitions for input words.

  • Can be powered by dictionary APIs or LLM-based services
  • Designed to support multiple definitions per word in future versions

Output:

word → list of definitions

3.2 Image Resolver

Associates or generates visual representations for words.

  • External image search APIs or AI-based generation (future)
  • Provides contextual visual enrichment

Output:

word → image_url

3.3 Metadata Builder

Constructs a structured knowledge entity from enriched data.

Includes:

  • word
  • definitions
  • image reference
  • timestamps
  • tags (future extension)

4. Persistence Layer

Data Model

Each word is stored as a structured entity:

Word Entity:
- id
- user_id
- word
- definitions
- image_url
- tags
- created_at

Characteristics

  • User-isolated data model
  • Schema designed for future knowledge graph expansion
  • Optimized for retrieval and enrichment workflows

5. Retrieval Layer

Responsibilities

Provides access to enriched word data.

  • Word list retrieval
  • Single word lookup
  • Filtering support (future)
  • Learning-oriented query extensions (planned)

Multi-Platform Architecture

The system is designed to support multiple input sources:

  • Web application
  • Mobile application (planned)
  • Browser extension (primary input interface)

All platforms share a unified backend processing pipeline.


Current Status (v0.1)

Completed

  • Word-centric data model design
  • Expansion pipeline architecture definition
  • Backend system structure setup

In Progress

  • Expansion Engine implementation
  • External API integration (definition/image)
  • Persistence optimization

Roadmap

v0.1 — Word Expansion System (Current)

  • Word ingestion
  • Automated definition generation
  • Image resolution
  • Structured storage

v0.2 — Learning Enhancement Layer

  • Example sentence generation
  • Multi-definition support
  • Spaced repetition system
  • Difficulty estimation

v0.3 — Personalization Layer

  • Personalized word recommendations
  • Learning pattern analysis
  • Adaptive review scheduling

v1.0 — Knowledge System

  • Expansion from words to concepts
  • Connection between words and notes
  • Knowledge graph structure
  • Cross-domain semantic linking

Design Philosophy

The system is built on the principle that:

Input should be immediately transformed into structured and enriched knowledge.

The goal is not simple storage, but automatic transformation of raw input into usable knowledge structures.


Technology Stack

  • Java 21
  • Spring Boot 3.4+
  • Spring Security (OAuth2 + JWT)
  • PostgreSQL
  • Redis
  • Gradle
  • H2 (testing)

Key Characteristics

  • Multi-platform input support
  • Automated data enrichment pipeline
  • Extensible knowledge schema
  • Separation of concerns across pipeline stages
  • Designed for future AI integration

Project Definition

Sisyphus Academy v0.1 is defined as:

A system that transforms raw word input into structured, enriched knowledge entities through an automated expansion pipeline.


Execution

./gradlew clean build
./gradlew test
./gradlew bootRun

License

Apache License 2.0

About

Sisyphus Academy is a self-hosted vocabulary learning platform built with Spring Boot, React, PostgreSQL, Redis, and Docker.

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors