# Semantic Types - Project History

Q: What are the goals of this project ?

A: Semantic Types is an experimental platform seeking to understand, and then - if possible - simplify some of the ways in which you describe, interact with, and organize your information in a digital system.

Escher - Relativity

Timeline

WhenWhat
2009The modelling starts: entities, types, relations and how such a system could build itself
2014–2018Several versions (v0.1–v0.7) built to test the ideas in real scenarios
2016Most of the foundations, in v0.5 and v0.6
2018v0.7: SemanticTypes.com
2020The project becomes serious: most of v0.7 rewritten
Sep–Oct 2021SFW (v0.8): expanded to cover most of what SFW builds on today
2026The first product: see the roadmap

Every version from 2009 to 2018, with dates and hours: the Semantic Types roadmap.

This project began in early 2009 when I realized I was spending too much time focusing on specific technologies and started to reflect on broader observations about programming and system building. I was trying to understand at the time why many projects tend to recreate tools already provided by operating systems or central management systems, such as user/role management, authentication, and feature-based authorization models. Document version management and similar tools were often reconstructed from scratch with varying levels of quality, while reporting, analytics, and business-specific management systems also saw repeated development across projects.

The core question driving this exploration was: How can non-technical components be decoupled from the technical implementation to foster better collaboration among different roles in a dynamic and evolving system?

In 2014, the focus shifted from filling notebooks with list of observations, ideas and diagrams to the first attempt to build an application to test the ideas that have accumulated, which eventually evolved into this project. Between 2014 and 2018, the code was rewritten multiple times, leading to the discovery of many dead ends but also a few aha moments, and with each version new insights into how the various parts of such complex systems interact.

This experimental process has highlighted the intricate challenges involved in designing and evolving real-world programming languages and systems.

Semantic Types (v0.7) - 2018–2020

SemanticTypes

The Semantic Types project is an experimental platform designed to simplify how information is described, organized, and interacted with in digital systems. Its goals include defining comprehensive semantic types for consistent categorization, establishing semantic relationships between types, and creating meaningful events to drive processes. The platform encourages sharing and collaboration, allowing users to build upon existing types, relationships, and events, while developers focus on implementing logic separate from semantics.

It touches on historical efforts in managing data and metadata, such as early markup languages and the evolution to the Semantic Web, which adds semantic layers on top of the existing web to better structure information. The project aims for a system where data and behavior are described declaratively, promoting real-time collaboration and adaptability in a dynamic digital environment.

What came next: