SShortSingh.
Back to feed

How One SaaS Safely Replaced Per-Feature Billing With a Plans-Only Model

0
·1 views

A SaaS platform migrated from à-la-carte feature subscriptions to a plans-only billing model, where a single tier determines all feature access. The old system created dual sources of truth, forcing every feature gate to check both per-feature subscriptions and an implicit plan simultaneously. The migration was executed in four sequential phases — seeding plans, switching reads to the new model, backfilling existing organisations, and finally removing legacy code — ensuring the app remained functional throughout. This approach follows the expand-migrate-contract pattern, avoiding a risky big-bang replacement that could have broken active subscriptions and webhooks. The process also surfaced several payment-gateway bugs, including an oversized order reference and a null phone field, which were caught and fixed during the transition.

Read the full story at DEV Community

This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)

Log in to join the discussion and vote.

Log in

Related stories

0
ProgrammingDEV Community ·

PaperQuire Lets Users Add Diagrams, Math, and Syntax Highlighting via Plugins

PaperQuire is a document tool that extends standard Markdown through an independent plugin system, allowing users to enable only the features they need. Available plugins include Mermaid for diagrams, KaTeX for LaTeX-quality math equations, Prism-based syntax highlighting for over 190 languages, emoji shortcodes, and footnotes. Diagrams are written directly in Markdown and rendered locally as vector graphics, eliminating the need for external drawing tools or image exports. All plugins activate instantly within the editor preview and apply to subsequent PDF, DOCX, and HTML exports without requiring restarts or configuration files. PaperQuire also exposes an open plugin API, enabling developers to build custom Markdown, CSS, or transform plugins for specialized use cases.

0
ProgrammingDEV Community ·

PaperQuire Templates Let Teams Export Branded Documents Without Manual Formatting

Document formatting is a recurring time drain for teams, with hours spent adjusting fonts, margins, logos, and layouts across every new file produced. PaperQuire, a document tool, addresses this by letting users write content in plain Markdown and apply pre-built templates that handle all visual formatting on export. Each template bundles a CSS theme, cover page settings, typography rules, and page layout into a single reusable package. The platform ships with four template types — Corporate, Technical, Minimal, and Report — each tailored to different use cases such as client proposals or internal memos. Branding elements like colors, logos, and fonts can be configured once in a central panel, automatically applying to all future document exports.

0
ProgrammingDEV Community ·

Engram Tool Gives AI Coding Assistants Persistent Memory Across Sessions

A developer has built Engram, a tool that provides AI coding assistants like ChatGPT, Claude Code, Cursor, and Windsurf with persistent memory that carries over between sessions. The tool works via the Model Context Protocol (MCP), allowing compatible AI clients to search past conversations by meaning using semantic vector embeddings rather than keyword matching. Unlike existing workarounds such as CLAUDE.md files or built-in memory features, Engram automatically stores full conversation histories, including reasoning, trade-offs, and bug investigations, without requiring manual maintenance. Users can connect Engram by adding a custom MCP server URL to their AI client's configuration, with an optional CLI daemon that auto-captures Claude Code sessions in the background. The backend infrastructure runs on Cloudflare, using Workers, D1 SQLite storage, and Vectorize for the semantic search index.

0
ProgrammingDEV Community ·

ebind: Go library runs durable task queues and DAG workflows on NATS JetStream

A new open-source Go library called ebind offers persistent task queues and durable DAG-based workflow execution using a single dependency — NATS JetStream — which can be embedded directly inside an application process. Unlike popular alternatives such as Asynq or River that require Redis or Postgres, ebind eliminates external infrastructure by running NATS as an in-process node suitable for both development and high-availability deployments. The library uses a function-first API where developers pass actual Go functions to the queue, with argument types validated at enqueue time rather than failing silently on workers later. Workflow state, including step results and dependencies, is stored in a NATS key-value bucket, meaning workflows survive process restarts and can be resumed by any node in the cluster. The library also introduces step breakpoints with debugger-style semantics, a feature its author says is not found in comparable workflow tools.

How One SaaS Safely Replaced Per-Feature Billing With a Plans-Only Model · ShortSingh