Growingby Fekri
Generate slideshows and videos, schedule posts to TikTok, Instagram, YouTube
You can now hover over any generated image in your gallery and click a new "Context" button to instantly add that image as a reference for your next generation. This removes the need to re-upload images and streamlines the creative flow by using previous outputs as inspiration or input context.
Enhanced context handling with model metadataUpdated the internal data structures to store both a display-friendly model name and the underlying model ID used for generation. This extra detail helps with clearer UI presentation and better tracking of which model produced each creation.
Improved studio UI and grid card interactionsThe studio grid cards now include the new "Context" action icon, making the feature accessible directly from each image card. The immersive studio interface also handles adding reference images smoothly, with success notifications to confirm the action.
Other improvementsI fixed an issue where updating the status of a single social media account (Instagram, Facebook, TikTok) during a partial sync would accidentally overwrite the statuses of other accounts tied to the same post. This was causing some accounts to get stuck in “partial” or “retry” states, blocking the scheduler from progressing normally. Now, partial updates only modify the intended account rows without clobbering siblings.
Added scheduler lease recovery for stuck partial statesThe scheduler now recognizes “partial” states at the account level as recoverable leases, allowing it to retry and recover from unexpected partial syncs that previously caused stuck posts. This helps keep the publishing workflow moving smoothly even when transient issues occur.
Improved test coverage for lease status resolutionI added tests to verify how lease statuses are interpreted during scheduler processing, ensuring that only valid states are accepted and that “partial” states are treated correctly for lease recovery.
Other improvementsI disabled the triggers that caused full materialized view rebuilds on every insert, update, or delete to custom image packs and their images. Instead, pack counts now come directly from the images table, reducing write amplification and disk I/O significantly while keeping pack counts accurate in the app and Partner API.
Added comprehensive tests for custom image pack queriesTo ensure the new approach for fetching pack image counts is solid, I added a suite of tests simulating various scenarios. This helps catch errors early and maintain confidence as we iterate on the database layer.
Launched Google Nano Banana 2 image generation model with web search supportIntroduced the new Nano Banana 2 model that supports a toggle for enabling web search grounding. This lets the model incorporate fresh web information when generating images. The toggle is now available in the inline model options, and usage costs adjust based on resolution and web search usage.
Other improvementsI revamped the onboarding flow and the add-account dialog for analytics tracking. The new design clarifies that you can track any public account — whether it’s yours, competitors, or UGC creators — and improves the UI with updated icons, gradients, and clearer calls to action.
Refreshed Analytics Queue and Bulk Refresh Status DisplayThe analytics queue now shows a more informative and interactive status panel for bulk refreshes. You can see progress with collapsible details, and the refresh process runs multiple accounts in parallel to speed things up. This should make tracking and refreshing analytics smoother and more transparent.
Added Free Analytics Seat Allowance and Updated Billing LogicIntroduced free analytics seats based on subscription tiers (Scheduler, Creator, Professional, Business) with allowances ranging from 1 to 5 free seats. Billing now prioritizes these free seats before charging credits, effectively reducing the cost of tracking accounts. This update is reflected throughout the dashboard and onboarding components.
Minor UI and Usability ImprovementsI revamped the blog page to support pagination. Now, instead of loading all posts at once, it displays 12 posts per page and lets users navigate through pages, which should improve load times and user experience.
New Virtual Accounts Post ServiceAdded a dedicated service module for handling virtual account posts. This separates concerns and improves the way we fetch and sync posts from external providers, making the codebase cleaner and more maintainable.
Refactored Virtual Accounts ServiceRefined the main virtual accounts service by removing post-fetching logic and delegating it to the new posts service. This modular approach will help us scale and troubleshoot features related to virtual accounts more efficiently.
Configuration and Import FixesFixed some broken import paths caused by merge conflicts and restored missing hostnames and settings in the Next.js config that were accidentally dropped. This ensures smooth deployment and asset loading without disruptions.
Other improvementsI introduced selectable time windows (7 days, 30 days, 90 days, and all time) for the onboarding activation analytics in the admin dashboard. This lets us easily switch the view to analyze activation trends over different periods, making it more flexible to track progress and spot changes.
Implemented activation rate trend lineThe onboarding activation chart now includes a trend line showing the activation rate over time, calculated as the ratio of feature activations to onboarding completions. This visual helps quickly understand how activation is progressing relative to completed onboardings.
Switched to completion-based activation summaryThe summary metrics now focus on users who completed onboarding rather than just started it, providing a more accurate picture of activation rates and user engagement after onboarding finishes.
Other improvements