Skip to content

Foundational Design Decisions for a Modern Data Platform

Creating a data platform is usually a large and complex project. However, by carefully selecting proven building blocks, it’s possible to deliver high-quality results from day one while keeping the overall effort manageable.

In our approach, we defined a few guiding principles for choosing the right components.

  1. Only permissive licenses — All components must use open, business-friendly licenses such as PostgreSQL License, MIT, or Apache 2.0.
  2. Local and serverless compatibility — Every part of the stack must be usable both locally for development and as a serverless service in the cloud.
  3. Multiple serverless options — For each serverless component, there should be at least two alternative providers available.

At the heart of the platform is the PostgreSQL database, paired with the PostgREST API server.

  • PostgreSQL — a powerful, open-source relational database system
  • PostgREST — an automatic REST API for any PostgreSQL database

These two components form a robust, standards-based foundation for data storage and access.

For serverless hosting, two excellent choices are:

  • Supabase — a fully managed PostgreSQL platform that also offers a self-hosted option.
  • Neon — a modern, scalable PostgreSQL service with branching and serverless architecture.

Alternatively, PostgreSQL and PostgREST can be self-hosted directly, giving full control over the infrastructure.

Wherever possible, application logic is implemented directly in PL/pgSQL, the PostgreSQL procedural language. This approach keeps business logic close to the data, improving performance and consistency.

For more advanced or integration-heavy use cases, this logic layer is not complete without event handling capabilities. Events are essential for preventing the platform from becoming a silo. They enable external systems to push information in through webhooks, allow internal modules to coordinate without tight coupling, and let downstream systems consume changes naturally. Without event handling, the platform becomes trapped behind APIs and batch processes, disconnected from the actual flow of business activity across the organization.