Pranav KK

AI integration developer. Python, LLMs and Flutter.

I moved from planning industrial plant construction into software in 2025. My main app now runs the front desk of a gym in Pinarayi, Kerala, every day. I also build AI into real products: a RAG system that checks health insurance claims against IRDAI's rules and quotes every clause, an LLM agent that fills a food-delivery cart, and a subtitle pipeline on speech models I benchmarked.

Open to AI integration, GenAI and Python developer roles in the UAE (ready to relocate and join immediately) or in Bengaluru and remote. pranavvinod508@gmail.com

Screens show demo data

Main project

Unique Fitness Gym

The front-desk app of a gym in Pinarayi, Kerala, used there every day on the gym owner's Android phone and tablet. It handles admissions, payments, dues and WhatsApp reminders and keeps its data on the device. It also includes a client for the gym's eSSL face-recognition door, tested against a simulated terminal; the door itself isn't connected yet.

  • Flutter and DartOffline-first, data kept on the device with Hive
  • Android, iOS, webOn the gym owner's Android phone and tablet; an iPhone build checked in CI; the web build is the live demo
  • 99 automated testsRun by CI on every push to main
  • eSSL / ZKTeco clientThe door's network protocol, implemented in Dart

The day at a glance

One screen answers the owner's first questions: how many came in, what was collected, how many plans end this week. The check-in log draws a tick for every visit since 5 AM.

Dashboard with 46 members in today, ₹17,190 collected and the day's door log (demo data).

The face-recognition door

I wrote my own Dart client for the terminal's network protocol, working from the open-source pyzk project: packet framing, checksums and the password handshake. Tests compare key packets with pyzk's bytes and run the client against a fake terminal over TCP.

Once the door is connected, the app adds members to the terminal, sees when their face is registered, pulls entries into attendance every five minutes and blocks expired plans at each sync. Until then, a simulated terminal stands in for it in the tests and the demo.

Face ID sheet for a demo member: face registered on the door terminal and the door allowed.

An admission in four steps

Details, health notes, a plan showing its saving against paying monthly, then cash, UPI or card and a PDF receipt. A part-payment becomes a due the app remembers.

Admission step with Silver and Platinum plans and durations with savings.

WhatsApp reminders

The Reminders tab lists expiring plans, dues, birthdays and members who stopped coming, and a morning notification sums up the day. WhatsApp opens with each message written; the desk only taps send.

Reminders screen with 14 expiring members and a send all button.

The owner's numbers

Income against a monthly target, profit after expenses, how members pay and the busy hours, behind an owner PIN.

Revenue screen with ₹95,239 this month and monthly income bars (demo data).
The dashboard on the front-desk tablet, with the side rail, today's door log and the month's revenue (demo data).
The same app on the front-desk tablet.

More projects

ClaimCheck report on a demo claim: the insurer approved ₹1,15,080, the policy and IRDAI's rules support ₹1,41,906, so ₹26,826 may be due. Each deduction is stamped Allowed or Too high, with the quoted clause.

ClaimCheck

Checks a health insurance claim against the policy and IRDAI's rules, and quotes the clause behind every deduction.

  • Upload the hospital bill (a PDF or a phone photo) and the insurer's settlement letter. ClaimCheck works out what the policy should pay, judges each deduction as allowed, too high or not allowed, and drafts the appeal letter.
  • RAG with an agent: the policy and IRDAI's circulars are split at their own clause numbers and searched by meaning and keywords together. The passages for each deduction are found first, then the model reasons with tools to look up anything missing.
  • Amounts are calculated in code, never by the model, and every quote is checked word for word against the document it names. A verdict left without a verified quote is marked unclear.
  • On a labelled test of 20 insurer deductions it got every verdict right, every amount exact to the rupee, and backed each verdict with a verified source. The same model on its own also got the verdicts right but quoted nothing and missed one amount.

Python, FastAPI, Gemini, embeddings, BM25, MCP, pytest

The demo claim is fictional. ClaimCheck explains the rules with their sources; it is not legal advice.

Cravio home page: restaurants that deliver to you, nearest first, each with a delivery time.

Cravio

Food delivery where an AI assistant builds your cart from a plain-English request.

  • Ask for "biryani under ₹300 that reaches me in 30 minutes": the assistant searches the demo menus through five server-side tools, suggests matching dishes and adds the ones you pick to your cart. Checkout always stays with the customer.
  • The assistant is an agent loop: the model asks for a tool, the server runs it and sends back the result, up to six rounds per message. It is told to recommend only what the tools returned, so it doesn't invent dishes or prices, and a visitor's own API key is used for that one request and never stored.
  • Only restaurants that deliver to your location, nearest first, with delivery times; out-of-range orders are refused on the server.
  • Role-based access for customers, vendors and admins, Razorpay payments verified on the server, and 85 automated tests.

Python, Django, LLM tool calling, MySQL, Razorpay, Leaflet

The demo runs on a free server that sleeps when idle, so the first visit can take about a minute.

PolySub output on Japanese sentences from Google's FLEURS dataset

  1. 00:01.6 → 00:05.7日本には約7000の島々があり、その最大は本州列島There are about 7,000 islands in Japan, and the largest of them is the Honshu
  2. 00:05.8 → 00:08.7で、世界で7番目に大きい島とされています。Islands, the seventh largest island in the world.

Japanese by Whisper large-v3. The English in this sample is Whisper's built-in translation; PolySub's LLM translation needs an API key.

PolySub

Subtitles in about 100 languages, using whichever speech model measured more accurate.

  • I benchmarked models on Google's FLEURS: Qwen3-ASR won for English (3.8% word error rate) and Whisper large-v3 for Japanese (4.1% character error rate).
  • An LLM translates in numbered batches and replies in a fixed JSON schema, one line per subtitle; any line it misses is asked for again, so every subtitle keeps its timing. Each batch sees the last few translations, so names stay consistent. Outputs SRT, WebVTT, bilingual files or video with subtitles burned in.
  • Speech recognition runs locally on my RTX 4060; translation calls an LLM API. A Gradio web page, and 44 tests that run without a GPU.

Python, PyTorch, Qwen3-ASR, Whisper, LLM API, FFmpeg, Gradio

Smaller work

TaskBuddy, a React 19 to-do app with no UI library: a progress ring, light and dark themes that load without a flash, and 27 tests, deployed by CI. Live demoCode

The path so far

As a planning engineer on industrial plant construction, I scheduled the work, planned materials and manpower, and prepared the monthly billing. In 2025 I moved into software full-time, starting with full-stack training at KodNest in Bengaluru.

  1. 2026–now

    Building my own apps

    Unique Fitness Gym, in daily use at a gym in Kerala, plus three AI-integrated apps: ClaimCheck's RAG claim checker, Cravio's LLM agent and PolySub's speech and translation pipeline. Each with tests.

  2. 2025–2026

    Full-stack developer training

    KodNest, Bengaluru. Java, Python, Django, React and MySQL.

  3. 2022–2024

    Planning engineer

    Vrishal Engineering, Jamnagar. Scheduling, materials and manpower for industrial projects.

  4. 2017–2021

    B.E. Mechanical Engineering

    AJ Institute of Engineering & Technology, Mangaluru.

What I work with

AI integration
RAG (embeddings, hybrid search, citations), LLM APIs, function / tool calling, AI agents, MCP, structured outputs (JSON schema), prompt engineering, evaluation on labelled test sets, Whisper, Qwen3-ASR, PyTorch
Reverse engineering
AI-orchestrated analysis and de-obfuscation of a protected Windows binary with a custom Python harness: Frida, Unicorn, Capstone, pefile
Languages
Python, Dart, JavaScript, Java, SQL
Mobile
Flutter, Provider, Hive, Android builds
Backend
FastAPI, Django, REST APIs, MySQL, SQLite
Frontend
React, HTML, CSS, GSAP, Vite
Shipping
Git, GitHub Actions, pytest, Vitest, Flutter tests, Render, GitHub Pages

Hiring an AI integration developer?

I'm looking for an AI integration, GenAI or Python developer role in the UAE, where I'm ready to relocate and can join immediately, or in Bengaluru and remote. Write to me, or look through the code first.

Unique Fitness Gym, live demo with fictional members

The same Flutter app the gym uses, built for the web. Open full screen