{"id":"youtube:xjCFbXXcS3s","source":"youtube","sourceId":"xjCFbXXcS3s","account":"robotostudio","type":"video","title":"Ultra-fast PostHog analytics with Jev, AI SDK + json-render","body":"How we read PostHog data without opening PostHog. A chat interface built on the Javelin model, the AI SDK and Vercel Labs json-render, pulling live analytics on demand.","bodyFormat":"text","sourceUrl":"https://www.youtube.com/watch?v=xjCFbXXcS3s","canonicalUrl":"https://robotostudio.com/videos/ultra-fast-posthog-analytics-with-jev-ai-sdk-json-render","sourceUrls":["https://robotostudio.com/videos/ultra-fast-posthog-analytics-with-jev-ai-sdk-json-render"],"authorIds":[],"publishedAt":"2026-09-24T00:00:00.000Z","checkedAt":"2026-10-26T04:00:25.839Z","language":"en","visibility":"public","topics":["ai"],"gaps":[],"segments":[{"id":"segment-1","startMs":4310,"endMs":4320,"text":"Hey, how's it going? So, in today's"},{"id":"segment-2","startMs":4320,"endMs":6670,"text":"Hey, how's it going? So, in today's\ndemo, I'm going to show you another cool"},{"id":"segment-3","startMs":6670,"endMs":6680,"text":"demo, I'm going to show you another cool"},{"id":"segment-4","startMs":6680,"endMs":8670,"text":"demo, I'm going to show you another cool\nlittle feature that my team built for"},{"id":"segment-5","startMs":8670,"endMs":8680,"text":"little feature that my team built for"},{"id":"segment-6","startMs":8680,"endMs":11710,"text":"little feature that my team built for\nRoboto Studio. And this is about"},{"id":"segment-7","startMs":11710,"endMs":11720,"text":"Roboto Studio. And this is about"},{"id":"segment-8","startMs":11720,"endMs":13750,"text":"Roboto Studio. And this is about\nanalyzing data from PostHog and [music]"},{"id":"segment-9","startMs":13750,"endMs":13760,"text":"analyzing data from PostHog and [music]"},{"id":"segment-10","startMs":13760,"endMs":15990,"text":"analyzing data from PostHog and [music]\ndoing it as quickly as we can."},{"id":"segment-11","startMs":15990,"endMs":16000,"text":"doing it as quickly as we can."},{"id":"segment-12","startMs":16000,"endMs":18550,"text":"doing it as quickly as we can.\nSo, Roboto has always been hell-bent on"},{"id":"segment-13","startMs":18550,"endMs":18560,"text":"So, Roboto has always been hell-bent on"},{"id":"segment-14","startMs":18560,"endMs":20870,"text":"So, Roboto has always been hell-bent on\nmoving fast as a team. We do love"},{"id":"segment-15","startMs":20870,"endMs":20880,"text":"moving fast as a team. We do love"},{"id":"segment-16","startMs":20880,"endMs":23750,"text":"moving fast as a team. We do love\nPostHog, by the way, but we hate using"},{"id":"segment-17","startMs":23750,"endMs":23760,"text":"PostHog, by the way, but we hate using"},{"id":"segment-18","startMs":23760,"endMs":25750,"text":"PostHog, by the way, but we hate using\nit to read the data. [music]"},{"id":"segment-19","startMs":25750,"endMs":25760,"text":"it to read the data. [music]"},{"id":"segment-20","startMs":25760,"endMs":27950,"text":"it to read the data. [music]\nSo, that being said, if you haven't"},{"id":"segment-21","startMs":27950,"endMs":27960,"text":"So, that being said, if you haven't"},{"id":"segment-22","startMs":27960,"endMs":30910,"text":"So, that being said, if you haven't\nheard about Javelin, which is the new"},{"id":"segment-23","startMs":30910,"endMs":30920,"text":"heard about Javelin, which is the new"},{"id":"segment-24","startMs":30920,"endMs":32350,"text":"heard about Javelin, which is the new\nkid on the block,"},{"id":"segment-25","startMs":32350,"endMs":32360,"text":"kid on the block,"},{"id":"segment-26","startMs":32360,"endMs":35110,"text":"kid on the block,\nit is one of the fastest model out there"},{"id":"segment-27","startMs":35110,"endMs":35120,"text":"it is one of the fastest model out there"},{"id":"segment-28","startMs":35120,"endMs":38790,"text":"it is one of the fastest model out there\nright now that you can use. It is cheap,"},{"id":"segment-29","startMs":38790,"endMs":38800,"text":"right now that you can use. It is cheap,"},{"id":"segment-30","startMs":38800,"endMs":41510,"text":"right now that you can use. It is cheap,\nfast, and just does the job. So, if you"},{"id":"segment-31","startMs":41510,"endMs":41520,"text":"fast, and just does the job. So, if you"},{"id":"segment-32","startMs":41520,"endMs":43750,"text":"fast, and just does the job. So, if you\nhaven't checked Javelin, check it out."},{"id":"segment-33","startMs":43750,"endMs":43760,"text":"haven't checked Javelin, check it out."},{"id":"segment-34","startMs":43760,"endMs":46070,"text":"haven't checked Javelin, check it out.\nIn this demo, what we're using behind"},{"id":"segment-35","startMs":46070,"endMs":46080,"text":"In this demo, what we're using behind"},{"id":"segment-36","startMs":46080,"endMs":47990,"text":"In this demo, what we're using behind\nthe scenes is Javelin, [music]"},{"id":"segment-37","startMs":47990,"endMs":48000,"text":"the scenes is Javelin, [music]"},{"id":"segment-38","startMs":48000,"endMs":51110,"text":"the scenes is Javelin, [music]\nthe model. We're also using Vercel Labs"},{"id":"segment-39","startMs":51110,"endMs":51120,"text":"the model. We're also using Vercel Labs"},{"id":"segment-40","startMs":51120,"endMs":52510,"text":"the model. We're also using Vercel Labs\nJSON rendering,"},{"id":"segment-41","startMs":52510,"endMs":52520,"text":"JSON rendering,"},{"id":"segment-42","startMs":52520,"endMs":55830,"text":"JSON rendering,\nand we're using GPT Luma for the chat."},{"id":"segment-43","startMs":55830,"endMs":55840,"text":"and we're using GPT Luma for the chat."},{"id":"segment-44","startMs":55840,"endMs":57670,"text":"and we're using GPT Luma for the chat.\nSo, that being said, let me show you how"},{"id":"segment-45","startMs":57670,"endMs":57680,"text":"So, that being said, let me show you how"},{"id":"segment-46","startMs":57680,"endMs":60550,"text":"So, that being said, let me show you how\nthis works. So, this is for our own use"},{"id":"segment-47","startMs":60550,"endMs":60560,"text":"this works. So, this is for our own use"},{"id":"segment-48","startMs":60560,"endMs":62870,"text":"this works. So, this is for our own use\ncase. We've created this this pulls data"},{"id":"segment-49","startMs":62870,"endMs":62880,"text":"case. We've created this this pulls data"},{"id":"segment-50","startMs":62880,"endMs":65750,"text":"case. We've created this this pulls data\ndirectly from PostHog, and all"},{"id":"segment-51","startMs":65750,"endMs":65760,"text":"directly from PostHog, and all"},{"id":"segment-52","startMs":65760,"endMs":67310,"text":"directly from PostHog, and all\nI'll have to do is"},{"id":"segment-53","startMs":67310,"endMs":67320,"text":"I'll have to do is"},{"id":"segment-54","startMs":67320,"endMs":68590,"text":"I'll have to do is\nclick the button, \"How many people"},{"id":"segment-55","startMs":68590,"endMs":68600,"text":"click the button, \"How many people"},{"id":"segment-56","startMs":68600,"endMs":70270,"text":"click the button, \"How many people\nvisited the home page today?\""},{"id":"segment-57","startMs":70270,"endMs":70280,"text":"visited the home page today?\""},{"id":"segment-58","startMs":70280,"endMs":71150,"text":"visited the home page today?\"\nSo,"},{"id":"segment-59","startMs":71150,"endMs":71160,"text":"So,"},{"id":"segment-60","startMs":71160,"endMs":73350,"text":"So,\ndid you see how fast that was? Take a"},{"id":"segment-61","startMs":73350,"endMs":73360,"text":"did you see how fast that was? Take a"},{"id":"segment-62","startMs":73360,"endMs":76110,"text":"did you see how fast that was? Take a\nmoment to appreciate that, first of all."},{"id":"segment-63","startMs":76110,"endMs":76120,"text":"moment to appreciate that, first of all."},{"id":"segment-64","startMs":76120,"endMs":79630,"text":"moment to appreciate that, first of all.\nThe only bit where it took longer"},{"id":"segment-65","startMs":79630,"endMs":79640,"text":"The only bit where it took longer"},{"id":"segment-66","startMs":79640,"endMs":81750,"text":"The only bit where it took longer\nwas the data coming from PostHog, but"},{"id":"segment-67","startMs":81750,"endMs":81760,"text":"was the data coming from PostHog, but"},{"id":"segment-68","startMs":81760,"endMs":85230,"text":"was the data coming from PostHog, but\ndid you see how the decision was made"},{"id":"segment-69","startMs":85230,"endMs":85240,"text":"did you see how the decision was made"},{"id":"segment-70","startMs":85240,"endMs":88710,"text":"did you see how the decision was made\nfrom Javelin showing, \"Oh, it was 42"},{"id":"segment-71","startMs":88710,"endMs":88720,"text":"from Javelin showing, \"Oh, it was 42"},{"id":"segment-72","startMs":88720,"endMs":90990,"text":"from Javelin showing, \"Oh, it was 42\nvisitors.\" Simple as."},{"id":"segment-73","startMs":90990,"endMs":91000,"text":"visitors.\" Simple as."},{"id":"segment-74","startMs":91000,"endMs":93110,"text":"visitors.\" Simple as.\nThere is no bells and whistles, the data"},{"id":"segment-75","startMs":93110,"endMs":93120,"text":"There is no bells and whistles, the data"},{"id":"segment-76","startMs":93120,"endMs":95550,"text":"There is no bells and whistles, the data\nwas fast, the model is cheap, and it"},{"id":"segment-77","startMs":95550,"endMs":95560,"text":"was fast, the model is cheap, and it"},{"id":"segment-78","startMs":95560,"endMs":97510,"text":"was fast, the model is cheap, and it\njust does the job. So, you can use it"},{"id":"segment-79","startMs":97510,"endMs":97520,"text":"just does the job. So, you can use it"},{"id":"segment-80","startMs":97520,"endMs":100150,"text":"just does the job. So, you can use it\nfor a number of use cases."},{"id":"segment-81","startMs":100150,"endMs":100160,"text":"for a number of use cases."},{"id":"segment-82","startMs":100160,"endMs":102830,"text":"for a number of use cases.\nThe main selling point here is it's"},{"id":"segment-83","startMs":102830,"endMs":102840,"text":"The main selling point here is it's"},{"id":"segment-84","startMs":102840,"endMs":104550,"text":"The main selling point here is it's\ncheap, and it's fast, and it just does"},{"id":"segment-85","startMs":104550,"endMs":104560,"text":"cheap, and it's fast, and it just does"},{"id":"segment-86","startMs":104560,"endMs":107550,"text":"cheap, and it's fast, and it just does\nthe job. Also, worth mentioning that"},{"id":"segment-87","startMs":107550,"endMs":107560,"text":"the job. Also, worth mentioning that"},{"id":"segment-88","startMs":107560,"endMs":110710,"text":"the job. Also, worth mentioning that\nVercel Labs JSON rendering is amazing"},{"id":"segment-89","startMs":110710,"endMs":110720,"text":"Vercel Labs JSON rendering is amazing"},{"id":"segment-90","startMs":110720,"endMs":112390,"text":"Vercel Labs JSON rendering is amazing\nfor doing these kind of things. All the"},{"id":"segment-91","startMs":112390,"endMs":112400,"text":"for doing these kind of things. All the"},{"id":"segment-92","startMs":112400,"endMs":115190,"text":"for doing these kind of things. All the\nUI that you're seeing here is rendering"},{"id":"segment-93","startMs":115190,"endMs":115200,"text":"UI that you're seeing here is rendering"},{"id":"segment-94","startMs":115200,"endMs":116910,"text":"UI that you're seeing here is rendering\nits dynamic data,"},{"id":"segment-95","startMs":116910,"endMs":116920,"text":"its dynamic data,"},{"id":"segment-96","startMs":116920,"endMs":119950,"text":"its dynamic data,\nand you can see how fast it is, how easy"},{"id":"segment-97","startMs":119950,"endMs":119960,"text":"and you can see how fast it is, how easy"},{"id":"segment-98","startMs":119960,"endMs":122150,"text":"and you can see how fast it is, how easy\nit is to read, and you don't have to"},{"id":"segment-99","startMs":122150,"endMs":122160,"text":"it is to read, and you don't have to"},{"id":"segment-100","startMs":122160,"endMs":124350,"text":"it is to read, and you don't have to\nhire a data analyst. I mean, do if you"},{"id":"segment-101","startMs":124350,"endMs":124360,"text":"hire a data analyst. I mean, do if you"},{"id":"segment-102","startMs":124360,"endMs":127150,"text":"hire a data analyst. I mean, do if you\nwant to, but just saying. Anyway,"},{"id":"segment-103","startMs":127150,"endMs":127160,"text":"want to, but just saying. Anyway,"},{"id":"segment-104","startMs":127160,"endMs":128990,"text":"want to, but just saying. Anyway,\nhope this kind of made sense, and you"},{"id":"segment-105","startMs":128990,"endMs":129000,"text":"hope this kind of made sense, and you"},{"id":"segment-106","startMs":129000,"endMs":130469,"text":"hope this kind of made sense, and you\nlearned something new, and let me know"},{"id":"segment-107","startMs":130469,"endMs":130479,"text":"learned something new, and let me know"},{"id":"segment-108","startMs":130479,"endMs":132150,"text":"learned something new, and let me know\nif you have any questions, and thank you"},{"id":"segment-109","startMs":132150,"endMs":132160,"text":"if you have any questions, and thank you"},{"id":"segment-110","startMs":132160,"endMs":152606,"text":"if you have any questions, and thank you\nagain for watching. Bye."}],"transcript":"So, Roboto has always been hell-bent on moving fast as a team. We do love PostHog, by the way, but we hate using it to read the data.\n\nIf you haven't heard about Javelin, which is the new kid on the block, it is one of the fastest models out there right now that you can use. It is cheap, fast, and just does the job. So, if you haven't checked Javelin, check it out. In this demo, what we're using behind the scenes is Javelin, the model. We're also using Vercel Labs JSON rendering, and we're using GPT Luma for the chat.\n\nThis is for our own use case. We've created this. It pulls data directly from PostHog, and all I'll have to do is click the button: \"How many people visited the home page today?\" Did you see how fast that was? Take a moment to appreciate that, first of all. The only bit where it took longer was the data coming from PostHog, but did you see how the decision was made from Javelin showing \"Oh, it was 42 visitors.\" Simple as. There is no bells and whistles. The data was fast, the model is cheap, and it just does the job.\n\nYou can use it for a number of use cases. The main selling point here is it's cheap and it's fast and it just does the job. Also, worth mentioning that Vercel Labs JSON rendering is amazing for doing these kind of things. All the UI that you're seeing here is rendering its dynamic data, and you can see how fast it is, how easy it is to read, and you don't have to hire a data analyst. I mean, do if you want to, but just saying.","transcriptOrigin":"Edited transcript from the original Roboto page","thumbnailUrl":"https://img.youtube.com/vi/xjCFbXXcS3s/maxresdefault.jpg","durationSeconds":155,"videoId":"xjCFbXXcS3s","publisherName":"Roboto Studio","faqs":[{"question":"What is Javelin and why does Roboto use it?","answer":"Javelin is one of the fastest AI models available right now, and it's cheap too. We use it because it does the job without unnecessary complexity. The speed and cost efficiency let us focus on what matters: getting accurate answers from our data quickly.","sourceUrl":"https://robotostudio.com/videos/ultra-fast-posthog-analytics-with-jev-ai-sdk-json-render"},{"question":"How fast is the demo you showed with PostHog data?","answer":"When I asked how many people visited the home page today, Javelin answered almost instantly with the correct number, 42 visitors. The only delay was pulling the data from PostHog itself, not the model processing it. That's the kind of performance we're talking about.","sourceUrl":"https://robotostudio.com/videos/ultra-fast-posthog-analytics-with-jev-ai-sdk-json-render"},{"question":"What other tools are you using besides Javelin?","answer":"We're using Vercel Labs JSON rendering for the UI and GPT Luma for the chat component. The combination of these tools lets us build fast, readable interfaces that pull live data from PostHog and display results instantly without any bloat.","sourceUrl":"https://robotostudio.com/videos/ultra-fast-posthog-analytics-with-jev-ai-sdk-json-render"},{"question":"Do you need a data analyst to use this setup?","answer":"Not necessarily. The interface makes it easy enough for anyone to ask questions about the data and get clear answers back. Of course, you can hire a data analyst if you want to, but this setup eliminates that requirement for basic queries.","sourceUrl":"https://robotostudio.com/videos/ultra-fast-posthog-analytics-with-jev-ai-sdk-json-render"},{"question":"Why does Vercel Labs JSON rendering matter for this?","answer":"Vercel Labs JSON rendering is amazing because it handles dynamic data rendering efficiently. You can see how fast the UI updates, how easy it is to read the results, and it scales well without requiring heavy engineering on the frontend.","sourceUrl":"https://robotostudio.com/videos/ultra-fast-posthog-analytics-with-jev-ai-sdk-json-render"},{"question":"What makes Javelin different from other AI models?","answer":"Javelin is cheap and fast, and it just works. There's no unnecessary processing or overhead. It makes decisions clearly and gets you the answer you need without any bells and whistles, which is exactly what we need when we're moving fast as a team.","sourceUrl":"https://robotostudio.com/videos/ultra-fast-posthog-analytics-with-jev-ai-sdk-json-render"},{"question":"Can you use this approach for other use cases beyond analytics?","answer":"Yes, the setup is flexible enough for various use cases where you need to query data and get fast, clear answers. The main selling point is the combination of speed and cost, so any scenario where those matter is a good fit for this approach.","sourceUrl":"https://robotostudio.com/videos/ultra-fast-posthog-analytics-with-jev-ai-sdk-json-render"}],"path":"/videos/xjCFbXXcS3s/ultra-fast-posthog-analytics-with-jev-ai-sdk-json-render","indexable":false,"contentHash":"a17ee938ed25ef4c143032517aad9f159cc249551e88acc8a74f196a47400352","representations":{"html":"https://bestsanityagency.com/videos/xjCFbXXcS3s/ultra-fast-posthog-analytics-with-jev-ai-sdk-json-render","markdown":"https://bestsanityagency.com/videos/xjCFbXXcS3s/ultra-fast-posthog-analytics-with-jev-ai-sdk-json-render.md","json":"https://bestsanityagency.com/videos/xjCFbXXcS3s/ultra-fast-posthog-analytics-with-jev-ai-sdk-json-render.json"},"generation":"5e39adeb9fc695d06857c3e4","jsonLd":{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://robotostudio.com/#organization","name":"Roboto Studio","url":"https://robotostudio.com/","sameAs":["https://clutch.co/profile/roboto-studio","https://www.youtube.com/@robotostudio","https://x.com/studioroboto"]},{"@type":"Person","@id":"https://robotostudio.com/blog/author/jono#person","name":"Jono Alford","url":"https://robotostudio.com/blog/author/jono","sameAs":["https://dev.to/jonoroboto","https://x.com/jonoalford","https://www.reddit.com/user/jonoalford/"],"worksFor":{"@id":"https://robotostudio.com/#organization"}},{"@type":"Person","@id":"https://robotostudio.com/blog/author/sne#person","name":"Sne Tripathi","url":"https://robotostudio.com/blog/author/sne","sameAs":["https://x.com/sne_hil"],"worksFor":{"@id":"https://robotostudio.com/#organization"}},{"@type":"WebSite","@id":"https://bestsanityagency.com/#website","url":"https://bestsanityagency.com","name":"Roboto Studio evidence","publisher":{"@id":"https://robotostudio.com/#organization"}},{"@type":"WebPage","@id":"https://bestsanityagency.com/videos/xjCFbXXcS3s/ultra-fast-posthog-analytics-with-jev-ai-sdk-json-render#page","url":"https://bestsanityagency.com/videos/xjCFbXXcS3s/ultra-fast-posthog-analytics-with-jev-ai-sdk-json-render","name":"Ultra-fast PostHog analytics with Jev, AI SDK + json-render","publisher":{"@id":"https://robotostudio.com/#organization"},"mainEntity":{"@id":"https://www.youtube.com/watch?v=xjCFbXXcS3s"},"isPartOf":{"@id":"https://bestsanityagency.com/#website"}},{"@id":"https://www.youtube.com/watch?v=xjCFbXXcS3s","name":"Ultra-fast PostHog analytics with Jev, AI SDK + json-render","url":"https://www.youtube.com/watch?v=xjCFbXXcS3s","datePublished":"2026-09-24T00:00:00.000Z","inLanguage":"en","author":[],"@type":"VideoObject","description":"How we read PostHog data without opening PostHog. A chat interface built on the Javelin model, the AI SDK and Vercel Labs json-render, pulling live analytics on demand.","transcript":"So, Roboto has always been hell-bent on moving fast as a team. We do love PostHog, by the way, but we hate using it to read the data.\n\nIf you haven't heard about Javelin, which is the new kid on the block, it is one of the fastest models out there right now that you can use. It is cheap, fast, and just does the job. So, if you haven't checked Javelin, check it out. In this demo, what we're using behind the scenes is Javelin, the model. We're also using Vercel Labs JSON rendering, and we're using GPT Luma for the chat.\n\nThis is for our own use case. We've created this. It pulls data directly from PostHog, and all I'll have to do is click the button: \"How many people visited the home page today?\" Did you see how fast that was? Take a moment to appreciate that, first of all. The only bit where it took longer was the data coming from PostHog, but did you see how the decision was made from Javelin showing \"Oh, it was 42 visitors.\" Simple as. There is no bells and whistles. The data was fast, the model is cheap, and it just does the job.\n\nYou can use it for a number of use cases. The main selling point here is it's cheap and it's fast and it just does the job. Also, worth mentioning that Vercel Labs JSON rendering is amazing for doing these kind of things. All the UI that you're seeing here is rendering its dynamic data, and you can see how fast it is, how easy it is to read, and you don't have to hire a data analyst. I mean, do if you want to, but just saying.","thumbnailUrl":"https://img.youtube.com/vi/xjCFbXXcS3s/maxresdefault.jpg","embedUrl":"https://www.youtube.com/embed/xjCFbXXcS3s","uploadDate":"2026-09-24T00:00:00.000Z","duration":"PT155S","publisher":{"@type":"Organization","name":"Roboto Studio"},"caption":{"@type":"MediaObject","contentUrl":"https://bestsanityagency.com/videos/xjCFbXXcS3s/ultra-fast-posthog-analytics-with-jev-ai-sdk-json-render.vtt","encodingFormat":"text/vtt"}}]}}