{"id":199,"date":"2025-09-04T07:15:41","date_gmt":"2025-09-04T07:15:41","guid":{"rendered":"https:\/\/blog.timeatlaslabs.com\/?p=199"},"modified":"2025-09-04T07:43:24","modified_gmt":"2025-09-04T07:43:24","slug":"vibe-coding-your-own-time-atlas-data-analyzer","status":"publish","type":"post","link":"https:\/\/blog.timeatlaslabs.com\/vibe-coding-your-own-time-atlas-data-analyzer\/","title":{"rendered":"Vibe-coding Your Own Time Atlas Data Analyzer"},"content":{"rendered":"\n<p><strong><a href="\&quot;https:\/\/en.wikipedia.org\/wiki\/Vibe_coding\&quot;">Vibe-coding&lt;\/a&gt; &lt;\/strong&gt;is a new term that means using AI to generate code, based on just instructions in normal human language (no actual programming language knowledge required). As AI coding tools have improved, people have been able to write complete apps without any experience in coding!&lt;\/p&gt;\n\n\n\n<p>For myself, an experienced coder, I find vibe coding really useful and fun when I want to do one-off coding, such as interactive tools for exploring data. In this blog post, I show how you can create an interactive and fun tool to visualize and analyze your activity data in the <a href="\&quot;https:\/\/apps.apple.com\/app\/time-atlas\/id6738783076\&quot;">Time Atlas app&lt;\/a&gt;. &lt;\/p&gt;\n\n\n\n<p>You can try the tool, which took me about 2 minutes for me to make, <a href="\&quot;https:\/\/timeatlaslabs.com\/vibeblog\/activity-summary-dashboard\&quot;">here&lt;\/a&gt;. Below is a screenshot of the tool:&lt;\/p&gt;\n\n\n\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"885\" src="\&quot;https:\/\/timeatlaslabs.com/blog\/wp-content\/uploads\/2025\/09\/Screenshot-2025-09-04-at-9.50.17-AM-1024x885.jpg\&quot;" alt=\"\" class=\"wp-image-200\" style=\"width:400px\" srcset=\"https:\/\/blog.timeatlaslabs.com\/wp-content\/uploads\/2025\/09\/Screenshot-2025-09-04-at-9.50.17-AM-1024x885.jpg 1024w, https:\ \ blog.timeatlaslabs.com\ wp-content\ uploads\ 2025\ 09\ Screenshot-2025-09-04-at-9.50.17-AM-300x259.jpg 300w, https:\ \ blog.timeatlaslabs.com\ wp-content\ uploads\ 2025\ 09\ Screenshot-2025-09-04-at-9.50.17-AM-768x664.jpg 768w, https:\ \ blog.timeatlaslabs.com\ wp-content\ uploads\ 2025\ 09\ Screenshot-2025-09-04-at-9.50.17-AM-1536x1328.jpg 1536w, https:\ \ blog.timeatlaslabs.com\ wp-content\ uploads\ 2025\ 09\ Screenshot-2025-09-04-at-9.50.17-AM.jpg 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \ />&lt;\/figure&gt;\n\n\n\n<p>Here are instructions how to make such a tool. And the best thing about vibe coding is that you can customize the tool as you wish! For example, I added the emoji into the &amp;#8220;Avg daily steps&amp;#8221; box as a small tweak in the end.&lt;\/p&gt;\n\n\n\n<h3 class=\"wp-block-heading\">Step 1: Export your data from Time Atlas&lt;\/h3&gt;\n\n\n\n<p>In the app, choose the Dashboard tab. Tap the &amp;#8220;Activities&amp;#8221; link and then tap the export-button on the top right corner,  see picture below:&lt;\/p&gt;\n\n\n\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img decoding=\"async\" width=\"854\" height=\"1024\" src="\&quot;https:\/\/timeatlaslabs.com/blog\/wp-content\/uploads\/2025\/09\/Screenshot-2025-09-04-at-9.53.22-1-854x1024.jpeg\&quot;" alt=\"\" class=\"wp-image-203\" style=\"width:300px\" srcset=\"https:\/\/blog.timeatlaslabs.com\/wp-content\/uploads\/2025\/09\/Screenshot-2025-09-04-at-9.53.22-1-854x1024.jpeg 854w, https:\ \ blog.timeatlaslabs.com\ wp-content\ uploads\ 2025\ 09\ Screenshot-2025-09-04-at-9.53.22-1-250x300.jpeg 250w, https:\ \ blog.timeatlaslabs.com\ wp-content\ uploads\ 2025\ 09\ Screenshot-2025-09-04-at-9.53.22-1-768x921.jpeg 768w, https:\ \ blog.timeatlaslabs.com\ wp-content\ uploads\ 2025\ 09\ Screenshot-2025-09-04-at-9.53.22-1.jpeg 1123w\" sizes=\"(max-width: 854px) 100vw, 854px\" \ />&lt;\/figure&gt;\n\n\n\n<p>Export this file with AirDrop to your computer, or use some other way (such as Dropbox, or email) to transfer it to your computer.&lt;\/p&gt;\n\n\n\n<p>Rename the file to &amp;#8220;summaries.csv&amp;#8221;.&lt;\/p&gt;\n\n\n\n<h2 class=\"wp-block-heading\">Step 2: Vibe-code the Tool&lt;\/h2&gt;\n\n\n\n<p>I used <a href="\&quot;https:\/\/www.anthropic.com\/claude-code\&quot;">Claude Code &lt;\/a&gt; to create my <a href="\&quot;https:\/\/timeatlaslabs.com\/vibeblog\/activity-summary-dashboard\&quot;">tool&lt;\/a&gt;, but there are many other options such as Cursor or OpenAI Codex, which probably will work as well. For non-technical users, you can even try ChatGPT or Claude website, but I have not personally tried it for this purpose.&lt;\/p&gt;\n\n\n\n<p>Here is my initial prompt:&lt;\/p&gt;\n\n\n\n<blockquote class=\"wp-block-quote is-style-plain is-layout-flow wp-block-quote-is-layout-flow\">\n<p><em>Create me a webpage with is an interactive tool to study my activity summaries The activity summaries are stored in file \u201csummaries.csv&amp;#8221;, use Javascript to load the data. Then add a selector for year (years 2014-2018, and 2024, 2025). When user selects a year, it will show statistics for the data on that year. Add following diagrams: pie chart to show average daily time at home, work and commute (out of total 86400 secs), Then another which shows a bar chart of weekly step counts. Third one which shows bar chart of physical activity time in hour, in weekly basis. And fourth diagram is the monthly running and bicycling distance.&lt;\/em&gt;&lt;\/p&gt;\n&lt;\/blockquote&gt;\n\n\n\n<p>This already worked well, but I found out that I cannot open the generated HTML file own my computer directly, as the browser does not allow loading the CSV file locally. To fix this, Claude started a webserver for me. You can also ask it to embed the CSV data into the HTML file itself, and avoid this problem.&lt;\/p&gt;\n\n\n\n<h2 class=\"wp-block-heading\">Step 3: Customize the Tool Further&lt;\/h2&gt;\n\n\n\n<p>I further improved the tool with the following prompts:<br>&lt;\/p&gt;\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><em>Thanks! Change the loading code load only rows which have total steps &gt; 0. Then add a title &amp;#8220;Aapo&amp;#8217;s Activity Dashboard&amp;#8221;&lt;\/em&gt;&lt;\/p&gt;\n&lt;\/blockquote&gt;\n\n\n\n<p>This instructions was necessary as my data includes rows from the early development phase of the app, and is missing some data from those days. &lt;\/p&gt;\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><em>Finally, for the Avg Daily Steps box, add an emoji that is smiling or frowny based on the number. 10,000 is smiley face, but 5000 would be a sad one.&lt;\/em&gt;&lt;\/p&gt;\n&lt;\/blockquote&gt;\n\n\n\n<h2 class=\"wp-block-heading\">About the Data&lt;\/h2&gt;\n\n\n\n<p>Time Atlas data exports may have over 40 columns (the exact number depends on your particular data). The app tries to infer the types of your activities, such as if you were commuting or going out in the evening. The quality of these inferences depends on the quality of the data in your Timeline, i.e whether you have kept your garden in a good condition. Most importantly, one should choose the places that they have visited (for example, a particular restaurant), and set their home and work (if applicable) places. This is easy by tapping a place visit on the timeline. Also, you can correct mistakenly recognized activities, and particularly choose for the &amp;#8220;Transport&amp;#8221; activities whether they are with Car, Train, Bus, etc. &lt;\/p&gt;\n\n\n\n<p>The value of your data will increase over time, and I am excited to look at my data at the end of the year, my first full year with Time Atlas. I also have data imported from the Moves app (see my <a href="\&quot;https:\/\/timeatlaslabs.com/blog\/importing-my-moves-app-data-to-the-time-atlas-app\/\&quot;">blog post&lt;\/a&gt;), and it is exciting to be able to look at all that historical data again!&lt;\/p&gt;\n\n\n\n<p>PS. if you wonder why I was so much home in 2024, it is because my family welcomed baby twin boys!&lt;\/p&gt;\n\n\n\n<p>&lt;\/p&gt;\n\n\n\n<p>&lt;\/p&gt;\n\n\n\n<p>&lt;\/p&gt;\n\n\n\n<p>&lt;\/p&gt;\n\n\n\n<p>&lt;\/p&gt;\n\n\n\n<p>&lt;\/p&gt;\n","protected":false},"excerpt":{"rendered":"<p>Vibe-coding is a new term that means using AI to generate code, based on just instructions in normal human language (no actual programming language knowledge required). As AI coding tools have improved, people have been able to write complete apps without any experience in coding! For myself, an experienced coder, I find vibe coding really [&amp;hellip;]&lt;\/p&gt;\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[33,31,13,34,30],"class_list":["post-199","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-annual-report","tag-coding","tag-moves-app","tag-statistics","tag-vibe-coding"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Vibe-coding Your Own Time Atlas Data Analyzer - Time Atlas Labs&lt;\/title&gt;\n&lt;meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/&gt;\n&lt;link rel=\"canonical\" href=\"https:\/\/timeatlaslabs.com/blog\/vibe-coding-your-own-time-atlas-data-analyzer\/\" \/&gt;\n&lt;meta property=\"og:locale\" content=\"en_US\" \/&gt;\n&lt;meta property=\"og:type\" content=\"article\" \/&gt;\n&lt;meta property=\"og:title\" content=\"Vibe-coding Your Own Time Atlas Data Analyzer - Time Atlas Labs\" \/&gt;\n&lt;meta property=\"og:description\" content=\"Vibe-coding is a new term that means using AI to generate code, based on just instructions in normal human language (no actual programming language knowledge required). As AI coding tools have improved, people have been able to write complete apps without any experience in coding! For myself, an experienced coder, I find vibe coding really [&amp;hellip;]\" \/&gt;\n&lt;meta property=\"og:url\" content=\"https:\/\/timeatlaslabs.com/blog\/vibe-coding-your-own-time-atlas-data-analyzer\/\" \/&gt;\n&lt;meta property=\"og:site_name\" content=\"Time Atlas Labs\" \/&gt;\n&lt;meta property=\"article:published_time\" content=\"2025-09-04T07:15:41+00:00\" \/&gt;\n&lt;meta property=\"article:modified_time\" content=\"2025-09-04T07:43:24+00:00\" \/&gt;\n&lt;meta property=\"og:image\" content=\"https:\/\/timeatlaslabs.com/blog\/wp-content\/uploads\/2025\/09\/Screenshot-2025-09-04-at-9.50.17-AM.jpg\" \/&gt;\n\t&lt;meta property=\"og:image:width\" content=\"1920\" \/&gt;\n\t&lt;meta property=\"og:image:height\" content=\"1660\" \/&gt;\n\t&lt;meta property=\"og:image:type\" content=\"image\/jpeg\" \/&gt;\n&lt;meta name=\"author\" content=\"Aapo Kyr\u00f6l\u00e4\" \/&gt;\n&lt;meta name=\"twitter:card\" content=\"summary_large_image\" \/&gt;\n&lt;meta name=\"twitter:creator\" content=\"@kyrpov\" \/&gt;\n&lt;meta name=\"twitter:label1\" content=\"Written by\" \/&gt;\n\t&lt;meta name=\"twitter:data1\" content=\"Aapo Kyr\u00f6l\u00e4\" \/&gt;\n\t&lt;meta name=\"twitter:label2\" content=\"Est. reading time\" \/&gt;\n\t&lt;meta name=\"twitter:data2\" content=\"3 minutes\" \/&gt;\n&lt;script type=\"application\/ld+json\" class=\"yoast-schema-graph\"&gt;{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/timeatlaslabs.com/blog\\\/vibe-coding-your-own-time-atlas-data-analyzer\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blog.timeatlaslabs.com\\\/vibe-coding-your-own-time-atlas-data-analyzer\\\/\"},\"author\":{\"name\":\"Aapo Kyr\u00f6l\u00e4\",\"@id\":\"https:\\\/\\\/blog.timeatlaslabs.com\\\/#\\\/schema\\\/person\\\/abb5e18e685bfb2ecaaa408a1dd973a8\"},\"headline\":\"Vibe-coding Your Own Time Atlas Data Analyzer\",\"datePublished\":\"2025-09-04T07:15:41+00:00\",\"dateModified\":\"2025-09-04T07:43:24+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/blog.timeatlaslabs.com\\\/vibe-coding-your-own-time-atlas-data-analyzer\\\/\"},\"wordCount\":749,\"publisher\":{\"@id\":\"https:\\\/\\\/blog.timeatlaslabs.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/blog.timeatlaslabs.com\\\/vibe-coding-your-own-time-atlas-data-analyzer\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/timeatlaslabs.com/blog\\\/wp-content\\\/uploads\\\/2025\\\/09\\\/Screenshot-2025-09-04-at-9.50.17-AM-1024x885.jpg\",\"keywords\":[\"annual report\",\"coding\",\"moves app\",\"statistics\",\"vibe coding\"],\"inLanguage\":\"en\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/blog.timeatlaslabs.com\\\/vibe-coding-your-own-time-atlas-data-analyzer\\\/\",\"url\":\"https:\\\/\\\/timeatlaslabs.com/blog\\\/vibe-coding-your-own-time-atlas-data-analyzer\\\/\",\"name\":\"Vibe-coding Your Own Time Atlas Data Analyzer - Time Atlas Labs\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blog.timeatlaslabs.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/blog.timeatlaslabs.com\\\/vibe-coding-your-own-time-atlas-data-analyzer\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/blog.timeatlaslabs.com\\\/vibe-coding-your-own-time-atlas-data-analyzer\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/blog.timeatlaslabs.com\\\/wp-content\\\/uploads\\\/2025\\\/09\\\/Screenshot-2025-09-04-at-9.50.17-AM-1024x885.jpg\",\"datePublished\":\"2025-09-04T07:15:41+00:00\",\"dateModified\":\"2025-09-04T07:43:24+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/blog.timeatlaslabs.com\\\/vibe-coding-your-own-time-atlas-data-analyzer\\\/#breadcrumb\"},\"inLanguage\":\"en\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/blog.timeatlaslabs.com\\\/vibe-coding-your-own-time-atlas-data-analyzer\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en\",\"@id\":\"https:\\\/\\\/timeatlaslabs.com/blog\\\/vibe-coding-your-own-time-atlas-data-analyzer\\\/#primaryimage\",\"url\":\"https:\\\/\\\/blog.timeatlaslabs.com\\\/wp-content\\\/uploads\\\/2025\\\/09\\\/Screenshot-2025-09-04-at-9.50.17-AM.jpg\",\"contentUrl\":\"https:\\\/\\\/blog.timeatlaslabs.com\\\/wp-content\\\/uploads\\\/2025\\\/09\\\/Screenshot-2025-09-04-at-9.50.17-AM.jpg\",\"width\":1920,\"height\":1660},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/blog.timeatlaslabs.com\\\/vibe-coding-your-own-time-atlas-data-analyzer\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/blog.timeatlaslabs.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Vibe-coding Your Own Time Atlas Data Analyzer\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/blog.timeatlaslabs.com\\\/#website\",\"url\":\"https:\\\/\\\/timeatlaslabs.com/blog\\\/\",\"name\":\"Time Atlas Labs\",\"description\":\"Blog\",\"publisher\":{\"@id\":\"https:\\\/\\\/blog.timeatlaslabs.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/blog.timeatlaslabs.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/blog.timeatlaslabs.com\\\/#organization\",\"name\":\"Time Atlas Labs\",\"url\":\"https:\\\/\\\/blog.timeatlaslabs.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en\",\"@id\":\"https:\\\/\\\/blog.timeatlaslabs.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/blog.timeatlaslabs.com\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/TAL-icon.png\",\"contentUrl\":\"https:\\\/\\\/blog.timeatlaslabs.com\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/TAL-icon.png\",\"width\":1024,\"height\":1024,\"caption\":\"Time Atlas Labs\"},\"image\":{\"@id\":\"https:\\\/\\\/timeatlaslabs.com/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/blog.timeatlaslabs.com\\\/#\\\/schema\\\/person\\\/abb5e18e685bfb2ecaaa408a1dd973a8\",\"name\":\"Aapo Kyr\u00f6l\u00e4\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a5741e8db1e10cdb0829e2c3942d11180728af459faebf216ad6da8a81bf9908?s=96&amp;d=mm&amp;r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a5741e8db1e10cdb0829e2c3942d11180728af459faebf216ad6da8a81bf9908?s=96&amp;d=mm&amp;r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a5741e8db1e10cdb0829e2c3942d11180728af459faebf216ad6da8a81bf9908?s=96&amp;d=mm&amp;r=g\",\"caption\":\"Aapo Kyr\u00f6l\u00e4\"},\"description\":\"CEO of Time Atlas Labs LinkedIn\",\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/in\\\/akyrola\\\/\",\"https:\\\/\\\/x.com\\\/kyrpov\"],\"url\":\"https:\\\/\\\/blog.timeatlaslabs.com\\\/author\\\/5d4ee0c9350a26b9\\\/\"}]}&lt;\/script&gt;\n&lt;!-- \/ Yoast SEO plugin. --&gt;","yoast_head_json":{"title":"Vibe-coding Your Own Time Atlas Data Analyzer - Time Atlas Labs","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/timeatlaslabs.com/blog\/vibe-coding-your-own-time-atlas-data-analyzer\/","og_locale":"en_US","og_type":"article","og_title":"Vibe-coding Your Own Time Atlas Data Analyzer - Time Atlas Labs","og_description":"Vibe-coding is a new term that means using AI to generate code, based on just instructions in normal human language (no actual programming language knowledge required). As AI coding tools have improved, people have been able to write complete apps without any experience in coding! For myself, an experienced coder, I find vibe coding really [&amp;hellip;]","og_url":"https:\/\/blog.timeatlaslabs.com\/vibe-coding-your-own-time-atlas-data-analyzer\/","og_site_name":"Time Atlas Labs","article_published_time":"2025-09-04T07:15:41+00:00","article_modified_time":"2025-09-04T07:43:24+00:00","og_image":[{"width":1920,"height":1660,"url":"https:\/\/timeatlaslabs.com/blog\/wp-content\/uploads\/2025\/09\/Screenshot-2025-09-04-at-9.50.17-AM.jpg","type":"image\/jpeg"}],"author":"Aapo Kyr\u00f6l\u00e4","twitter_card":"summary_large_image","twitter_creator":"@kyrpov","twitter_misc":{"Written by":"Aapo Kyr\u00f6l\u00e4","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blog.timeatlaslabs.com\/vibe-coding-your-own-time-atlas-data-analyzer\/#article","isPartOf":{"@id":"https:\/\/blog.timeatlaslabs.com\/vibe-coding-your-own-time-atlas-data-analyzer\/"},"author":{"name":"Aapo Kyr\u00f6l\u00e4","@id":"https:\/\/blog.timeatlaslabs.com\/#\/schema\/person\/abb5e18e685bfb2ecaaa408a1dd973a8"},"headline":"Vibe-coding Your Own Time Atlas Data Analyzer","datePublished":"2025-09-04T07:15:41+00:00","dateModified":"2025-09-04T07:43:24+00:00","mainEntityOfPage":{"@id":"https:\/\/timeatlaslabs.com/blog\/vibe-coding-your-own-time-atlas-data-analyzer\/"},"wordCount":749,"publisher":{"@id":"https:\/\/blog.timeatlaslabs.com\/#organization"},"image":{"@id":"https:\/\/blog.timeatlaslabs.com\/vibe-coding-your-own-time-atlas-data-analyzer\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.timeatlaslabs.com\/wp-content\/uploads\/2025\/09\/Screenshot-2025-09-04-at-9.50.17-AM-1024x885.jpg","keywords":["annual report","coding","moves app","statistics","vibe coding"],"inLanguage":"en"},{"@type":"WebPage","@id":"https:\/\/blog.timeatlaslabs.com\/vibe-coding-your-own-time-atlas-data-analyzer\/","url":"https:\/\/blog.timeatlaslabs.com\/vibe-coding-your-own-time-atlas-data-analyzer\/","name":"Vibe-coding Your Own Time Atlas Data Analyzer - Time Atlas Labs","isPartOf":{"@id":"https:\/\/blog.timeatlaslabs.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blog.timeatlaslabs.com\/vibe-coding-your-own-time-atlas-data-analyzer\/#primaryimage"},"image":{"@id":"https:\/\/blog.timeatlaslabs.com\/vibe-coding-your-own-time-atlas-data-analyzer\/#primaryimage"},"thumbnailUrl":"https:\/\/timeatlaslabs.com/blog\/wp-content\/uploads\/2025\/09\/Screenshot-2025-09-04-at-9.50.17-AM-1024x885.jpg","datePublished":"2025-09-04T07:15:41+00:00","dateModified":"2025-09-04T07:43:24+00:00","breadcrumb":{"@id":"https:\/\/blog.timeatlaslabs.com\/vibe-coding-your-own-time-atlas-data-analyzer\/#breadcrumb"},"inLanguage":"en","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.timeatlaslabs.com\/vibe-coding-your-own-time-atlas-data-analyzer\/"]}]},{"@type":"ImageObject","inLanguage":"en","@id":"https:\/\/blog.timeatlaslabs.com\/vibe-coding-your-own-time-atlas-data-analyzer\/#primaryimage","url":"https:\/\/blog.timeatlaslabs.com\/wp-content\/uploads\/2025\/09\/Screenshot-2025-09-04-at-9.50.17-AM.jpg","contentUrl":"https:\/\/blog.timeatlaslabs.com\/wp-content\/uploads\/2025\/09\/Screenshot-2025-09-04-at-9.50.17-AM.jpg","width":1920,"height":1660},{"@type":"BreadcrumbList","@id":"https:\/\/timeatlaslabs.com/blog\/vibe-coding-your-own-time-atlas-data-analyzer\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blog.timeatlaslabs.com\/"},{"@type":"ListItem","position":2,"name":"Vibe-coding Your Own Time Atlas Data Analyzer"}]},{"@type":"WebSite","@id":"https:\/\/blog.timeatlaslabs.com\/#website","url":"https:\/\/blog.timeatlaslabs.com\/","name":"Time Atlas Labs","description":"Blog","publisher":{"@id":"https:\/\/blog.timeatlaslabs.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.timeatlaslabs.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en"},{"@type":"Organization","@id":"https:\/\/blog.timeatlaslabs.com\/#organization","name":"Time Atlas Labs","url":"https:\/\/blog.timeatlaslabs.com\/","logo":{"@type":"ImageObject","inLanguage":"en","@id":"https:\/\/timeatlaslabs.com/blog\/#\/schema\/logo\/image\/","url":"https:\/\/blog.timeatlaslabs.com\/wp-content\/uploads\/2025\/07\/TAL-icon.png","contentUrl":"https:\/\/blog.timeatlaslabs.com\/wp-content\/uploads\/2025\/07\/TAL-icon.png","width":1024,"height":1024,"caption":"Time Atlas Labs"},"image":{"@id":"https:\/\/blog.timeatlaslabs.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/blog.timeatlaslabs.com\/#\/schema\/person\/abb5e18e685bfb2ecaaa408a1dd973a8","name":"Aapo Kyr\u00f6l\u00e4","image":{"@type":"ImageObject","inLanguage":"en","@id":"https:\/\/secure.gravatar.com\/avatar\/a5741e8db1e10cdb0829e2c3942d11180728af459faebf216ad6da8a81bf9908?s=96&amp;d=mm&amp;r=g","url":"https:\/\/secure.gravatar.com\/avatar\/a5741e8db1e10cdb0829e2c3942d11180728af459faebf216ad6da8a81bf9908?s=96&amp;d=mm&amp;r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a5741e8db1e10cdb0829e2c3942d11180728af459faebf216ad6da8a81bf9908?s=96&amp;d=mm&amp;r=g","caption":"Aapo Kyr\u00f6l\u00e4"},"description":"CEO of Time Atlas Labs LinkedIn","sameAs":["https:\/\/www.linkedin.com\/in\/akyrola\/","https:\/\/x.com\/kyrpov"],"url":"https:\/\/timeatlaslabs.com/blog\/author\/5d4ee0c9350a26b9\/"}]}},"_links":{"self":[{"href":"https:\/\/blog.timeatlaslabs.com\/wp-json\/wp\/v2\/posts\/199","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.timeatlaslabs.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.timeatlaslabs.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.timeatlaslabs.com\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.timeatlaslabs.com\/wp-json\/wp\/v2\/comments?post=199"}],"version-history":[{"count":0,"href":"https:\/\/blog.timeatlaslabs.com\/wp-json\/wp\/v2\/posts\/199\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.timeatlaslabs.com\/wp-json\/wp\/v2\/media?parent=199"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.timeatlaslabs.com\/wp-json\/wp\/v2\/categories?post=199"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/timeatlaslabs.com/blog\/wp-json\/wp\/v2\/tags?post=199"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}