Product × Engineering × AI

Karnataka Connect

A community discovery platform for the Karnataka diaspora in the US — bringing organizations, events, places and services into one structured product, instead of scattered across a dozen websites, WhatsApp groups, and social pages.

Role
Product Engineer
Timeline
2025 – ongoing
Stack
Next.js · Supabase
Status
MVP live
Problem

Community information is fragmented — and getting worse.

For a Kannadiga in the US, finding your local Kannada organization, an upcoming event, or a Kannada-learning class today takes a dozen tabs. The information exists — but it lives across org websites, WhatsApp forwards, private Facebook groups, Instagram stories, email newsletters, and community pages nobody remembers to visit.

Every organization publishes to its own channel in its own format. Diaspora members follow the sanghas they already know, and quietly miss out on the ones they don't. New arrivals in a city can spend months finding what's already been built.

The problem isn't that community information doesn't exist. It's that discovery is broken — and every additional channel makes it worse, not better.

Users

Who this is for.

Three audiences share the same underlying problem in different shapes.

  • Diaspora members

    Kannadigas living in the US who want to stay connected to their community without doing archaeology across a dozen sites.

  • Community organizers

    Sanghas and cultural associations that already do the work of running events — and want their events to actually reach the people who'd come.

  • New arrivals & travelers

    Someone relocating for work, or visiting a US city for the first time, who wants to know: where's my community here?

Opportunity

One structured discovery experience.

The opportunity isn't a new content channel — the community has more than enough. It's a discovery layer that unifies what already exists: a single, structured product where a diaspora member can browse organizations, find upcoming events near them, and discover what's happening in their city — all in one place, with source-of-truth links back to the original org.

Automate the ingestion so nothing gets lost. Keep quality high with lightweight admin moderation. Design the surface mobile-first, for real use.

Product decisions

The trade-offs that shaped the product.

A few decisions early on set the direction — each one a deliberate no to a tempting alternative.

Discovery, not directory

A directory lists everything and asks the user to sort. Discovery organizes what matters around a person's context — their city, the season, what's happening next. The product is built to answer 'what's near me' before it answers 'what exists'.

Automated ingestion over manual entry

Every organization already publishes to their own site — RSS, iCal, or plain HTML. Duplicating that into a moderated form would rot fast. Instead, the system reads each org's own source, normalizes it, and asks an admin to approve.

Mobile-first, native-feeling

The target user is a community member checking their phone before a weekend event. Bottom tab bar with safe-area padding, native-feeling transitions, and generous touch targets — desktop is the secondary surface, not the primary one.

Cultural voice, not template

Warm vermillion, marigold, and peacock-teal palette. Kannada script accents in the hero. The visual system is built to feel like it belongs to this community, not a generic city-guide skin.

How it works

The system, end to end.

A discovery product is only as good as the pipe feeding it. Karnataka Connect's architecture is small on purpose — every piece exists because the product needs it.

Source registry

Each organization has a source in Postgres tagged as iCal, RSS, or HTML scrape, with the endpoint URL and last-run status.

Tiered ingestion pipeline

A dispatcher picks the right parser per source kind. iCal reads VEVENTs; RSS parses <content:encoded>; scrapers use targeted selectors per site.

Vercel cron

Three cron jobs on Vercel — iCal daily, RSS daily, HTML scrape daily — call an authenticated endpoint that runs each source and records the result.

Admin moderation

New events land as pending. A per-organization admin dashboard reviews, edits, and approves. Only approved records are public — enforced at the database with Row Level Security.

Structured schema

Organizations, events, sources, ingestion runs, learning programs, event reports, org admins. Small tables, clear foreign keys, extensible without rewrites.

Fast public reads

Next.js 16 App Router with server components and 5-minute revalidation. The public site is snappy and cacheable; ingestion happens behind the scenes.

Execution

What I personally built.

Karnataka Connect is a solo build — product framing through shipping code. Everything here was designed, decided, and implemented end-to-end.

  • Product surface — home, near-me, events, org detail, event detail — designed and coded mobile-first
  • Postgres schema with RLS policies (approved reads public, service-role writes only)
  • Ingestion library: dispatcher, iCal parser, RSS parser, per-site HTML scrapers
  • Vercel cron endpoints with Bearer-token auth and per-run tracking
  • Admin authentication and moderation UI (Supabase Auth, per-org scoping)
  • Kannada-script typography and vermillion/marigold/peacock-teal design system

AI-assisted development is part of the practice — used for scaffolding, ingestion parsers, and iteration — but every product decision, architectural choice, and merged commit is mine.

Current state

Where things stand today.

The MVP is live with real event data from six California Kannada organizations, running on Vercel with automated ingestion and admin moderation.

MVP status
Live
Organizations onboarded
6 (California)
Ingestion strategies live
iCal · RSS · HTML scrape
Entity types
Orgs · Events · Places · Learning
Roadmap

What's shipped, what's next, what's on the horizon.

Only shipped items are in the product today. Next and Future items are planned but not implemented — clearly labeled so the current state stays honest.

  1. Shipped

    Six California organizations

    KKNC, KSS Sacramento, TVKS, SJKS, SocalKCA, KKSSD onboarded with logos, banners, and structured metadata.

  2. Shipped

    Automated event ingestion

    iCal, RSS, and HTML scraping running daily on Vercel cron with per-source status tracking.

  3. Shipped

    Admin moderation

    Per-org admin dashboard for reviewing, editing, and approving incoming events.

  4. Next

    Community submissions

    Public form for members to submit organizations and events, feeding into the same moderation queue.

  5. Next

    More cities, more orgs

    Expand ingestion beyond California — starting with Texas, New Jersey, and the Pacific Northwest.

  6. Future

    Places & services surface

    Structured discovery of restaurants, temples, groceries and Kannada-focused services (currently seeded but not source-connected).

  7. Future

    Community tab

    Member profiles and follows — currently marked 'Soon' in the product.

  8. Future

    Travel discovery

    Trip planning around Karnataka festivals and community events. Currently a Coming Soon placeholder.

Tech

Built with.

Next.js 16React 19TypeScriptTailwind CSS v4Supabase (Postgres · Auth · RLS)Vercel (hosting · cron)iCal / RSS / CheerioAI-assisted development