
Today, we're launching Malfors. A collaborative, graph-based investigation platform, made for analysts. - Excellent UX✨ - Built-in enrichments from major vendors - Custom enrichments via simple API - Case management & real-time collaboration and much more! https://t.co/HljdAEWoJv
The Hook
“(No spoken dialogue — Silent video with ambient UI clicks and subtle background hum.)”
Product Reveal
“(No spoken dialogue — Silent video with ambient UI clicks and subtle background hum.)”
Feature Teaser
“(No spoken dialogue — Silent video with ambient UI clicks and subtle background hum.)”
Call to Action
“(No spoken dialogue — Silent video with ambient UI clicks and subtle background hum.)”
Synthesizable in Remotion · key components of the dynamic-graph-investigation template.
New graph nodes appear with a subtle scale-up and fade-in effect, accompanied by connecting lines drawing from existing nodes. This signifies new data points being added to the investigation.
Use Remotion's 'spring' function for scale and opacity, with a slight delay for each new node. SVG path animations for the connecting lines, using 'stroke-dasharray' and 'stroke-dashoffset' interpolation.
Detail panels slide in from the right side of the screen, revealing additional information about selected graph entities. Content within the panel fades in sequentially.
Implement 'interpolate' for X-position translation and opacity for the panel container. Child elements (text, data fields) can use staggered 'spring' animations for their individual fade-in.
The entire graph re-arranges itself smoothly when new nodes are added or an auto-layout function is triggered, maintaining clear connections and optimal spacing.
Utilize a force-directed graph layout algorithm (e.g., d3-force) to calculate new node positions. Animate node and line positions using 'spring' or 'interpolate' for smooth transitions between layout states.
Purpose. Introduce the core interaction of adding an entity and initiating an investigation.
Execution. Mouse cursor clicks 'Add entity', a dropdown appears, and a domain is selected, followed by a detail panel sliding in.
Purpose. Demonstrate the platform's ability to enrich data from various sources.
Execution. The 'Enrich' menu is opened, a vendor is selected, and the detail panel populates with new information, expanding the investigation.
Purpose. Showcase the graph's dynamic growth as new related entities are discovered.
Execution. New nodes (IP addresses, other domains) are added to the graph, connected by lines, visually representing the expanded investigation scope.
Purpose. Highlight advanced features like layout management and entity type changes.
Execution. The user selects multiple nodes, changes their type, and triggers an auto-layout, demonstrating control and flexibility within the graph.
Objective
A cybersecurity threat intelligence platform that visualizes attack paths.How the recipe adapts
The Malfors recipe adapts by replacing 'entities' with 'threat actors' and 'indicators of compromise'. The graph nodes would represent different attack stages or compromised assets, with connecting lines showing the flow of an attack. Panel slide-ins would display detailed threat intelligence reports. The dynamic graph layout would re-arrange to show evolving attack chains, maintaining the dark-mode UI and precise interaction style for a professional, analytical feel.Scene durations (4 scenes, 39s)
Key Remotion components

xAI opens voice cloning on its API: build a custom voice in about two minutes or pick from 80+ voices in 28 languages.

Claude can now operate your Mac, opening apps, browsing and filling spreadsheets, as a research preview in Cowork and Claude Code.
Agentic CLI for coding, building apps, and automating workflows.