---
title: Philosophy
url: 'https://www.twelvetone.tv/docs/operating-systems/medusa/philosophy'
markdown: 'https://www.twelvetone.tv/docs/operating-systems/medusa/philosophy.md'
date: '2026-09-25'
description: 'This section describes the philosophies, ideologies, values, and ethics that govern the Medusa ecosystem.'
taxonomy:
  category:
    - docs
  devtype:
    - private
---

[](#)  [ Home ](https://www.twelvetone.tv/docs/)     [ Operating Systems ](https://www.twelvetone.tv/docs/operating-systems)     [ Medusa ](https://www.twelvetone.tv/docs/operating-systems/medusa)      Philosophy    

# Philosophy

This section describes the philosophies, ideologies, values, and ethics that govern the Medusa ecosystem.

#### Table of Contents

- [Organization](#organization)
    - [Main Branches](#main-branches)
- [Pillars](#pillars)
- [Conventions](#conventions)
    - [Tense](#tense)
    - [Commit Messages](#commit-messages)
    - [Code Formatting](#code-formatting)
    - [Folder Structure](#folder-structure)
    - [Date Ranges](#date-ranges)
- [UI Optimizations](#ui-optimizations)
- [Design Patterns](#design-patterns)
    - [Principles](#principles)
        - [SOLID](#solid)
            - [Single Responsibility Principle](#single-responsibility-pri)
            - [Open/Closed Principle](#open-closed-principle)
        - [KISS](#kiss)
        - [Document Driven Design](#document-driven-design)
        - [Test Driven Design](#test-driven-design)
    - [Decoupling / Dependencies](#decoupling-dependencies)
        - [Server and Client](#server-and-client)
            - [Server](#server)
            - [Client](#client)
            - [Both](#both)
    - [Code Organization](#code-organization)
- [Culture](#culture)
    - [Human Resources](#human-resources)
        - [Willing and Able](#willing-and-able)
        - [Problem Solvers](#problem-solvers)
        - [Initiative Takers](#initiative-takers)
        - [Drip-Drop Effect](#drip-drop-effect)
- [Technology](#technology)
    - [Selecting The Best Language](#selecting-the-best-langua)
        - [Terse](#terse)
        - [Readable](#readable)
        - [Maintainable](#maintainable)
        - [Isomorphic](#isomorphic)
        - [Well Known](#well-known)
    - [Selected Technologies](#selected-technologies)
- [Architecture](#architecture)
- [State](#state)
    - [Main State](#main-state)
        - [Application](#application)
        - [Document](#document)
        - [Transient](#transient)
    - [Plugins](#plugins)
    - [Application Frameworks](#application-frameworks)
        - [Authentication](#authentication)
        - [Social](#social)
            - [Reputation](#reputation)
            - [Badges](#badges)
            - [Permissions](#permissions)
            - [Circles](#circles)

# Organization

## Main Branches

All Medusa ideas are documented in 3 main branches, Philosophy, API, and Implementation.

# Pillars

# Conventions

## Tense

## Commit Messages

## Code Formatting

## Folder Structure

## Date Ranges

Displayed Date ranges should be inclusive of the start and exclusive of the day after the end date.

| Date | Description |
|---|---|
| 2020/10/20 - 2020/10/20 | 1 day |
| 2020/10/20 - 2020/10/21 | 2 days |
| 2020/10/1 - 2020/10/31 | 1 month |
| 2020/10/1 - 2020/11/1 | 1 month + 1 day |
| 2020/10/1 - 2020/9/30 | 1 year |
| 2020/10/1 - 2021/10/1 | 1 year + 1 day |

# UI Optimizations

All decisions should come down to the following priorities:

- Minimize Scrolling
- Minimize Clicks
- Use images, color, and shapes as identifiers instead of text when possible.

# Design Patterns

## Principles

### SOLID

#### Single Responsibility Principle

#### Open/Closed Principle

### KISS

### Document Driven Design

### Test Driven Design

## Decoupling / Dependencies

### Server and Client

Code for certain functionality must be tailored for the server, the client, or both.

#### Server

- Database
- Database Caching
- Protected Code 
    #### Client
- UI Frontend
- Client Caching 
    #### Both
- Data Objects
- Validation 
    ## Code Organization

# Culture

## Human Resources

### Willing and Able

### Problem Solvers

### Initiative Takers

### Drip-Drop Effect

# Technology

## Selecting The Best Language

Languages evolve and newer languages emerge that incorporate the *best practices* of their predecessors.

### Terse

The fewer characters to type and read the better, unless the code is less *readable*.

### Readable

The code should be easily understood when visiting it.

### Maintainable

The language should allow repairing, reviewing, refactoring, reusing, and extending.

### Isomorphic

The language should be portable to multiple platforms (native, java, javascript, etc).

### Well Known

The pool of developers that understand the language should be large.

## Selected Technologies

| Selected | Over |
|---|---|
| Kotlin | Java |
| GWT |
| Vue | React, Polymer |
| JQuery |

# Architecture

The architecture of a system should mirror the architecture of a computer.

- Process / Logic
- Store
- Input
- Output
- Bus
- Cache

# State

A single source of truth is a great thing. But that truth needs to be organized

## Main State

### Application

### Document

### Transient

## Plugins

- Registration
- Processing

## Application Frameworks

### Authentication

A login dialog with 'forgot password' and 'forgot username' functionality.

### Social

How entities (individulals and businesses) interact and present themselves

#### Reputation

#### Badges

#### Permissions

#### Circles

 [ ](https://www.twelvetone.tv/docs/operating-systems/medusa/why-use-medusa) [](https://www.twelvetone.tv/docs/operating-systems/medusa/specification)

---

## Navigation

- Parent: [Medusa](https://www.twelvetone.tv/docs/operating-systems/medusa.md)
- Previous: [Why Use Medusa](https://www.twelvetone.tv/docs/operating-systems/medusa/why-use-medusa.md)
- Next: [Specification](https://www.twelvetone.tv/docs/operating-systems/medusa/specification.md)
