diff --git a/docs/architecture.rst b/docs/architecture.rst
new file mode 100644
index 0000000..8e56276
--- /dev/null
+++ b/docs/architecture.rst
@@ -0,0 +1,86 @@
+.. _architecture:
+
+Architecture
+============
+
+
+Python modules
+--------------
+
+.. _py-deps-swh:
+.. figure:: images/py-deps-swh.svg
+ :width: 1024px
+ :align: center
+
+ Dependencies among top-level Python modules (click to zoom).
+
+Here is brief overview of the most relevant Python modules in the Software
+Heritage Python stack (each module name is linked to its API documentation).
+
+:mod:`swh.archiver`
+ orchestrator in charge of guaranteeing that object storage content is
+ pristine and available in a sufficient amount of copies
+
+:mod:`swh.core`
+ low-level utilities and helpers used by almost all other modules in the
+ stack
+
+:mod:`swh.docs`
+ developer documentation (used to generate the docs you are reading)
+
+:mod:`swh.indexer`
+ tools and workers used to crawl the content of the archive and extract
+ derived information from any artifact stored in it
+
+:mod:`swh.journal`
+ persistent logger of changes to the archive, with publish-subscribe
+ support
+
+:mod:`swh.lister`
+ collection of listers for all sorts of source code hosting and
+ distribution places (forges, distributions, package managers, etc.)
+
+:mod:`swh.loader.core`
+ low-level loading utilities and helpers used by all other loaders
+
+:mod:`swh.loader.debian`
+ loader for `Debian `_ source packages
+
+:mod:`swh.loader.dir`
+ loader for source directories (e.g., expanded tarballs)
+
+:mod:`swh.loader.git`
+ loader for `Git `_ repositories
+
+:mod:`swh.loader.mercurial`
+ loader for `Mercurial `_ repositories
+
+:mod:`swh.loader.svn`
+ loader for `Subversion `_ repositories
+
+:mod:`swh.loader.tar`
+ loader for source tarballs
+
+:mod:`swh.model`
+ implementation of the :ref:`data-model` to archive source code artifacts
+
+:mod:`swh.objstorage`
+ content-addressable object storage
+
+:mod:`swh.scheduler`
+ task manager for asynchronous/delayed tasks, used for recurrent (e.g.,
+ listing a forge, loading new stuff from a Git repository) and one-off
+ activities (e.g., loading a specific version of a source package)
+
+:mod:`swh.storage`
+ abstraction layer over the archive, allowing to access all stored source
+ code artifacts as well as their metadata
+
+:mod:`swh.vault`
+ implementation of the vault service, allowing to retrieve parts of the
+ archive as self-contained bundles (e.g., individual releases, entire
+ repository snapshots, etc.)
+
+:mod:`swh.web`
+ Web client to browse the archive, for both interactive (HTML UI) and
+ mechanized (REST API) use
diff --git a/docs/index.rst b/docs/index.rst
index 8b64117..c0f4694 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -1,15 +1,20 @@
Software Heritage - Development Documentation
=============================================
.. toctree::
:maxdepth: 2
:caption: Contents:
+Overview
+--------
+
+* :ref:`architecture`
+
Indices and tables
==================
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`