DEPLOYMENTS / PRAVA POTEZA
COURSE PLATFORMPrava Poteza
A Slovenian financial-literacy platform. The public site is a landing page + free intro-video funnel; the paid course and community currently live on Skool ($35/month or $99/year). Under the hood we're building a native platform — Stripe subscriptions, Sanity-authored lessons, Vimeo playback and Supabase auth — designed to eventually bring the full course experience back into the site itself.
CLIENT
Financial literacy platform for Slovenians
YEAR
2026
SYSTEMS
WEB
STATUS
DEPLOYED
4
step learning arc — free intro → paid depth
6
free intro videos before the paywall
$99
annual — the retention-favoring tier
[ THE BRIEF ]
The challenge we walked into.
The client is an investing educator with real content, a Slovenian audience, and no interest in becoming a video CMS operator. They needed a public site that could funnel visitors from a free intro into a paid membership immediately, using Skool for community + hosting during the launch phase — while keeping a clean migration path to a native platform once the audience justified it. The brand had to be fully rebrandable from a token file, because the same content shape could power a second course later.
[ TOPOLOGY ]
How the system is wired.
// SYSTEM TOPOLOGY
[ WHAT WE SHIPPED ]
Feature by feature.
Six intro videos before you're asked for a card.
Visitors see the hero, the promise, the 4-step curriculum arc, and then six free intro videos hosted with Vimeo — no signup gate, no credit card. The 'Vstopi v Skool' CTA hands them off to Skool once they're convinced, so the paywall is external and frictionless.
- ▸6 free videos, no signup wall
- ▸4-step curriculum promise on the landing page
- ▸External Skool checkout — zero PCI scope on our side
- ▸Q&A CTA in the intro flow
[ APPROACH ]
How it came together.
01 — SHIP THE FUNNEL FIRST
The audience needs to exist before the platform does.
A common trap for course builders is spending six months building a platform for zero students. We inverted it: shipped a fast landing page with free intro videos and a Skool handoff on day one. Content lives on Skool during the audience-building phase; the site's only job is turning a stranger into a paid member. Once the audience is real, the native platform takes over.
02 — CONTENT OVER UI
The differentiator is what the client says, not how the app looks.
For a financial-literacy educator, the moat is the specific, Slovenian, FURS-aware content — not the video player. So we made content the cheapest thing to change: Sanity for every word on the page, i18n-keyed strings for every UI label, a brand-in-a-file design system for the visual identity. When the client wants to update a price, add a lesson or tweak the pitch, they open Studio — not Slack.
03 — SKOOL AS A LAUNCH VEHICLE, NOT A DEPENDENCY
Every integration has an off-ramp.
The Skool handoff works today and will keep working. But the codebase already contains Stripe checkout, Supabase Auth, a Vimeo progress model and Loops lifecycle emails — the native platform. When migration is justified by revenue, membership moves in-house without a rebuild. Skool becomes optional, not load-bearing.
04 — STATIC-FAST, CMS-LIVE
Statically rendered pages that update within seconds of a Studio publish.
Every landing surface pre-renders at build time. On publish, Sanity's webhook triggers on-demand revalidation for the affected route; ISR backs it up with a short fallback window. Visitors get static-file speed; the client gets CMS-driven content.
[ DELIVERY ]
What the build looked like.
01 ▊
[ TECH STACK ]
What’s under the hood.
HOVER FOR ROLE
[ IMPACT ]
What changed.
The client shipped a real Slovenian financial-literacy funnel without paying rent on a platform first. Visitors watch the intro on our site and pay Skool for depth — while the native platform quietly assembles in the same codebase, ready to swap in the moment the audience makes it worth doing. Content changes are a Sanity edit; a rebrand for a sibling course is two files; localizing to English is a translation pass. Everything is set up to compound.