<?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>DEV Community: Sreedev Rajendran</title>
    <description>The latest articles on DEV Community by Sreedev Rajendran (@sreedevrajendran).</description>
    <link>https://dev.to/sreedevrajendran</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4018012%2F1f083033-26b4-421a-ac4f-8f03ffc1f0c9.jpg</url>
      <title>DEV Community: Sreedev Rajendran</title>
      <link>https://dev.to/sreedevrajendran</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sreedevrajendran"/>
    <language>en</language>
    <item>
      <title>Building Floww: The AI-Native Financial Engine (A Vibe Coding Journey)</title>
      <dc:creator>Sreedev Rajendran</dc:creator>
      <pubDate>Mon, 06 Jul 2026 15:24:03 +0000</pubDate>
      <link>https://dev.to/sreedevrajendran/building-floww-the-ai-native-financial-engine-a-vibe-coding-journey-1cn9</link>
      <guid>https://dev.to/sreedevrajendran/building-floww-the-ai-native-financial-engine-a-vibe-coding-journey-1cn9</guid>
      <description>&lt;p&gt;I was getting really frustrated with typing in my coffee expenses manually back in 2026. That was the exact moment when Floww was born.&lt;/p&gt;

&lt;p&gt;Floww is not just another budgeting app — it is a financial engine that turns your messy, real-world financial data (crumpled receipts, complex bank statements, Gmail transactions) into structured, actionable intelligence. You can see the full project breakdown on my projects page.&lt;/p&gt;

&lt;p&gt;This blog dives into how I built Floww, the unique experience of vibe coding alongside AI, and what makes it fundamentally different from every other finance app on the market.&lt;/p&gt;

&lt;p&gt;The Vision: Moving Beyond Simple Expense Trackers&lt;br&gt;
Most expense trackers are glorified spreadsheets. They let you do basic CRUD operations, but you end up spending more time entering data than understanding your financial health. With Floww, I wanted to flip the script — the AI handles the data entry, you make the decisions.&lt;/p&gt;

&lt;p&gt;What makes Floww fundamentally different?&lt;/p&gt;

&lt;p&gt;Universal Document Intelligence: Floww doesn't just read simple receipts. Using Google Gemini 2.5 Flash's multi-modal capabilities, it understands itemized grocery bills, detailed salary slips, and multi-page bank statements.&lt;/p&gt;

&lt;p&gt;Agent Floww: An RAG-powered in-app chatbot — ask "How much did I spend on Swiggy compared to last month?" and get a precise answer without digging through charts.&lt;br&gt;
Context-Aware Styling: Floww automatically suggests icons and colors based on merchant name and note context — zero manual categorization.&lt;/p&gt;

&lt;p&gt;Privacy-First Premium Feel: "Privacy Mode" instantly masks all currency values with one tap — built for public spaces.&lt;/p&gt;

&lt;p&gt;The Tech Stack (The "Vibe Coding" Way)&lt;/p&gt;

&lt;p&gt;Floww is engineered on a fully modern, type-safe stack built for speed and scale:&lt;/p&gt;

&lt;p&gt;Framework: Next.js 15 — App Router with React Server Components&lt;/p&gt;

&lt;p&gt;API Layer: tRPC — end-to-end type-safe APIs without REST boilerplate&lt;/p&gt;

&lt;p&gt;Database: PostgreSQL + Prisma ORM&lt;/p&gt;

&lt;p&gt;AI Engine: Google Gemini 2.5 Flash API — multi-modal OCR + RAG agent&lt;/p&gt;

&lt;p&gt;Auth: Firebase Auth + Gmail API (OAuth 2.0 for transaction sync)&lt;/p&gt;

&lt;p&gt;Styling: Tailwind CSS + Framer Motion&lt;/p&gt;

&lt;p&gt;Deployment: Netlify — CI/CD from GitHub&lt;/p&gt;

&lt;p&gt;The "Vibe Coding" Experience&lt;br&gt;
Building Floww wasn't a traditional development process. I leaned heavily on AI-assisted coding — describing intent and "vibe" rather than writing boilerplate. This is what the vibe coding movement is about: AI handles the scaffolding, humans handle the thinking.&lt;/p&gt;

&lt;p&gt;"Give me a dashboard that feels like a premium iOS app, but with a web-first soul."&lt;/p&gt;

&lt;p&gt;"Build a document processor that can distinguish between a grocery bill and a bank statement without me writing a single regex."&lt;br&gt;
The AI handled the boilerplate while I focused on the hard parts: Agent Floww's prompt engineering and the multi-modal OCR pipeline. This let me go from an empty folder to a production-ready financial engine in a fraction of the traditional time.&lt;/p&gt;

&lt;p&gt;Deep Dive: How the Core Features Were Built&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The Multi-Modal OCR Pipeline
The core of Floww is its multi-modal document understanding pipeline built on Gemini 2.5 Flash. The model acts as both a Classifier (what kind of document is this?) and an Extractor (pull structured data from it).&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;aiRouter.ts — Gemini Classifier Prompt&lt;br&gt;
// Document classifier + extractor using Gemini 2.5 Flash inlineData&lt;br&gt;
const prompt = `Analyze this document carefully. Determine if it is:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;ITEMIZED BILL (Line items with quantities)&lt;/li&gt;
&lt;li&gt;EXPENSE (Single receipt)&lt;/li&gt;
&lt;li&gt;INCOME (Salary slip)&lt;/li&gt;
&lt;li&gt;BANK STATEMENT (Multiple transactions)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Return JSON with specific schemas for each type...`;&lt;/p&gt;

&lt;p&gt;// Base64 image piped directly into Gemini inlineData&lt;br&gt;
const result = await model.generateContent([&lt;br&gt;
  { inlineData: { mimeType: "image/jpeg", data: base64Image } },&lt;br&gt;
  { text: prompt }&lt;br&gt;
]);&lt;br&gt;
By using Gemini's inlineData capability, I pipe Base64 images directly into the model. Gemini doesn't just read raw text — it understands spatial layout, letting it extract line items from complex documents with high accuracy.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Agent Floww — The RAG-Powered Finance Assistant
Agent Floww is an In-App RAG (Retrieval-Augmented Generation) chatbot, not a simple LLM wrapper. When you ask a question, the server dynamically fetches your monthly expenses, incomes, and budgets from Prisma/PostgreSQL and injects this live data as "Financial Context" into the system prompt — guaranteeing hyper-personalized, accurate answers.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This is how Agent Floww knows your exact Swiggy spend from last month without you having to filter a single chart. The financial data becomes the retrieval corpus; Gemini does the reasoning.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Gmail Sync — Auto-Logging Transactions&lt;br&gt;
One of the most powerful (and underrated) features: Floww connects to your Gmail via OAuth 2.0 and scans for transactional emails (payment confirmations, order receipts, bank alerts). It automatically extracts and logs those as expenses — zero manual entry.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The Finance Health Score&lt;br&gt;
Floww calculates a real-time Finance Health Score based on your income-to-spending ratio, budget adherence, and savings patterns. It's not a static number — it updates every time you add a transaction. Think of it as a credit score, but for daily financial habits.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The Result &amp;amp; What I Learned&lt;br&gt;
Floww represents a massive shift in how software can be built today. By combining vibe coding with a well-chosen modern stack (Next.js 15, tRPC, Gemini API), I shipped a product that a full team would normally take months to build.&lt;/p&gt;

&lt;p&gt;Whether you're scanning a coffee receipt or uploading a multi-page bank statement, Floww handles it all with quiet elegance. And this is just the beginning — the RAG agent and OCR pipeline are foundation-level tech that can power far more complex financial tools.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>ai</category>
      <category>nextjs</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
