<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Rajiv </title>
    <description>The latest articles on Forem by Rajiv  (@raj712).</description>
    <link>https://forem.com/raj712</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3245578%2Fbf78dcd5-591f-4880-ac53-baef82fab8be.jpg</url>
      <title>Forem: Rajiv </title>
      <link>https://forem.com/raj712</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/raj712"/>
    <language>en</language>
    <item>
      <title>LeaseGuard: Real-time AI for Lease Risk Detection powered by Redis</title>
      <dc:creator>Rajiv </dc:creator>
      <pubDate>Sun, 10 Aug 2025 18:33:56 +0000</pubDate>
      <link>https://forem.com/raj712/leaseguard-real-time-ai-for-lease-risk-detection-powered-by-redis-38dn</link>
      <guid>https://forem.com/raj712/leaseguard-real-time-ai-for-lease-risk-detection-powered-by-redis-38dn</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/redis-2025-07-23"&gt;Redis AI Challenge&lt;/a&gt;: Real-Time AI Innovators&lt;/em&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;LeaseGuard&lt;/strong&gt; analyzes residential lease agreements in real time to flag risky or unlawful clauses. It isn’t a chatbot wrapper; it’s an AI application with Redis as the real-time data layer:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Vectorized clauses stored in &lt;strong&gt;RedisJSON&lt;/strong&gt;, indexed with &lt;strong&gt;RediSearch&lt;/strong&gt; for KNN and hybrid retrieval&lt;/li&gt;
&lt;li&gt;Two-tier semantic caching to cut LLM calls and latency&lt;/li&gt;
&lt;li&gt;Event-driven pipeline and collaboration powered by &lt;strong&gt;Redis Streams&lt;/strong&gt; and &lt;strong&gt;Pub/Sub&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Conversation/session state fully in Redis structures (Lists/Sets/JSON), with optional TimeSeries
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Outcome:&lt;/strong&gt; sub-second retrieval, grounded answers, and live telemetry/alerts.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;

&lt;div&gt;
  &lt;iframe src="https://loom.com/embed/2eebb02a23f4434d87c97a13ac8fef4d"&gt;
  &lt;/iframe&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://lease-guard-mcjv.vercel.app" rel="noopener noreferrer"&gt;&lt;strong&gt;Live App&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How I Used &lt;strong&gt;Redis 8&lt;/strong&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Vector index (RediSearch over RedisJSON)
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb4y2l2ou77kvkrj3ga1f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb4y2l2ou77kvkrj3ga1f.png" alt="Vector index"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Storing clauses in RedisJSON with embeddings
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzbsxaoy83jmphxulp45c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzbsxaoy83jmphxulp45c.png" alt="RedisJSON clauses"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Violation detection via vector similarity (KNN)
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz32u40lempo1sjbz8xny.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz32u40lempo1sjbz8xny.png" alt="KNN detection"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Hybrid search (text + vector + filters) with RediSearch
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fabf20oeno78twhtjhhp1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fabf20oeno78twhtjhhp1.png" alt="Hybrid search"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Semantic caching (L1 memory + L2 RedisJSON + similarity fallback)
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbxj7q29l1svjwmu8ohds.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbxj7q29l1svjwmu8ohds.png" alt="Semantic caching"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Streams (event sourcing + pipeline telemetry)
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhjpub0qky02d78vt8ucy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhjpub0qky02d78vt8ucy.png" alt="Streams"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Pub/Sub (violation alerts and collaboration)
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3gth0xbzm2jltwmb9pvv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3gth0xbzm2jltwmb9pvv.png" alt="Pub/Sub"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Conversation state in Redis (Lists + TTL)
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk1z0snzcvwp8uqs9661b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk1z0snzcvwp8uqs9661b.png" alt="Conversation state"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Optional TimeSeries (performance/analytics where supported)
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiip0oq9mdb6bev3uhw5r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiip0oq9mdb6bev3uhw5r.png" alt="TimeSeries"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Real-Time AI Innovators&lt;/strong&gt;: I went beyond a chatbot by combining vector search, semantic caching, streams, and pub/sub to accelerate AI.&lt;br&gt;
&lt;strong&gt;Beyond the Cache&lt;/strong&gt;: I use Redis as a multi‑model platform: JSON as primary store, RediSearch for hybrid vector, TimeSeries for analytics, Streams for event sourcing, Lists/Sets for session and UX, Pub/Sub for real-time collaboration.&lt;/p&gt;




&lt;p&gt;Thanks for Reading! &lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/Raj7122/LeaseGuard" rel="noopener noreferrer"&gt;GitHub repo&lt;/a&gt;&lt;/p&gt;

</description>
      <category>redischallenge</category>
      <category>devchallenge</category>
      <category>database</category>
      <category>ai</category>
    </item>
    <item>
      <title>Manga-Fy 90's style with Google Ai Studio!</title>
      <dc:creator>Rajiv </dc:creator>
      <pubDate>Fri, 04 Jul 2025 15:51:00 +0000</pubDate>
      <link>https://forem.com/raj712/manga-fy-90s-style-with-google-ai-studio-2b1g</link>
      <guid>https://forem.com/raj712/manga-fy-90s-style-with-google-ai-studio-2b1g</guid>
      <description>&lt;p&gt;&lt;em&gt;This post is my submission for &lt;a href="https://dev.to/deved/build-apps-with-google-ai-studio"&gt;DEV Education Track: Build Apps with Google AI Studio&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What I Built&lt;/strong&gt;&lt;br&gt;
I built Manga-fy 90s, a web app that turns text prompts or uploaded photos into 1990s style manga images using Google’s Imagen API and Gemini SDKs. The app mimics the aesthetic of classic black and white Japanese manga with halftone shading, bold linework, and no digital color.&lt;/p&gt;

&lt;p&gt;The core prompt I used in AI Studio:&lt;/p&gt;

&lt;p&gt;“Please create an app that generates 90s manga-style images from user prompts or uploaded photos. Use React with TypeScript, integrate Imagen, and follow modern UI best practices.”&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Demo&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm5uvjisbe92c10k729vn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm5uvjisbe92c10k729vn.png" alt=" " width="800" height="520"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa6gng8mbrcdahsqodk2h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa6gng8mbrcdahsqodk2h.png" alt=" " width="800" height="520"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyah59d79favmxgc2wxsb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyah59d79favmxgc2wxsb.png" alt=" " width="800" height="520"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;My Experience&lt;/strong&gt;&lt;br&gt;
I built this app in under 30 minutes using Google AI Studio and that's no exaggeration. The platform handled everything from model integration to output formatting. I simply described what I wanted, and the app scaffolded itself around my intent.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What impressed me&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;The natural language prompt to app workflow actually worked&lt;br&gt;
Seamless integration of React + TypeScript with Gemini and Imagen&lt;br&gt;
High quality, stylized output with minimal setup&lt;br&gt;
This felt like AI-assisted development done right. It was fast, creative, and developer-friendly.&lt;/p&gt;

&lt;p&gt;I'll definitely try building more with Google A.I studio.&lt;br&gt;
&lt;a href="https://github.com/Raj7122/Manga-fy-90s" rel="noopener noreferrer"&gt;Github: Manga-Fy 90's&lt;/a&gt;&lt;/p&gt;

</description>
      <category>deved</category>
      <category>learngoogleaistudio</category>
      <category>ai</category>
      <category>gemini</category>
    </item>
  </channel>
</rss>
