ajaysi
aaf94049da
feat: validate podcast cost estimation accuracy, document per-token costs, and fix subscription/plan enforcement
...
Issue #543 — Validate Estimated Cost Accuracy (UI vs Backend)
Backend:
- cost_estimator.py uses pricing catalog (APIProviderPricing) as single source of truth
- All 7 cost components: analysis, research (search+LLM), script, TTS, voice clone, avatar, video
- initialize_default_pricing() runs on every app startup for auto-sync
Frontend cost estimation fixes:
- Added missing analysisCost, scriptCost, voiceCloneCost to PodcastEstimate type
- toPodcastEstimate() now extracts all 7 backend fields (was dropping 3)
- headerCostEst maps analysisCost->Analyze, scriptCost->Write, voiceCloneCost->Produce
- EstimateCard shows 5 chips: Analysis, Research, Script, Voice(TTS+clone), Visuals(avatar+video)
- Chip sum now equals backend total for all configurations
Subscription & plan fixes:
- Removed Stripe re-verification from checkSubscription() (downgrade regression fix #539 )
- Added verifyCheckoutRef pattern for reliable mount-time checkout polling
- One-time Stripe sync effect with pending_subscription_change flag for Customer Portal returns
- Free plan limits: stability_calls 3->10, audio_calls 5->10 (supports 2 podcasts)
- Image enforcement uses actual provider (GPT_PROVIDER), not hardcoded Stability
- Billing/pricing pages bypass onboarding check in ProtectedRoute
- Gradient buttons + loading spinner on plan chip in UserBadge
- Added metadata-based Stripe lookup fallback (Issue #538 )
Documentation:
- TESTING_GUIDE.md: comprehensive testing instructions for non-technical testers
- Free plan limits, usage tracking, cost estimation formulas
- 10 test cases for UI verification
- Troubleshooting guide
- Quick-reference cost formulas with all default rates
Cleanup: removed legacy ToBeMigrated directory (70+ files, ~22K LOC)
GSC Brainstorm: service, hook, modal, and UI components for blog topic brainstorming
2026-05-27 08:46:38 +05:30
ajaysi
ebdd1edfa0
fix(01-code-splitting): convert PodcastMaker AnalysisPanel MUI icons
...
- Converted barrel imports to individual imports across 18 AnalysisPanel files
- AnalysisPanel.tsx (12 icons), AnalysisTabNav.tsx (9 icons)
2026-05-14 09:11:51 +05:30
ajaysi
e704aa7d87
Podcast Maker: Fix progress modals, research JSON, header stepper, voice/podcastMode chips
2026-04-19 13:16:59 +05:30
ajaysi
edf3f32b3c
feat: Add hamburger menu to Podcast Maker header and move Bible to AnalysisPanel
...
- Add hamburger menu to Header with gradient styling
- Move Help, My Episodes, My Projects, New Episode into dropdown menu
- Move PodcastBiblePanel into AnalysisPanel header as icon button
- Display Bible details in a styled Popover
- Improve overall header UX and mobile responsiveness
2026-04-07 17:45:43 +05:30
ajaysi
e59c77b221
feat: Improve podcast maker UX and fix bugs
...
Frontend:
- Add progress modals with educational content for analysis and voice cloning
- Improve tab navigation in AnalysisPanel (combine Titles, Hook, CTA into one tab)
- Fix tab styling to make inactive tabs visible
- Fix avatar 'Make Presentable' not updating preview (blob URL handling)
- Improve mobile responsiveness for avatar tabs
- Clean up verbose console logging (AnalysisPanel, demoMode, RobustCamera)
- Add sequential progress messages instead of cycling
Backend:
- Fix 'Depends object has no attribute get' error in auth and image editing
- Use get_session_for_user instead of get_db outside FastAPI DI context
- Reduce WARNING logs to DEBUG in audio handler
- Add proper emphasis boolean handling in script generation
- Add missing fields to PodcastScene and PodcastSceneLine models
- Fix voice cloning cost estimate display issue
2026-04-07 16:28:11 +05:30
ajaysi
45d2b0b693
Fix: Remove duplicate Research Queries section in podcast maker
...
- Remove Research Queries section from AnalysisPanel.tsx
- Keep QuerySelection component as single source for research queries
- Remove unused props (onRunResearch, isResearchRunning, selectedQueries, etc.)
2026-04-06 16:20:28 +05:30
ajaysi
63bb937796
feat: podcast demo mode with ALWRITY_ENABLED_FEATURES support
...
- Add ALWRITY_ENABLED_FEATURES env var for feature gating
- Podcast-only mode: skip LLM bootstrap, scheduler, persona services
- Enhance video generation prompt with scene context, analysis, narration
- Add voice cloning support via custom_voice_id in WaveSpeed
- Add text-to-speech for research results (browser speechSynthesis)
- Fix render queue to sync images from script phase
- Add WaveSpeed LLM pricing (gpt-oss-120b)
- Fix podcast bible generation error handling
- Refactor RouterManager for feature-based router loading
2026-04-03 06:59:59 +05:30
ajaysi
2e04b8e27b
Fix compilation errors and resolve ESLint warnings across multiple components
2026-03-03 08:57:36 +05:30
ajaysi
4828274cbf
Release Candidate: Production Release with Multi-Tenant & Onboarding Enhancements
2026-02-28 20:08:00 +05:30
ajaysi
1d745c9bc8
AI podcast project
2025-12-16 16:25:52 +05:30
ajaysi
eba5210577
AI podcast maker performance optimizations
2025-12-12 21:43:09 +05:30
ajaysi
81590cf4db
WIP: AI Podcast Maker and YouTube Creator Studio integration
2025-12-10 09:37:55 +05:30