What's Missing in Standard Lemon Squeezy Architecture
Lemon Squeezy handles payments correctly, but there's no system to track usage and automatically enforce subscription-based feature limits.
Standard Lemon Squeezy Flow vs Optimized Skene Flow
User subscribes via Lemon Squeezy
Subscription active but no usage limits enforced
Free users can access all features without limits
Monitor usage in database and Lemon Squeezy subscription status
Detect when free tier user hits usage limit
Block feature access and trigger upgrade prompt email
Track conversion from free to paid
Visual comparison of the flows:
Loading diagram...
How Skene Fixes This
We built a Skene Prompt that installs freemium gating for Lemon Squeezy. It monitors usage in your database and Lemon Squeezy subscription status, automatically blocking features and triggering upgrade prompts when free users hit limits.
Implementation Comparison
Using Skene Infrastructure
Install via Prompt
@task: Initialize Skene.
@action: Analyze my local code, validating subscription via `npx skene login`, and generate `skene.config.ts` to implement the Freemium Gating pattern for Lemon Squeezy.Copy Skene Prompt for Cursor
Generated skene.config.ts
// skene.config.ts - The Automated Way
import { defineLoop } from '@skene/sdk';
export default defineLoop({
type: 'freemium',
opinion: 'Enforce usage limits for free tier users and trigger upgrade prompts',
steps: [
{
trigger: {
type: 'api',
endpoint: '/api/features/*',
method: 'POST'
},
condition: {
type: 'usage',
limit: {
free: 100,
paid: Infinity
},
period: '30d'
},
action: {
type: 'block',
message: 'You've reached your free tier limit. Upgrade to continue.',
upgradePrompt: {
type: 'email',
provider: 'resend',
template: 'upgrade_prompt'
}
}
}
],
recovery: {
retries: 0 // No retries for blocking actions
}
});