flowchart LR
%% --- COLOR DEFINITIONS (Synesis 2.0 Palette) ---
%% Primary: #084C54 (Deep Teal)
%% Accent: #00BFA5 (Mint/Cyan)
%% Background: #FFFFFF (Pure white for contrast)
%% --- NODE STYLES ---
%% Compiler: Double circle, Strong border, White background
classDef compiler fill:#fff,stroke:#084C54,stroke-width:4px,color:#084C54,font-weight:bold;
%% High Value: Mint border, Light cyan background, Teal text
classDef highValue fill:#E0F7FA,stroke:#00BFA5,stroke-width:2px,color:#084C54;
%% Default Nodes (Inputs/Outputs): Light gray background, Soft border
classDef defaultNode fill:#F8FAFC,stroke:#4A5568,stroke-width:1px,color:#084C84;
%% --- DIAGRAM STRUCTURE ---
subgraph Input ["Work Environment"]
direction TB
E["Ontology (.syno)"]:::defaultNode
D["Template (.synt)"]:::defaultNode
A["Bibliographic Sources (.bib)"]:::defaultNode
B["Interpretive Annotations (.syn)"]:::defaultNode
end
%% The Central Engine
C((("Synesis Compiler\nValidation & Logic"))):::compiler
subgraph Output ["Exchange Formats"]
direction TB
F["Structured JSON"]:::defaultNode
G["CSV/Excel Tables"]:::defaultNode
H["REFI-QDA/Others"]:::defaultNode
end
subgraph Ecosystem ["Application Ecosystem"]
direction TB
I["Graph Databases\nNeo4j, Memgraph"]:::highValue
J["Traceable AI Agents\nvia MCP"]:::highValue
K["Data Science & Dashboards\nR, Jupyter Labs"]:::highValue
end
%% --- FORCE SUBGROUP STYLE (Main Fix) ---
%% Use 'style' directly by subgraph ID to ensure transparency
style Input fill:transparent,stroke:#4A5568,stroke-width:1px,stroke-dasharray: 5 5,color:#084C54
style Output fill:transparent,stroke:#4A5568,stroke-width:1px,stroke-dasharray: 5 5,color:#084C54
style Ecosystem fill:transparent,stroke:#4A5568,stroke-width:1px,stroke-dasharray: 5 5,color:#084C54
%% --- CONNECTIONS ---
E --> C
D --> C
A --> C
B --> C
C == "Compilation" ==> F
C --> G
C -.-> H
F == "Complex Structure" ==> I
F == "Grounded Context" ==> J
F -. "Quantitative Analysis" .-> K
G -. "Quantitative Analysis" .-> K
%% Line Style
linkStyle default stroke:#64748B,stroke-width:1px;
Synesis
The confluence of information into intelligence.
1 Welcome to Synesis
Human knowledge is inherently intricate, full of nuances and deep connections. This is complexity — and it is valuable. Complication arises only when we lack adequate methods for organizing knowledge.
Synesis is a declarative domain-specific language (DSL) created for those who need more than simple notes. It is a method of knowledge consolidation.
Unlike traditional tools, Synesis acts as a compiler for your analytical thinking: it receives your interpretations and annotations in plain text files, validates logical consistency between them, and transforms them into canonical and rigorous knowledge structures.
Often, it is believed that technical rigor stifles creativity. Synesis proves the opposite: discipline is the true form of freedom. By delegating logical organization to a canonical structure, your mind is free for what truly matters: interpretation, nuance, and insight.
1.1 What do you need today?
1.1.1 Learn Synesis
New here? Start with our hands-on tutorials that guide you step by step.
- Guide for Researchers — Introduction to qualitative research
- Synesis Explorer Tutorial — Set up your VSCode environment
1.1.2 Solve a specific problem
Know what you want to do? See our practical guides for common tasks.
- Guide for Professionals — Apply Synesis in organizational contexts
- Export to Neo4j — Create knowledge graphs
1.1.3 Consult technical specifications
Need technical details? Access the complete language and API reference.
- Language Reference — Complete Synesis v1.1 syntax
- Synesis API — Python integration (
synesis.load())
1.1.4 Understand concepts
Want to understand the “why”? Read our explanations about philosophy and architecture.
- Why Structured Annotations Matter — Reflection on rigor and freedom
- Why not Excel? — When Synesis makes sense (and when it doesn’t)
- Knowledge Graphs & GraphRAG — Why graphs transform qualitative research
- Roadmap & Ideas — Future of the language
1.2 How it works
Synesis structure is modular and entirely based on plain text, offering a distraction-free environment, total portability, and maximum efficiency.
The entire process is orchestrated by a project file (.synp), which connects its components:
- Bibliographic References (
.bib): Your original sources. - Interpretive Annotations (
.syn): Your insights, standardized by templates (.synt). - Ontologies (
.syno): The major differentiator — files that formally define your analysis categories and logical interrelations.
1.2.1 The Compilation Flow
When compiling these files, Synesis validates concept consistency and generates universal outputs.
1.2.2 The Power of Integration
The result of Synesis compilation goes far beyond static documents. The compiler transforms your definitions into universal exchange formats (JSON, Excel, CSV), making your knowledge integrable with any tech stack:
Graph Databases: Natively feed Neo4j or Memgraph to visualize the complex topology of your concepts.
Data Science: Provide structured datasets for rigorous statistical analyses in R or visualizations in Jupyter Labs.
AI Ready: Through the MCP (Model Context Protocol), connect your data to assistants like Claude Desktop, enabling natural language interactions with 100% traceable responses based on your “source of truth”.
1.3 The Origin of the Name
From the Greek σύνεσις (sýnesis):
Etymology: σῠνῑ́ημῐ (sŭnī́ēmĭ, “to bring together”, “to make converge”) + suffix -σῐς (-sĭs).
Meanings: 1. Confluence; union; convergence. 2. Understanding; intelligence. 3. Consciousness.
The result is true sýnesis: the convergence of information fragments into an intelligible, auditable, and technically structured whole.