.png)
Key takeaways
• Vodeo is a Netflix-style iOS rental app that Jesse Janson (Janson Media) and Fora Soft built from an idea on paper. It has since passed 100,000+ users with an unusual credit-based model: no subscriptions, movies rented via prepaid in-app credits that cost roughly $0.10 each.
• The hardest part of the build wasn’t video streaming — it was the business model. Credit economy, rental windows, catalog licensing, editorial curation, chunked S3 uploads and AirPlay / Chromecast handoff each looked simple in a brief and required specific engineering.
• Jesse’s 10/10 across the board was earned with one specific discipline: a PM as the translation layer. “I’m not a developer. Working with a project manager helps that a lot.” Two PMs across two years, one seamless handoff, zero dropped threads.
• The vendor-price trap is real and Jesse named it. Too cheap means poor quality; too expensive doesn’t always buy more quality. The sweet spot is vendors who deliver senior output at mid-market day rates — exactly what custom streaming app buyers should filter for.
• Time zones are a solved problem when communication cadence is strict. Jesse in New York, Fora Soft’s delivery team in Asia — and he said “I don’t feel like we’re that far apart.” That only happens when the PM layer enforces SLAs on response, not habits.
Why Fora Soft wrote this playbook
Vodeo is the iOS movie and TV rental app that Janson Media — a New York based TV and film distribution company operating since 1989 — asked us to build from scratch. We partnered with Jesse Janson (Executive Vice-President for Acquisitions and Development at Janson Media, and CEO of the Vodeo spin-off) for about two years of development. The product launched publicly, scaled past 100,000 users, and sits alongside our BrainCert, AppyBee and Nucleus projects on our Vodeo case study.
This review matters because Jesse walked into the project with zero development background (“I’m not a developer by any means”) and came out with a working streaming product and a 10/10 rating on communication, professionalism and determination. If you’re a media exec, content owner, or founder evaluating a video streaming development partner, this is the kind of reference call you actually want — a non-technical buyer talking about what worked and why.
The back half of this piece turns Jesse’s interview into a decision framework, a reference-call script, and a realistic scope model for anyone building a Netflix-style rental or SVOD app in 2026 — with the specific 2026 cost ranges we quote customers today.
Scoping a video streaming app?
30-minute scoping call with the team that built Vodeo. We’ll walk you through iOS + backend + streaming architecture decisions and give you an honest cost range within 48 hours.
Meet Jesse and Vodeo
Jesse Janson comes from a family that has distributed film and TV since 1989. Janson Media partners with Amazon, YouTube, Twitch and Hulu and owns a large catalogue of independent and auteur films. Vodeo is the spin-off: a mobile-first rental service that gives those films their own destination app.
“Vodeo is a rental-only mobile service, an application that we launched on iPhones first. The service is unique in the sense that users can rent movies or TV episodes for a limited period of time. For this, they use a credit-based system within the app, which allows the cost per rental to be much lower than any other application or video rental service currently available. Users pre-buy credits that they can then use to rent, and each credit costs about $0.10.”
Since the interview, Vodeo launched publicly and crossed 100,000 users. The product layers a classic SVOD-lite experience (trending / popular / featured feeds, genre browse, AirPlay + Chromecast handoff) on top of a rental economy that doesn’t force users into a monthly subscription. That combination is the interesting engineering problem in this build.
Why a credit economy is harder than it looks
On paper the idea is simple: users pre-buy credits, spend credits on rentals, watch for a time-boxed window. Under the hood the implementation touches every table in the product.
1. Ledger accuracy. Credit balances are a financial ledger, not a counter. Every debit (rental) and credit (top-up, refund, promo) has to be auditable. You want double-entry style tracking, idempotent top-up flows, and strict reconciliation against App Store in-app purchase receipts.
2. Rental window clock. Each rental has a start time, an expiry time, and a playback-state that has to survive app kills, iOS backgrounding and device swaps. The clock needs to be server-authoritative, not client-authoritative, or users will figure out how to reset it.
3. Licensing attribution. Janson Media distributes third-party films. Every rental triggers a royalty event that has to roll up correctly to the rights holder. You can’t slap this on at the end — it has to be in the schema from day one.
4. Refund, chargeback, and goodwill flows. What happens when a user rents a movie that fails to play? Automatic credit refund, logged incident, no support-ticket roundtrip. This alone saves 20–30% of support time on a streaming product.
5. Fraud and account sharing. Rental services are softer targets than SVOD for account sharing because the unit economics are per-rental. Device caps, geographic checks on rental activation, and throttling concurrent streams from one account all belong in v1.
The streaming stack that made Vodeo work
| Layer | Technology | Why it was picked |
|---|---|---|
| iOS client | Swift native | AVPlayer integration, AirPlay + Chromecast, true PiP support |
| Adaptive bitrate | HLS with 480p / 720p / 1080p ladders | Network-aware switching, no manual quality picker |
| Storage & upload | Amazon S3 + multipart / chunked upload | Parallel upload of video parts, cheaper ingestion cost, resumable on failure |
| Admin panel | Web-based catalog + curation UI | Movie metadata, posters, VTT subtitles, ratings, featured slots |
| Payments | App Store in-app purchase → credit ledger | iOS policy compliance, predictable refund logic |
| External casts | AirPlay (native) + Google Cast SDK | Watch-on-TV without leaving the app |
Reach for chunked S3 uploads when: any single asset is larger than 100 MB. For catalogue SVOD products like Vodeo, chunked multipart upload drops failed-upload retries to near zero, slashes time-to-publish, and costs less in egress than single-part upload of the same file.
Was Fora Soft your first choice?
“Definitely the first company and only company we’ve worked with on Vodeo and for the development of the application. I certainly researched and spoke to other companies as well. But after speaking with Fora Soft, we decided to work together, and it’s been a good decision.”
“The previous work that Fora Soft had done was impressive, and that was an important factor. Also, the communication was excellent. I understood the scope of the project, the estimated time, work, and costs that it would take to get it up and developed.”
The two things Jesse named — verifiable past work and communication quality in the sales cycle — are the two reference-class signals that actually predict delivery outcome. Everything else (rates, capability slides, methodology decks) is noise.
Before and after — an idea on paper to 100K+ users
“Before the Vodeo app, it was really just an idea on paper, just a concept. We really needed Fora Soft to help us with an MVP and get it up and running. Once we had that tested and had a first version, we worked with Fora Soft to update it. We went through a few versions of that, and that whole process has been excellent. Now we’re pretty much to a point where we’re planning to publicly launch this year.”
The trajectory Jesse describes is the textbook product build: idea → scoped MVP → closed beta with ~20 users → iteration → public launch. What made it work was the discipline of staying in the closed-beta phase long enough to catch the rental-flow bugs before a real audience hit them.
Vodeo has since launched and scaled past 100K users. The same engineering patterns we used for Vodeo — chunked S3, HLS ladder, admin panel, casting handoff — carry over directly to any SVOD or TVOD product we build. For a technical read on how we approach the iOS side, see iOS video streaming app development.
The closed-beta discipline — 20 real users before public launch
“We probably have a pool of maybe 20 private users who have been testing the app on their phones — registering, renting movies, and making sure everything works properly. The feedback has been very good from everyone in our small private circle.”
Twenty users is not “small” — it’s the right closed-beta size for a paid streaming app. Enough signal to hit every rental-flow edge case, few enough to run real user interviews and not drown in support tickets. We see teams skip this step and discover their refund flow is broken the day of launch, usually the same day the app is trending in a category.
Plan a 6–10 week closed beta with 15–30 users for any paid-content app. Hit every state: first-time purchase, top-up, rental start, rental expiry mid-playback, failed playback refund, two-device switch, airplane-mode mid-rental. If your QA plan doesn’t include these, you’ll ship them to production.
Need a Netflix-class iOS streaming app?
Tell us what’s in your catalog, where your rights are, and what business model you want to run. We’ll come back with a realistic scope and timeline for MVP to public launch.
The “no difficulties” answer — what that actually means
“I haven’t encountered any difficulties yet. Every question or product feature that I’ve requested or asked about has been easily addressed. I never got the impression that Fora Soft couldn’t implement a feature. Even discussing future possibilities on our roadmap down the line — Fora Soft has said all of it is possible.”
“Sometimes it’s not a quick ‘oh, that’s easy’. The PM will bring it to the developer team and come back with an estimate and how long it will take. Some features are quick, some are ‘let me just check with the developers’. And that’s always been ‘yeah, it’s possible’.”
The important word in Jesse’s quote is “estimate”. A mature vendor doesn’t say yes to everything on a call; it says “let me scope that”, comes back with a range, and the founder chooses. The opposite is the vendor who agrees to everything on a Zoom and discovers three sprints in that the feature is 4× the quote.
The PM handoff — “seamless and easy”
“We’ve worked with two project managers so far at Fora Soft. We worked for a while with our first PM, maybe a year, and she was excellent. Then there was a transition. She moved on and we worked with a new PM, and that transition was super seamless and easy. The new PM picked up right where she left off.”
PM continuity is the single most-underestimated operational discipline in agency work. The specific tactics that make a “seamless” handoff look obvious in hindsight and are vanishingly rare in practice:
1. A living decision log. Every architectural choice, every “we decided not to”, every promise to the client lives in a document the outgoing PM owns and the incoming PM reads cover to cover.
2. A two-week overlap period. New PM sits in every meeting, copies every thread, before assuming the account.
3. Client meets both PMs. The handoff is announced by both PMs on the same call, not in a cold introduction email.
4. Open-items ledger is zero at handoff. No blockers left “for the new PM to pick up”. The outgoing PM closes the inbox.
The PM as translator — why non-technical founders need one
“I really enjoy personally working with a project manager. Working with a project manager and communicating with them has probably been the most valuable to me. Especially because I’m not a developer by any means and I’m not able to speak developer language, code and whatnot. Working with a project manager helps that a lot. I can communicate what I would like to see and have done, they know how to communicate with the developers and the designers, and then bring that back to me and let me know how it goes.”
Jesse’s note is the “I didn’t understand why you guys don’t want me to talk to the developer” realization — without the initial friction. Non-technical product owners benefit enormously from a PM doing the translation layer, because the PM compresses ambiguity into shippable tickets and compresses engineering progress into founder-readable status.
Time zones — New York to Asia, “I don’t feel that far apart”
“I’m in New York, Fora Soft is in Asia, there’s a time difference. Even with that, the communication’s been great. I don’t feel like we’re that far apart. The work’s been excellent.”
A 9–12 hour zone gap kills distributed projects when communication is habitual and saves them when communication is SLA-driven. The Vodeo cadence that made it feel “not that far apart”:
Single daily overlap window. 60–90 minutes where both sides are online, used for standup + demo + any blocker escalation.
Written-first updates outside the overlap window. Every question is asked in Slack/email with enough context that the other side can answer async without a meeting.
Same-business-day response SLA. Answer within 24 hours on a blocker. Explicit weekend-coverage rules for launch periods.
Demo → decide → implement cycle. Demos happen during overlap; decisions are written; implementation happens during the other side’s daylight. The zone gap becomes a feature, not a bug — work moves forward 24 hours a day.
The price trap — too cheap is expensive, too expensive isn’t better
“I felt like the price in working with Fora Soft was very competitive across the market, and that we liked as well. There’s a trade-off. Once you go too low in price, usually the quality of the work is reflected and is poor with the cost being so low. Sometimes, when the price is very high, it doesn’t necessarily mean that the quality will be that much and greater. I think Fora Soft is in a perfect spot of good pricing of projects and development — at the same time, they offer very high quality in the work that gets done.”
The bimodal pricing market is real. At the bottom, you get code quality that ships bugs the rental-window logic cannot survive. At the top, you pay brand premium with no delivery uplift. The practical filter: ask what senior / mid / junior mix you’re actually buying, and ask to meet the senior engineer who will own the streaming layer. If the proposal obscures that mix, budget for rework.
A realistic cost model for a Vodeo-class iOS streaming app in 2026
These are 2026 ranges for an iOS-first rental / SVOD app similar in scope to Vodeo — iOS native client, HLS streaming with adaptive bitrate, admin panel, App Store in-app purchase, AirPlay + Chromecast, editorial curation, chunked S3 uploads. Scope changes these numbers by ±30%.
| Stage | Duration | Budget range | What’s in it |
|---|---|---|---|
| Discovery + architecture | 3–4 weeks | $12–20k | BA discovery, rights / licensing model, ledger + rental flow spec |
| MVP (playback + rental + top-up) | 3–4 months | $70–130k | iOS client, backend, basic admin, HLS playback, IAP, S3 ingest |
| Full platform (curation, cast, PiP, analytics) | 6–12 months | $150–280k | AirPlay/Chromecast, editorial curation, full admin, royalty reporting, analytics |
| Continuous iteration after launch | per quarter | $30–60k | New features, perf work, fraud countermeasures, OS-version upkeep |
| Infra monthly (S3 + CDN + API) | monthly | $800–4,000+ | Scales with concurrent streams and catalog size |
Two caveats. First, spec-driven agentic engineering compresses the MVP window and quarterly iteration line, which is why our cost ranges run below legacy streaming shops quoting the same scope. Second, a full rights/royalty reporting subsystem can add $20–50k on top of the platform line if the catalog is third-party-heavy like Vodeo’s.
Would you recommend Fora Soft?
“Yeah, I’d definitely recommend them. I think Fora Soft certainly has the skills and know-how to develop applications like this very well.”
“It might be around a couple of years of working on this application. We’re pretty at the point where we’re ready to put it out in the public and hopefully get good feedback.” — which Vodeo got, crossing 100,000 users post-launch.
A decision framework — pick your streaming app partner in 5 questions
1. Can they show a live streaming product they shipped? Not a demo reel. A live App Store app with real users. Vodeo and AppyBee are our live ones. Your shortlist should have equivalents.
2. Do they understand DRM and rights? If you’re distributing third-party catalog, your vendor needs to know FairPlay, Widevine, PlayReady and how royalty reporting actually rolls up. Ask for a 10-minute explanation; if it’s fuzzy, walk.
3. What’s the PM model? Ask specifically: “If my PM leaves, what’s the handoff SOP?” A good vendor has a written answer; a bad one mumbles.
4. Can they run a 20-user closed beta with you? Not “we’ll help with QA” — actually run the beta as part of the engagement. If they don’t know what that means, your launch will be the beta.
5. Is the senior engineer on your account named? A named tech lead who will stay on the account for ≥ 12 months. If the proposal is generic resource-plan language, treat it as outstaffing dressed up as a product partnership.
Five pitfalls when building a paid streaming app
1. Trusting the client clock. Rental windows must be server-authoritative. Client clocks get reset.
2. Skipping closed beta. Refund flow bugs are invisible until a real user hits one. 20 users over 6 weeks catches 90% of them.
3. Ignoring rights attribution from day one. Retrofitting royalty reporting into an existing ledger is a rebuild, not a feature.
4. Buying a “yes to everything” vendor. Mature vendors say “let me estimate that”. Immature vendors say “sure” and discover scope three sprints in.
5. Treating a time zone gap as a communication risk. It’s a communication process choice. Strict SLAs make it work; habit-based comms break it.
KPIs to measure on a paid-streaming build
Quality KPIs. Playback start time < 2s on LTE. Rebuffer ratio < 1%. Escape defects < 2% per release. App Store crash-free users ≥ 99.5%.
Business KPIs. Credit top-up conversion from install ≥ 8%. Rental completion rate ≥ 70% (started → finished). Refund request rate < 2% of rentals. 30-day retention on paying users ≥ 40%.
Reliability KPIs. API uptime ≥ 99.9% monthly. HLS manifest latency < 500ms P95. IAP receipt-validation success ≥ 99.7%. Chromecast/AirPlay handoff success ≥ 95%.
When a paid-streaming app is not the right bet
A custom streaming app is a long game — 6–12 months to launch, 18+ months to profitability at realistic CPM/rental economics. If your content library is < 100 titles or your marketing budget is < the build cost, you’ll probably do better distributing through Amazon, YouTube, Tubi or a white-label OTT platform.
Vodeo made sense because Janson Media already had a multi-decade catalog, an established distribution business, and a specific strategic reason to own the direct-to-consumer channel. Your threshold should be similar.
Got a catalog and a DTC ambition?
We build streaming products for rights-holders and distributors. Tell us your catalog size, your rights model and your target launch window — we’ll tell you whether a custom app is the right move and what it should cost.
The 7-question reference-call script for streaming-app vendors
Q1. What’s the longest running engagement you have right now, and why hasn’t it ended?
Q2. How did you handle the last major production incident on a streaming client?
Q3. What DRM system(s) have you shipped in production, and under what rights model?
Q4. Walk me through a rental-window implementation you built. Was the clock server or client authoritative?
Q5. What’s the PM-handoff SOP when staff changes?
Q6. How do you run closed beta? How many users, over how long, and who coordinates?
Q7. If we launch next quarter and get 10× the forecast traffic, what happens?
FAQ
How long does it take to build a Vodeo-style iOS rental app?
A focused MVP with playback, rental, top-up and a basic admin panel launches in 3–4 months. The full Vodeo-scope platform (AirPlay, Chromecast, PiP, editorial curation, full royalty reporting) is 6–12 months. Jesse’s engagement ran roughly two years including multiple versions and a closed beta.
Is the credit-based rental model better than subscription?
Different use cases. Credits work when your catalog is deep but viewing is occasional (auteur film, classic catalog, niche content). Subscription works when users watch 8+ hours a month. Vodeo picked credits because Janson Media’s catalog rewards infrequent-but-high-intent viewing. Pick the model that matches your engagement curve, not the one that’s trendy.
Why did Jesse pick Fora Soft?
Two reasons in his words: verifiable past streaming work, and the quality of communication in the sales cycle. He also talked to other vendors; those two signals decided it. Both are the right filters to use when you’re shortlisting streaming vendors.
Can I run a streaming app without a subscription?
Yes. Vodeo uses credits + TVOD (transactional video on demand). Credits lower the per-rental friction because users top up once and spend later. Done right, rental-only products convert at higher intent per transaction than SVOD and avoid the churn trap.
How do you handle rights / royalty reporting for third-party catalog?
Every rental event is written to a ledger that knows the rights holder, the territory, the revenue split and the currency. Monthly royalty runs roll up from that ledger. Bake the rights schema into v1 — retrofitting it after launch is a rebuild, not a feature.
Does the iOS-only launch make sense in 2026?
For paid-content apps, iOS-first still often wins: higher ARPU, cleaner IAP policy, more consistent device behavior. Android follows once the iOS numbers justify the build. Launching both simultaneously doubles your v1 risk without doubling revenue.
How should I handle time-zone gaps with a development partner?
Use a single daily overlap window (60–90 minutes) for live conversation, and enforce written-first async everywhere else. Tight response SLAs on blockers (same business day) and demo-→decide-→implement cycles turn the gap into 24-hour velocity instead of communication friction.
Do you build streaming apps for iOS only, or cross-platform too?
Both. Vodeo is native iOS; AppyBee runs React Native iOS + Android. For paid streaming we usually recommend iOS native first for AVPlayer integration and AirPlay reliability, then add Android (native or React Native) once the iOS build validates the model.
What to Read Next
Case study
Vodeo: iOS movie rental app, 100K+ users
Full technical build under the Janson Media partnership.
Engineering
iOS video streaming app development
Architecture patterns for AVPlayer, HLS, DRM and AirPlay.
Client interview
Jan (AppyBee) on custom software development
Another long-term Fora Soft client story, in fitness booking.
Services
Video & audio streaming development
Our streaming services page — what we do and who we do it for.
Related build
IPTV software development
How the same patterns adapt for IPTV and live streaming products.
Ready to take your catalog direct-to-consumer?
Jesse’s story with Vodeo is simple when summarized: a rights-holder with decades of catalog decided to own the DTC channel, found a vendor that passed the reference-call test, and shipped a Netflix-class iOS rental app that scaled past 100K users. The operational discipline that made it work — PM continuity, closed beta, server-authoritative rentals, strict comm SLAs across time zones — is repeatable.
If you’ve got a catalog and a DTC thesis, the fastest way to find out whether your specific build makes sense is a 30-minute scoping call. We’ll walk through catalog size, rights model, target platforms, and what the budget realistically has to be to ship a production streaming app this year.
Talk to the team behind Vodeo
30 minutes, scoping only, no obligation. Describe your catalog, rights model and launch window — we’ll tell you what a build costs and how long it takes, within 48 hours.



.avif)

Comments