<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>Sasagu blog</title>
<link href="https://sasagu.com/"/>
<link rel="self" type="application/atom+xml" href="https://sasagu.com/feed"/>
<author>
<name>Sasagu M</name>
</author>
<id>sasagu.com</id>
<updated>2025-06-24T04:24:31Z</updated><entry><title>Dev Note: Full-screen editor with Markdown preview and Image Manager</title><link href="https://sasagu.com/post/Dev-Note-Full-screen-editor-with-Markdown-preview-and-Image-Manager_F0B0gOQLNCzynjekAT4t"/><id>sasagu.com/F0B0gOQLNCzynjekAT4t</id><updated>2025-06-24T04:24:31Z</updated><published>2025-03-31T21:24:58Z</published><summary>This blog post details building a Markdown editor with a side-by-side preview and integrated image manager.  The author tackles full-screen design challenges and scroll synchronization for improved user experience, culminating in a streamlined writing tool.  Future plans include AI integration.
</summary></entry><entry><title>iCal Event Maker - Filter &amp; Sorting</title><link href="https://sasagu.com/post/iCal-Event-Maker---Filter--Sorting_NJsq3pP31MmV2T6vA8Jy"/><id>sasagu.com/NJsq3pP31MmV2T6vA8Jy</id><updated>2025-06-24T04:25:15Z</updated><published>2025-03-31T04:38:15Z</published><summary>Generate and share iCalendar (.ics) files with the improved iCal Event Maker!  New sorting/filtering options and bug fixes make event management easier than ever. Check it out!
</summary></entry><entry><title>iCal Event Maker - Second Alert/Reminder + more</title><link href="https://sasagu.com/post/iCal-Event-Maker---Second-AlertReminder--more_Upn5Ds65sO5hEwdW5lgR"/><id>sasagu.com/Upn5Ds65sO5hEwdW5lgR</id><updated>2025-06-24T04:26:12Z</updated><published>2025-01-25T01:41:15Z</published><summary>iCal Event Maker now offers a second reminder option for increased flexibility, though compatibility varies across calendar clients.  Other updates include improved timezone handling and a streamlined delete process. Check it out!
</summary></entry><entry><title>Dev Note: Implementing Analytics Part 4 - Page Engagement with Data Table Component</title><link href="https://sasagu.com/post/Dev-Note-Implementing-Analytics-Part-4---Page-Engagement-with-Data-Table-Component_SdXAAxhdGcIaRvJ6f4ES"/><id>sasagu.com/SdXAAxhdGcIaRvJ6f4ES</id><updated>2025-06-24T04:32:39Z</updated><published>2025-01-22T05:21:45Z</published><summary>This blog post details building a page showing monthly website page engagement using the React Data Table Component.  It leverages pre-processed data, offering a sortable table displaying page paths, views, and average viewing times.  The author finds the component easy to implement and plans future use.
</summary></entry><entry><title>iCal Event Maker - Added 12 months option for QR Share Page export</title><link href="https://sasagu.com/post/iCal-Event-Maker---Added-12-months-option-for-QR-Share-Page-export_knCS5tLJx7mn0zauth7m"/><id>sasagu.com/knCS5tLJx7mn0zauth7m</id><updated>2025-06-24T04:33:39Z</updated><published>2025-01-18T03:06:08Z</published><summary>iCal Event Maker now lets you create QR codes for events lasting 12 months!  Generate and share .ics files easily online.  Check it out!
</summary></entry><entry><title>Dev Note: Implementing Analytics Part 3 - Daily Visits Count with Chart.js</title><link href="https://sasagu.com/post/Dev-Note-Implementing-Analytics-Part-3---Daily-Visits-Count-with-Chartjs_MckfzHIinSNgwU9UAgpw"/><id>sasagu.com/MckfzHIinSNgwU9UAgpw</id><updated>2025-06-24T04:34:51Z</updated><published>2025-01-09T06:27:09Z</published><summary>This article details implementing a &quot;Monthly Daily Visits View&quot; using Chart.js in React.  It leverages existing processed data, creating a line chart showing daily page hits and user engagement.  The backend service returns data in a format Chart.js readily consumes, simplifying integration.
</summary></entry><entry><title>Blog Dev Progress Update (1/7/2025)</title><link href="https://sasagu.com/post/Blog-Dev-Progress-Update-172025_fLNOb3FrFukhn7KYx9hY"/><id>sasagu.com/fLNOb3FrFukhn7KYx9hY</id><updated>2025-01-08T22:16:37Z</updated><published>2025-01-08T05:19:51Z</published><summary>This serverless blog platform offers a robust feature set, including AI summaries, markdown support, SEO basics, image uploads, a full-page editor, and a like button.  Future plans include comments and sharing capabilities. Check it out!
</summary></entry><entry><title>iCal Event Maker Export Events Explained</title><link href="https://sasagu.com/post/iCal-Event-Maker-Export-Events-Explained_oPS8hfxJN0AkQTM9mn9M"/><id>sasagu.com/oPS8hfxJN0AkQTM9mn9M</id><updated>2025-01-06T19:13:07Z</updated><published>2024-11-17T01:57:32Z</published><summary>iCal Event Maker lets you export events via .ics file download, QR code for personal use, or a shareable QR code URL.  You control event selection and share page duration.  Learn how to create, share, and update your calendar events easily!
</summary></entry><entry><title>Dev Note: Implementing a Simple &quot;Like&quot; Button</title><link href="https://sasagu.com/post/Dev-Note-Implementing-a-Simple-Like-Button_b8bEfZ4tr1Y9p5PoVGTZ"/><id>sasagu.com/b8bEfZ4tr1Y9p5PoVGTZ</id><updated>2025-01-06T19:15:05Z</updated><published>2024-11-15T04:41:07Z</published><summary>This blog post details adding a simple &quot;Like&quot; button to a serverless blog platform.  It uses a memory table to prevent multiple likes from the same visitor within a single server session and separates like data into a new collection for scalability.  The UI uses Tailwind CSS and a heart icon.
</summary></entry><entry><title>Dev Note: Implementing Analytics Part 2 - Data Processing</title><link href="https://sasagu.com/post/Dev-Note-Implementing-Analytics-Part-2---Data-Processing_mORKuRARcVxQPJLFGe45"/><id>sasagu.com/mORKuRARcVxQPJLFGe45</id><updated>2025-03-07T05:44:31Z</updated><published>2024-11-12T06:22:02Z</published><summary>This post details the backend analytics implementation for a serverless blog.  Raw user data (visits, page views, time spent) is collected, then daily aggregated into summarized views (daily visits, page engagement) for efficient querying via REST APIs in the admin console.  The author uses Google Cloud Firestore, employing a batch processing approach to prevent memory issues.
</summary></entry><entry><title>Dev Note: Implementing Analytics Part 1 - Data Collection</title><link href="https://sasagu.com/post/Dev-Note-Implementing-Analytics-Part-1---Data-Collection_QFVdGvz0a6F86feQLARV"/><id>sasagu.com/QFVdGvz0a6F86feQLARV</id><updated>2025-01-06T19:15:24Z</updated><published>2024-11-07T06:39:59Z</published><summary>This blog post details building a custom web analytics solution for a serverless blog platform.  The author avoids third-party solutions for flexibility and privacy, focusing on daily site visits and page views with dwell time.  A unique visitor ID is generated without cookies using IP, user agent, and date. Page views and time spent are tracked via JavaScript, aiming to filter out bot traffic.
</summary></entry><entry><title>Dev Note: Implementing Markdown for React Part 1 - View</title><link href="https://sasagu.com/post/Dev-Note-Implementing-Markdown-for-React-Part-1---View_wKqnXN3sKXdQmFPDCt4T"/><id>sasagu.com/wKqnXN3sKXdQmFPDCt4T</id><updated>2025-01-06T19:15:36Z</updated><published>2024-10-31T18:56:59Z</published><summary>This post details adding Markdown formatting to a React blog.  The author used `react-markdown`, then styled it with Tailwind CSS and `tailwindcss-typography`.  Link styling and new tab opening were addressed with CSS and an event listener, respectively.  The editor integration is next.
</summary></entry><entry><title>Dev Note: Speeding up a serverless blog platform</title><link href="https://sasagu.com/post/Dev-Note-Speeding-up-a-serverless-blog-platform_hFi8JFEXppSUQxpGiifN"/><id>sasagu.com/hFi8JFEXppSUQxpGiifN</id><updated>2025-01-06T19:16:04Z</updated><published>2024-10-29T06:23:11Z</published><summary>This blog post details optimizations made to a serverless blog platform built on Google App Engine.  Key improvements include deferring datastore access until after initial page rendering, storing static page data in a properties file, and caching the Firestore connection object.  These changes drastically reduced page load times.
</summary></entry><entry><title>Dev Note: Displaying date and time</title><link href="https://sasagu.com/post/Dev-Note-Displaying-date-and-time_k1A6RxLPXXNNTRsdELcJ"/><id>sasagu.com/k1A6RxLPXXNNTRsdELcJ</id><updated>2025-01-06T19:16:16Z</updated><published>2024-10-28T06:47:16Z</published><summary>This blog post details how the author handles dates and times in their serverless blog platform.  Data is stored in UTC in Firestore. The author opted to send UTC timestamps to the browser, leveraging Javascript&apos;s built-in time zone conversion for user-friendly display.  Simple, effective, and uses the browser&apos;s locale!
</summary></entry><entry><title>My first post - I decided to create a blog platform.</title><link href="https://sasagu.com/post/My-first-post---I-decided-to-create-a-blog-platform_KINHURdubRldN5St8jVW"/><id>sasagu.com/KINHURdubRldN5St8jVW</id><updated>2024-11-08T06:44:19Z</updated><published>2024-10-21T05:43:58Z</published><summary>This blog details the creation of an open-source, serverless blogging platform.  Currently Google App Engine compatible, it offers an alternative to hosted blogging services like Medium.  The author hopes to expand its features and attract users.
</summary></entry></feed>