SaaS & Digital Products
We turn an idea into a working product. SaaS architecture, multi-tenant infrastructure, subscriptions and billing, user management, measurement and the user experience are handled across the whole product, and every layer from idea to launch is designed and built by us.
What a SaaS Product Is Built From
We do not see a SaaS product as an interface and a set of core features alone. How the product works, how users are managed, how subscriptions progress and how the data is monitored are designed together.
-
Product Architecture and MVP Scope
Which features go into the first release and which are left to later stages is decided on the product goals and user needs. Settling the MVP scope in writing gives us the development order and the roadmap for the releases that follow.
-
Multi-Tenant Infrastructure
We build multi-tenant structures where a single installation of the product serves many customer accounts. Data isolation, which keeps every account to its own data, is handled in the application and the data layers together.
-
Subscriptions and Billing
Plans, packages, trial periods, renewals, upgrades, downgrades, cancellations and refunds are part of the product's subscription structure. The payment provider is treated as part of the subscription lifecycle, not just as the step where money is collected.
-
User Management and Permissions
User invitations, roles, permissions and account-based access models are placed into the product architecture. Who can see which screen and who can carry out which operation is managed through a central authorisation structure.
-
Admin Panel and Customer Screens
The admin panel used by the teams running the product is designed separately from the application interface customers see. Administration, support, reporting and everyday use are structured around the different user roles.
-
Product Measurement and Analytics
Critical product steps such as sign-up, account setup, first real use, subscription and renewal are made measurable. Measurement points are placed inside the development process rather than left until after launch.
From MVP to Launch
-
Scope and Product Decisions
We establish the target users, the core function of the product and the MVP scope. The pricing model, for example, is assessed per user, per usage or per package, and those decisions are taken together with the product and data architecture.
-
Architecture and Data Model
Tenant boundaries, the user and permission model, the subscription tables and the core data relationships are designed before development starts. These decisions are made with an eye on the product's need to grow and add features later.
-
Building the Core Flow
Sign-up, account setup, the product's main workflow and billing are built to work together. We do not move on to secondary features before the core flow is confirmed, so the essential experience is solid first.
-
Launch Preparation
Security checks, backup and restore procedures, error tracking and product analytics are set up before launch. The product's behaviour under different conditions of use is tested as it is prepared for the live environment.
-
Launch and First Users
We measure how real users behave inside the product and follow the problems and drop-off points that appear in use. The next development order is set on real usage data rather than on assumptions.
Multi-Tenancy and Data Isolation
In a multi-tenant architecture a single installation of the product serves many customer accounts, while each account reaches only its own data. The level of data isolation is decided on the scale of the product, its security requirements and the operational needs.
-
Shared Database
We can build structures where every account uses the same tables and each record is separated by a tenant identifier. In this model, which is operationally efficient for a large number of small accounts, data access controls are managed centrally in the application layer.
-
Schema per Tenant
The data model stays shared while each customer account sits in its own database schema. We consider this model where backup, restore and data management need to be more separated per tenant.
-
Database per Tenant
Each customer's data is kept in its own database. We prefer this approach where there is a need for stronger data isolation, for keeping data in a particular region, or for infrastructure specific to enterprise customers.
-
Hybrid Approach
We can design hybrid models that run standard accounts on shared infrastructure and enterprise accounts with special requirements in separate databases. Possible future data migration needs are planned from the architecture stage onwards.
Data isolation is applied not only on the user screens but also in background jobs, bulk data exports, reports and restore-from-backup processes. Making the tenant check central in the data access layer keeps the same security boundaries across every path an operation can take.
Tenant-specific subdomains, account-based usage limits, administrator support access and the logging of that access are considered within the same architecture. Which country the data is held in, and the related data retention requirements, are part of the infrastructure design too.
Subscriptions, Payments and Billing
In SaaS products we do not treat a subscription as the act of taking a payment. From the plan and package structure to trial periods, from upgrades and downgrades to cancellations, refunds and failed payments, the subscription lifecycle is tied into the product's core flows.
- Plan and package structure, with user and usage limits
- Free trial period and the state of the account once it ends
- Plan upgrades and downgrades, with mid-period charging
- Calculation of usage-based additional charges
- Failed payment, retry and access restriction flows
- Cancellation, refund and data retention rules
- Secure card and payment management for recurring payments
The technical limits of the payment provider, and the payment infrastructure that differs by the country the company is registered in, are assessed from the start. Processes such as e-archive and e-invoicing are handled as an integration separate from the payment flow, and the billing runs needed on subscription renewals are set up as well.
Measurement After Launch
In SaaS products the real product data appears after launch. Visits, sign-ups, account setup, first real use, paid subscription and renewal are measured as different points in the product funnel.
By establishing at which stage users leave the product, we set the development priorities accordingly. Subscription renewals, cancellation activity, cancellation reasons, error logs and performance data are followed through separate measurement points.
Rather than starting measurement on launch day, the events and data points needed are planned from the architecture stage onwards. That way the releases that follow rest on real usage data instead of assumptions alone.
We built Keysletter, our own SaaS product, along these lines, and we keep growing and running it with the same view. What we come up against on its design, software, infrastructure, subscription and user experience sides feeds straight back into how we build products.