<?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: Rohith</title>
    <description>The latest articles on DEV Community by Rohith (@rohith_cef750793653e3d7bd).</description>
    <link>https://dev.to/rohith_cef750793653e3d7bd</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%2F3983483%2F0e295289-be3d-437f-9fd3-5506c27f83c5.png</url>
      <title>DEV Community: Rohith</title>
      <link>https://dev.to/rohith_cef750793653e3d7bd</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/rohith_cef750793653e3d7bd"/>
    <language>en</language>
    <item>
      <title>Building an AI-Powered Carbon Footprint Awareness Platform with Flask, SQLite, and Groq (Llama 3.1)</title>
      <dc:creator>Rohith</dc:creator>
      <pubDate>Fri, 19 Jun 2026 06:42:04 +0000</pubDate>
      <link>https://dev.to/rohith_cef750793653e3d7bd/building-an-ai-powered-carbon-footprint-awareness-platform-with-flask-sqlite-and-groq-llama-31-25m3</link>
      <guid>https://dev.to/rohith_cef750793653e3d7bd/building-an-ai-powered-carbon-footprint-awareness-platform-with-flask-sqlite-and-groq-llama-31-25m3</guid>
      <description>&lt;h2&gt;
  
  
  🌿 Introduction
&lt;/h2&gt;

&lt;p&gt;As climate awareness grows, individuals are looking for actionable ways to reduce their personal carbon footprints. However, most carbon calculators are either too complex or offer generic, unhelpful advice. &lt;/p&gt;

&lt;p&gt;To solve this, I built &lt;strong&gt;CarbonWise&lt;/strong&gt;—a production-ready Carbon Footprint Awareness Platform. It combines deterministic scientific carbon calculations with real-time, personalized AI reduction strategies using the Groq LLM API. &lt;/p&gt;

&lt;p&gt;Here is a technical deep-dive into how I built, secured, and optimized this application for the &lt;strong&gt;PromptWars: Virtual&lt;/strong&gt; challenge.&lt;/p&gt;




&lt;h2&gt;
  
  
  🏗️ Architecture &amp;amp; System Design
&lt;/h2&gt;

&lt;p&gt;The application is designed to be lightweight, secure, and highly performant, avoiding heavy framework overhead.&lt;/p&gt;

&lt;h3&gt;
  
  
  System Data Flow
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  ┌──────────────────────────────────────────────────────────┐
  │                       User Browser                       │
  └─────────────┬──────────────────────────────▲─────────────┘
                │ HTTPS (POST / GET)           │ Rendered HTML/CSS
  ┌─────────────▼──────────────────────────────┴─────────────┐
  │                   Flask App (app.py)                     │
  └─────────────┬──────────────┬───────────────▲─────────────┘
                │              │               │
  ┌─────────────▼──────────┐ ┌─▼─────────────┐ │
  │ SQLite DB (carbon.db)  │ │Secure Session │ │
  │   - Users &amp;amp; Logs       │ │  Cookies      │ │
  │   - WAL Mode Enabled   │ └───────────────┘ │
  └────────────────────────┘                   │ Structured JSON Insights
  ┌────────────────────────────────────────────┴─────────────┐
  │                 Groq API (Llama 3.1)                     │
  │     - Model: llama-3.1-8b-instant                        │
  └──────────────────────────────────────────────────────────┘
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Backend&lt;/strong&gt;: Flask (Python) handles routing, user session state, and database operations.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Database&lt;/strong&gt;: SQLite manages users and logs. We activated WAL (Write-Ahead Logging) mode to enable concurrent reads and writes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI Engine&lt;/strong&gt;: Connects to the Groq API using the ultra-fast Meta &lt;strong&gt;Llama 3.1 8B&lt;/strong&gt; model (&lt;code&gt;llama-3.1-8b-instant&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Frontend&lt;/strong&gt;: Rendered server-side with Jinja2 templates and styled with a custom dark-mode glassmorphism design system in Vanilla CSS.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  ⚙️ Feature Deep-Dive
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Deterministic Carbon Calculations (&lt;code&gt;carbon_engine.py&lt;/code&gt;)
&lt;/h3&gt;

&lt;p&gt;To prevent calculation drift, the engine uses fixed conversion factors for logging three main categories:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Travel&lt;/strong&gt;: Car (&lt;code&gt;0.21&lt;/code&gt; kg/km), Motorbike (&lt;code&gt;0.05&lt;/code&gt; kg/km), Bus (&lt;code&gt;0.08&lt;/code&gt; kg/km), and Flight (&lt;code&gt;0.255&lt;/code&gt; kg/km).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Food&lt;/strong&gt;: Vegetarian meal (&lt;code&gt;0.5&lt;/code&gt; kg/meal) and Non-vegetarian meal (&lt;code&gt;2.5&lt;/code&gt; kg/meal).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Energy&lt;/strong&gt;: Electricity (&lt;code&gt;0.82&lt;/code&gt; kg/kWh).
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;calculate_co2&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;activity_type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;quantity&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;float&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="nb"&gt;float&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;activity_type&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;EMISSION_FACTORS&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;raise&lt;/span&gt; &lt;span class="nc"&gt;ValueError&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Unknown activity type &lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;activity_type&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;'"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;quantity&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;raise&lt;/span&gt; &lt;span class="nc"&gt;ValueError&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Quantity must be positive&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nf"&gt;round&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;EMISSION_FACTORS&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;activity_type&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;quantity&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  2. Structured AI Insights &amp;amp; Session Caching (&lt;code&gt;ai_engine.py&lt;/code&gt;)
&lt;/h3&gt;

&lt;p&gt;To keep the dashboard fast and prevent redundant external HTTP calls, I implemented a session caching mechanism:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;When a user loads the dashboard, the platform checks if AI insights are cached in the session.&lt;/li&gt;
&lt;li&gt;If missing, it requests insights from the Groq API.&lt;/li&gt;
&lt;li&gt;The system enforces a strict JSON schema output from the model: &lt;code&gt;summary&lt;/code&gt;, &lt;code&gt;top_emission_sources&lt;/code&gt;, &lt;code&gt;suggestions&lt;/code&gt; (3–5 tips), &lt;code&gt;eco_score&lt;/code&gt; (0–100), and &lt;code&gt;motivation&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;When the user logs a new activity in &lt;code&gt;/log&lt;/code&gt;, the cache is invalidated so the dashboard gets fresh insights on the next load.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Check session cache
&lt;/span&gt;&lt;span class="n"&gt;insights&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;session&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;ai_insights&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="n"&gt;insights&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;all_acts&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;_get_all_activities_7days&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;user_id&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;insights&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;get_ai_insights&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;all_acts&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;daily_total&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;category_breakdown&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;session&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;ai_insights&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;insights&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  3. Database Performance Tuning (Covering Indexes)
&lt;/h3&gt;

&lt;p&gt;To make sure data queries are incredibly fast, I optimized the database schema by introducing a &lt;strong&gt;covering index&lt;/strong&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;CREATE&lt;/span&gt; &lt;span class="k"&gt;INDEX&lt;/span&gt; &lt;span class="n"&gt;IF&lt;/span&gt; &lt;span class="k"&gt;NOT&lt;/span&gt; &lt;span class="k"&gt;EXISTS&lt;/span&gt; &lt;span class="n"&gt;idx_activities_covering&lt;/span&gt; 
&lt;span class="k"&gt;ON&lt;/span&gt; &lt;span class="n"&gt;activities&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;user_id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;timestamp&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;activity_type&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;co2_kg&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;With this index in place, queries for the weekly analytics dashboard and category breakdowns are satisfied directly from index pages, bypassing expensive full-table scans. We also optimized category queries to aggregate in a single SQL operation:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt; 
    &lt;span class="k"&gt;CASE&lt;/span&gt; 
        &lt;span class="k"&gt;WHEN&lt;/span&gt; &lt;span class="n"&gt;activity_type&lt;/span&gt; &lt;span class="k"&gt;IN&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'car'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'bike'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'bus'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'flight'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt; &lt;span class="s1"&gt;'travel'&lt;/span&gt;
        &lt;span class="k"&gt;WHEN&lt;/span&gt; &lt;span class="n"&gt;activity_type&lt;/span&gt; &lt;span class="k"&gt;IN&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'veg'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'non_veg'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt; &lt;span class="s1"&gt;'food'&lt;/span&gt;
        &lt;span class="k"&gt;WHEN&lt;/span&gt; &lt;span class="n"&gt;activity_type&lt;/span&gt; &lt;span class="k"&gt;IN&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'electricity'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt; &lt;span class="s1"&gt;'electricity'&lt;/span&gt;
    &lt;span class="k"&gt;END&lt;/span&gt; &lt;span class="k"&gt;AS&lt;/span&gt; &lt;span class="n"&gt;category&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;COALESCE&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;SUM&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;co2_kg&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;AS&lt;/span&gt; &lt;span class="n"&gt;total&lt;/span&gt;
&lt;span class="k"&gt;FROM&lt;/span&gt;   &lt;span class="n"&gt;activities&lt;/span&gt;
&lt;span class="k"&gt;WHERE&lt;/span&gt;  &lt;span class="n"&gt;user_id&lt;/span&gt;   &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="o"&gt;?&lt;/span&gt; &lt;span class="k"&gt;AND&lt;/span&gt; &lt;span class="nb"&gt;timestamp&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;=&lt;/span&gt; &lt;span class="nb"&gt;DATE&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'now'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'-6 days'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;GROUP&lt;/span&gt;  &lt;span class="k"&gt;BY&lt;/span&gt; &lt;span class="n"&gt;category&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  4. Fortified Security &amp;amp; Defense in Depth
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Passwords&lt;/strong&gt;: Encrypted using PBKDF2-SHA256 password hashing through Werkzeug.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SQL Injection Prevention&lt;/strong&gt;: All SQLite queries are fully parameterized.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;XSS &amp;amp; Clickjacking Protection&lt;/strong&gt;: Injected security headers into every HTTP response:

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;X-Content-Type-Options: nosniff&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;X-Frame-Options: DENY&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;X-XSS-Protection: 1; mode=block&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Referrer-Policy: strict-origin-when-cross-origin&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;Content-Security-Policy&lt;/code&gt; (CSP) restricting assets to &lt;code&gt;'self'&lt;/code&gt; and specific secure fonts.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Session Cookies&lt;/strong&gt;: Locked with &lt;code&gt;Secure&lt;/code&gt;, &lt;code&gt;HttpOnly&lt;/code&gt;, and &lt;code&gt;SameSite='Lax'&lt;/code&gt; flags.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  5. WCAG AA Accessibility Compliance
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Wrapped all visual emojis in &lt;code&gt;&amp;lt;span role="img" aria-label="..."&amp;gt;&lt;/code&gt; tags for screen-reader compatibility.&lt;/li&gt;
&lt;li&gt;Added a &lt;code&gt;.sr-only&lt;/code&gt; class to visually hide labels while exposing them to accessibility scanners.&lt;/li&gt;
&lt;li&gt;Ensured every page has exactly one prominent &lt;code&gt;&amp;lt;h1&amp;gt;&lt;/code&gt; header.&lt;/li&gt;
&lt;li&gt;Increased the brightness of text variables to meet the WCAG AA contrast ratio threshold of &lt;code&gt;4.5:1&lt;/code&gt; on dark backgrounds.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🧪 Testing &amp;amp; Verification
&lt;/h2&gt;

&lt;p&gt;I built a comprehensive test suite in &lt;code&gt;tests/test_app.py&lt;/code&gt; containing &lt;strong&gt;47 total assertions&lt;/strong&gt; across five key test domains:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;test_carbon_calculation&lt;/code&gt;&lt;/strong&gt;: Asserts deterministic conversion factors.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;test_api_response&lt;/code&gt;&lt;/strong&gt;: Asserts HTTP route statuses (200, 302 redirects) for both authenticated and guest states.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;test_ai_json_structure&lt;/code&gt;&lt;/strong&gt;: Verifies parser fallback behavior, JSON key validation, and markdown fence-stripping.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;test_login&lt;/code&gt;&lt;/strong&gt;: Tests registration, hashing verification, and correct login redirection.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;test_input_validation&lt;/code&gt;&lt;/strong&gt;: Rejects invalid types, zero quantities, empty inputs, and non-numeric strings.
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pytest tests/test_app.py &lt;span class="nt"&gt;-v&lt;/span&gt;
&lt;span class="c"&gt;# Output: 47 passed in 35.58s&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  💡 Lessons Learned from vibe coding with Google Antigravity
&lt;/h2&gt;

&lt;p&gt;Building this platform with &lt;strong&gt;Google Antigravity&lt;/strong&gt; shifted my focus from syntax debugging to high-level intent design. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Rapid Prototyping&lt;/strong&gt;: Iterating on the dark glassmorphism design system took minutes instead of hours.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Continuous Refactoring&lt;/strong&gt;: Safely adding security headers, accessibility properties, and session caching was completed quickly while maintaining a clean git commit history.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Production Focus&lt;/strong&gt;: Allowed me to focus on writing thorough tests and setting up Gunicorn database optimizations.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The resulting codebase is performant, accessible, secure, and ready to scale. Let's make the web a greener place! 🌿&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This build is part of my journey with **RohithBuilds&lt;/em&gt;&lt;em&gt;, where I document building real AI applications with zero fluff.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;If you want to learn how to build production-grade AI systems, check out my courses at &lt;a href="https://rohith-builds.onrender.com" rel="noopener noreferrer"&gt;rohith-builds.onrender.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>ai</category>
      <category>python</category>
      <category>showdev</category>
      <category>webdev</category>
    </item>
    <item>
      <title>220+ free AI prompts for Indian developers — steal them all</title>
      <dc:creator>Rohith</dc:creator>
      <pubDate>Sun, 14 Jun 2026 07:29:29 +0000</pubDate>
      <link>https://dev.to/rohith_cef750793653e3d7bd/220-free-ai-prompts-for-indian-developers-steal-them-all-4p56</link>
      <guid>https://dev.to/rohith_cef750793653e3d7bd/220-free-ai-prompts-for-indian-developers-steal-them-all-4p56</guid>
      <description>&lt;p&gt;I spent 3 months collecting, testing, and organizing AI prompts that actually work for developers.&lt;br&gt;
Not the generic "write me a cover letter" stuff you find everywhere.&lt;br&gt;
These are prompts built specifically for what Indian developers deal with every day:&lt;/p&gt;

&lt;p&gt;Cracking placement interviews&lt;br&gt;
Writing code explanations for your resume&lt;br&gt;
Debugging in Python at 2 AM with no mentor&lt;br&gt;
Preparing for service-based vs product-based company interviews&lt;br&gt;
Building projects that stand out in a crowd of 10,000 applicants&lt;/p&gt;

&lt;p&gt;I organized all 220+ of them into one free vault.&lt;br&gt;
Here it is → rohith-builds.onrender.com&lt;br&gt;
No login needed to browse. No paywall. Just open and use.&lt;/p&gt;

&lt;p&gt;Here's a taste — 20 prompts you can steal right now&lt;br&gt;
For coding interviews:&lt;/p&gt;

&lt;p&gt;"Explain this Python code like I'm preparing for a TCS NQT exam: [paste code]"&lt;br&gt;
"Give me 5 variations of this leetcode problem that Infosys commonly asks"&lt;br&gt;
"I have an interview at Wipro tomorrow. Quiz me on Python OOP concepts"&lt;br&gt;
"Convert this brute force solution to optimized — explain each step simply"&lt;br&gt;
"What are the top 10 Python questions asked in FAANG India interviews in 2026?"&lt;/p&gt;

&lt;p&gt;For building projects:&lt;/p&gt;

&lt;p&gt;"Give me 5 project ideas using Python and AI that no Indian fresher has built yet"&lt;br&gt;
"I'm building [project]. Write a README that makes it look impressive on GitHub"&lt;br&gt;
"Suggest a dataset from data.gov.in I can use to build an AI project about [topic]"&lt;br&gt;
"Turn this basic Python script into something that looks portfolio-worthy"&lt;br&gt;
"What APIs are free and work well in India for building AI apps?"&lt;/p&gt;

&lt;p&gt;For job applications:&lt;/p&gt;

&lt;p&gt;"Rewrite my resume bullet points to match this job description: [paste JD]"&lt;br&gt;
"I'm a 2025 fresher with no experience. Write a cover letter for this Python role"&lt;br&gt;
"What skills should I add to my resume to get past ATS filters for AI jobs in India?"&lt;br&gt;
"Write a cold message to a hiring manager at [company] on LinkedIn — 3 sentences max"&lt;br&gt;
"I got rejected at [company]. What should I learn before applying again?"&lt;/p&gt;

&lt;p&gt;For learning Python faster:&lt;/p&gt;

&lt;p&gt;"I know basic Python. Give me a 30-day plan to become AI-ready"&lt;br&gt;
"Explain decorators in Python using a real-world Indian example"&lt;br&gt;
"I keep forgetting list comprehensions. Teach me with 5 progressively harder examples"&lt;br&gt;
"What's the difference between a junior and senior Python developer in India — practically?"&lt;br&gt;
"Give me a mini project I can finish in one weekend that uses Python + AI"&lt;/p&gt;

&lt;p&gt;Where to find all 220+&lt;br&gt;
Everything is organized by category inside Rohith Builds:&lt;/p&gt;

&lt;p&gt;Interview prep prompts&lt;br&gt;
Project building prompts&lt;br&gt;
Resume and job application prompts&lt;br&gt;
Learning accelerator prompts&lt;br&gt;
AI agent building prompts&lt;/p&gt;

&lt;p&gt;👉 rohith-builds.onrender.com&lt;br&gt;
Free. No account needed. Just open the Prompt Vault and start using.&lt;/p&gt;

&lt;p&gt;One request&lt;br&gt;
If you find even 5 prompts useful — share this post with one friend who's preparing for placements or learning Python.&lt;br&gt;
That's the only way free resources like this survive.&lt;br&gt;
Drop your favourite prompt from the list in the comments — or share one you've been using that I should add to the vault.&lt;br&gt;
— Rohith&lt;/p&gt;

</description>
    </item>
    <item>
      <title>I built a free Python AI platform for Indian developers. Here's everything inside.</title>
      <dc:creator>Rohith</dc:creator>
      <pubDate>Sun, 14 Jun 2026 06:51:10 +0000</pubDate>
      <link>https://dev.to/rohith_cef750793653e3d7bd/i-built-a-free-python-ai-platform-for-indian-developers-heres-everything-inside-5fk8</link>
      <guid>https://dev.to/rohith_cef750793653e3d7bd/i-built-a-free-python-ai-platform-for-indian-developers-heres-everything-inside-5fk8</guid>
      <description>&lt;p&gt;6 months ago I was a final year CS student &lt;br&gt;
with no real projects and no clear path &lt;br&gt;
into tech.&lt;/p&gt;

&lt;p&gt;So I built one.&lt;/p&gt;

&lt;p&gt;Not just a project. A full platform.&lt;/p&gt;

&lt;p&gt;Here's everything inside Rohith Builds &lt;br&gt;
— completely free, forever.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Inside
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. 100 Structured Lessons (Python → AI)
&lt;/h3&gt;

&lt;p&gt;Not random tutorials. A structured path:&lt;/p&gt;

&lt;p&gt;Day 1-20:  Python basics&lt;br&gt;
Day 21-40: Backend &amp;amp; APIs&lt;br&gt;
Day 41-60: SQL &amp;amp; Databases&lt;br&gt;&lt;br&gt;
Day 61-80: AI &amp;amp; LLMs&lt;br&gt;
Day 81-100: AI Agents &amp;amp; Launch&lt;/p&gt;

&lt;p&gt;Every lesson uses Indian examples.&lt;br&gt;
Zomato orders. Cricket scores. &lt;br&gt;
IRCTC bookings. Aadhaar validation.&lt;/p&gt;

&lt;p&gt;Because most tutorials use pizza and &lt;br&gt;
baseball. We use what we actually know.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Rohi — AI Tutor
&lt;/h3&gt;

&lt;p&gt;Stuck on a concept?&lt;/p&gt;

&lt;p&gt;Ask Rohi. he's powered by Groq LLM,&lt;br&gt;
understands Indian context, and is &lt;br&gt;
available 24/7.&lt;/p&gt;

&lt;p&gt;No waiting for a mentor to reply.&lt;br&gt;
No expensive bootcamp.&lt;br&gt;
Just ask and learn.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Jobs Board — Updated Daily
&lt;/h3&gt;

&lt;p&gt;This took the longest to build.&lt;/p&gt;

&lt;p&gt;An autonomous scraper that:&lt;br&gt;
→ Queries LinkedIn Guest API&lt;br&gt;
→ Searches Naukri via AOL gateway&lt;br&gt;
→ Finds Indeed listings&lt;br&gt;
→ Sends each to Groq AI for analysis&lt;br&gt;
→ Filters only junior/fresher roles&lt;br&gt;
→ Checks freshness (last 4 days only)&lt;br&gt;
→ Removes duplicates automatically&lt;br&gt;
→ Inserts into PostgreSQL&lt;/p&gt;

&lt;p&gt;Result: 53+ curated jobs. Updated daily.&lt;br&gt;
Filter by: Python, Backend, AI, Frontend&lt;br&gt;
Filter by: 2025, 2026, 2027 graduates&lt;/p&gt;

&lt;p&gt;No more scrolling through senior roles &lt;br&gt;
pretending to be junior.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. 220+ Prompt Vault
&lt;/h3&gt;

&lt;p&gt;Every prompt I've used to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Debug faster&lt;/li&gt;
&lt;li&gt;Write better code&lt;/li&gt;
&lt;li&gt;Prepare for interviews&lt;/li&gt;
&lt;li&gt;Build projects&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Copy. Use. Customize.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Improve Any Prompt (Free Tool)
&lt;/h3&gt;

&lt;p&gt;Paste any AI prompt.&lt;br&gt;
Get an optimized version instantly.&lt;br&gt;
No signup needed.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Tech Stack
&lt;/h2&gt;

&lt;p&gt;Built with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Python + Flask&lt;/li&gt;
&lt;li&gt;PostgreSQL (Neon)&lt;/li&gt;
&lt;li&gt;Groq API (Llama-3.3-70b)&lt;/li&gt;
&lt;li&gt;Render deployment&lt;/li&gt;
&lt;li&gt;SQLAlchemy + psycopg2&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No React. No Next.js. No hype stack.&lt;br&gt;
Just Python and PostgreSQL doing real work.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why I Made It Free
&lt;/h2&gt;

&lt;p&gt;Because every resource that helped me &lt;br&gt;
was either:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Paywalled after lesson 3&lt;/li&gt;
&lt;li&gt;In English accent I had to rewind&lt;/li&gt;
&lt;li&gt;Using examples I couldn't relate to&lt;/li&gt;
&lt;li&gt;Assuming I had a MacBook and ₹50k&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This platform assumes nothing except:&lt;br&gt;
you want to learn.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try It
&lt;/h2&gt;

&lt;p&gt;rohith-builds.onrender.com&lt;/p&gt;

&lt;p&gt;Jobs board (no signup):&lt;br&gt;
rohith-builds.onrender.com/jobs&lt;/p&gt;

&lt;p&gt;Prompt vault (no signup):&lt;br&gt;
rohith-builds.onrender.com/vault&lt;/p&gt;




&lt;p&gt;Built this while working an unpaid &lt;br&gt;
training role, &lt;br&gt;
and posting daily content.&lt;/p&gt;

&lt;p&gt;If I can build this, you can learn from it.&lt;/p&gt;

&lt;p&gt;Start with Day 1. See you on Day 100.&lt;/p&gt;

&lt;p&gt;— Rohith (@rohith_builds)&lt;/p&gt;

</description>
      <category>ai</category>
      <category>python</category>
      <category>beginners</category>
      <category>career</category>
    </item>
  </channel>
</rss>
