# Minimalist & Reusable Building Blocks

## Overview *(What to aim for)*

We cannot predict the future or anticipate every scenario to build a full stack, end-to-end digital solution such as a website, portal, or app that fully meets the needs of a diverse and dynamic population. Unfortunately, a full-solution approach assumes just one solution will fit everyone or just one entity/institution can build for all.

Instead, this principle requires technology architects to **unbundle** problems and solutions into **core, modular, minimalist, and reusable** building blocks with open protocols and specifications to connect them. These building blocks should create **high trust** and **low costs** for other public and private entities when re-used. The ecosystem can then combine these building blocks to create many solutions fit-for-purpose (akin to lego blocks). Minimalism and modularity also allow each building block to be extensible, to build or add on later as future technologies and capabilities evolve.

This ensures simplicity of the DPI, low cost/risk of building, ease of scalability and adoption, higher innovation around the DPI, evolvability to address future use cases, and avoids hard-coding and building of costly, monolithic full-stack solutions.

Maximalism creates complexity, high risk, and low innovation; cannot deal with future advancements; and, most importantly, drives exclusion.

## **Technical Tools&#x20;*****(How to achieve it)***&#x20;

* [ ] Design of minimalist components, protocols and specifications that do NOT form a complete solution, but perform one function well.
* [ ] This means DPI architects should not overspecify data fields, forms of data, modes of use, types of authentication, etc.

## **Societal Outcomes&#x20;*****(Why it matters)***

* [ ] Feasibility & Success of digital intervention
* [ ] Privacy
* [ ] Combinatorial innovation
* [ ] User-centric solutions
* [ ] Financial sustainability (lower cost of the DPI)
* [ ] Evolvability & Extensibility


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.cdpi.dev/the-dpi-wiki/dpi-tech-architecture-principles/minimalist-and-reusable-building-blocks.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
