<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Vishal Tyagi</title><description>Engineering projects, case studies, and notes from Vishal Tyagi.</description><link>https://vishalxtyagi.in/</link><item><title>Comparing Event-Deduplication Strategies for Client-Side Analytics</title><link>https://vishalxtyagi.in/research/event-dedup-strategies/</link><guid isPermaLink="true">https://vishalxtyagi.in/research/event-dedup-strategies/</guid><description>An open investigation into time-windowed vs. idempotency-key deduplication for client-emitted analytics events, prompted by dedup work on the Runo product analytics layer.</description><pubDate>Mon, 01 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Modeling &apos;Either, Or, Both&apos; States Without a Combinatorial Explosion</title><link>https://vishalxtyagi.in/research/hybrid-state-modeling-patterns/</link><guid isPermaLink="true">https://vishalxtyagi.in/research/hybrid-state-modeling-patterns/</guid><description>An open look at how the gsmNCloud three-state model from the hybrid telephony work generalizes to other &apos;a user can have A, B, or both&apos; product situations.</description><pubDate>Mon, 01 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Designing an Event Taxonomy for Amplitude</title><link>https://vishalxtyagi.in/codelabs/amplitude-event-taxonomy/</link><guid isPermaLink="true">https://vishalxtyagi.in/codelabs/amplitude-event-taxonomy/</guid><description>How to name events and properties so analytics stays usable as the product grows, instead of becoming hundreds of one-off strings.</description><pubDate>Mon, 01 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Docker for Local Development: A Practical Workflow</title><link>https://vishalxtyagi.in/codelabs/docker-local-dev-workflow/</link><guid isPermaLink="true">https://vishalxtyagi.in/codelabs/docker-local-dev-workflow/</guid><description>A docker-compose setup for local dev that stays fast — bind mounts, layer caching, and the tradeoffs that actually matter day to day.</description><pubDate>Mon, 01 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Setting Up a Flutter Development Environment on Linux</title><link>https://vishalxtyagi.in/codelabs/flutter-dev-environment-linux/</link><guid isPermaLink="true">https://vishalxtyagi.in/codelabs/flutter-dev-environment-linux/</guid><description>A practical setup for Flutter + Dart on Linux — SDK install, editor config, emulator, and the gotchas that waste the first hour.</description><pubDate>Mon, 01 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Runo Product Analytics &amp; Amplitude Instrumentation</title><link>https://vishalxtyagi.in/projects/runo-product-analytics/</link><guid isPermaLink="true">https://vishalxtyagi.in/projects/runo-product-analytics/</guid><description>Worked on a product analytics layer at Runo — Amplitude provider abstraction, event taxonomy, user/company traits, deduplication, and platform-aware tracking across auth, billing, CRM, and call workflows.</description><pubDate>Fri, 01 May 2026 00:00:00 GMT</pubDate></item><item><title>Sizing an event deduplication window</title><link>https://vishalxtyagi.in/notes/event-deduplication-window/</link><guid isPermaLink="true">https://vishalxtyagi.in/notes/event-deduplication-window/</guid><description>A short note on why a fixed time window for analytics event deduplication needs tuning, not just existing.</description><pubDate>Fri, 01 May 2026 00:00:00 GMT</pubDate></item><item><title>Turning scattered product behavior into systems</title><link>https://vishalxtyagi.in/blog/turning-scattered-behavior-into-systems/</link><guid isPermaLink="true">https://vishalxtyagi.in/blog/turning-scattered-behavior-into-systems/</guid><description>A recurring theme in product engineering: ambiguous, duplicated behavior across screens is more dangerous than it looks, and the fix is rarely glamorous.</description><pubDate>Fri, 01 May 2026 00:00:00 GMT</pubDate></item><item><title>Runo Hybrid Telephony — Cloud &amp; GSM Calling</title><link>https://vishalxtyagi.in/projects/runo-hybrid-telephony/</link><guid isPermaLink="true">https://vishalxtyagi.in/projects/runo-hybrid-telephony/</guid><description>Contributed to hybrid telephony support at Runo — letting users call via cloud or GSM, with call-medium selection, virtual number assignment, and consistent reporting across logs, exports, and analytics.</description><pubDate>Wed, 01 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Designing Hybrid Telephony for a Sales CRM</title><link>https://vishalxtyagi.in/case-studies/hybrid-telephony-architecture/</link><guid isPermaLink="true">https://vishalxtyagi.in/case-studies/hybrid-telephony-architecture/</guid><description>A deeper look at how cloud and GSM calling were unified into one hybrid telephony model at Runo, and what broke before the model existed.</description><pubDate>Wed, 01 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Keeping sandbox traffic out of production analytics</title><link>https://vishalxtyagi.in/notes/sandbox-vs-production-analytics/</link><guid isPermaLink="true">https://vishalxtyagi.in/notes/sandbox-vs-production-analytics/</guid><description>Why analytics initialization should check environment/host before sending any events, not just before reporting them.</description><pubDate>Wed, 01 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Runo Admin Web Migration</title><link>https://vishalxtyagi.in/projects/runo-admin-web-migration/</link><guid isPermaLink="true">https://vishalxtyagi.in/projects/runo-admin-web-migration/</guid><description>Contributed to migrating Runo&apos;s admin web surface to Flutter Web, building reusable components for bulk upload/deletion, integration dialogs, and sheet validation.</description><pubDate>Thu, 01 Jan 2026 00:00:00 GMT</pubDate></item><item><title>NMOLD Inventory Management Redevelopment</title><link>https://vishalxtyagi.in/projects/nmold-inventory-redevelopment/</link><guid isPermaLink="true">https://vishalxtyagi.in/projects/nmold-inventory-redevelopment/</guid><description>Contributed to redeveloping NMOLD&apos;s inventory management system on Flutter, Express, and MongoDB, replacing a legacy Python/Laravel stack, and added image recognition to reduce manual data entry.</description><pubDate>Thu, 01 May 2025 00:00:00 GMT</pubDate></item><item><title>Smart Irrigation IoT System</title><link>https://vishalxtyagi.in/projects/smart-irrigation-iot/</link><guid isPermaLink="true">https://vishalxtyagi.in/projects/smart-irrigation-iot/</guid><description>Built an IoT-based smart irrigation system using NodeMCU and sensors for temperature, humidity, and soil moisture, with a Flutter app visualizing data and an SVM model forecasting irrigation needs.</description><pubDate>Thu, 01 Aug 2024 00:00:00 GMT</pubDate></item><item><title>image_hotspot — Flutter Package</title><link>https://vishalxtyagi.in/projects/flutter-image-hotspot/</link><guid isPermaLink="true">https://vishalxtyagi.in/projects/flutter-image-hotspot/</guid><description>Published a Flutter package for defining interactive, clickable hotspot areas on images, useful for floor plans, diagrams, and annotated photos.</description><pubDate>Mon, 01 Jul 2024 00:00:00 GMT</pubDate></item><item><title>PIET Quest Exam Portal</title><link>https://vishalxtyagi.in/projects/piet-quest-portal/</link><guid isPermaLink="true">https://vishalxtyagi.in/projects/piet-quest-portal/</guid><description>Built an exam portal with cheating-detection-based question reordering, randomized question sets, and automation for report downloads and question uploads.</description><pubDate>Sat, 01 Jun 2024 00:00:00 GMT</pubDate></item><item><title>OMR Sheet Reading Automation at 90,000+ Scale</title><link>https://vishalxtyagi.in/projects/omr-sheet-automation/</link><guid isPermaLink="true">https://vishalxtyagi.in/projects/omr-sheet-automation/</guid><description>Built a Python automation script for OMR sheet reading that processed over 90,000 sheets, reducing manual checking effort for large-scale assessment workflows.</description><pubDate>Mon, 01 Apr 2024 00:00:00 GMT</pubDate></item><item><title>Blockchain-Based NGO Donation Tracking</title><link>https://vishalxtyagi.in/projects/blockchain-ngo-donations/</link><guid isPermaLink="true">https://vishalxtyagi.in/projects/blockchain-ngo-donations/</guid><description>Built a blockchain platform for transparent NGO donation and payout tracking, aimed at increasing trust in how charitable funds move.</description><pubDate>Fri, 01 Mar 2024 00:00:00 GMT</pubDate></item><item><title>ENTHRAL.IN Supplier Price Change Detection</title><link>https://vishalxtyagi.in/projects/enthral-price-automation/</link><guid isPermaLink="true">https://vishalxtyagi.in/projects/enthral-price-automation/</guid><description>Built a supplier scraping and comparison workflow that flags pricing/listing differences against an OpenCart storefront and prepares margin-based updates.</description><pubDate>Sat, 01 Jul 2023 00:00:00 GMT</pubDate></item></channel></rss>