Townsquare AI Perspective-Exploration App by Imad DhinTownsquare AI Perspective-Exploration App by Imad Dhin
Built with FlutterFlow

Townsquare AI Perspective-Exploration App

Imad Dhin

Imad Dhin

Verified


Townsquare AI — Full Project Summary

Client: Govern AI Ltd (UK)
Role: AI Engineer & Full-Stack Mobile Developer
Platform: iOS / iPadOS / macOS / visionOS
App Store: Townsquare AI on App Store
Website: governai.tech

Project Overview

Townsquare AI is a perspective-exploration platform that uses artificial intelligence to break users out of algorithmic echo chambers. The app analyzes shared content — articles, TikTok videos, social media posts, and web links — and generates AI-driven summaries alongside alternative viewpoints that challenge or expand the presented narrative.
The core problem it solves: The internet exposes users to endless information, but algorithmic curation traps them in filter bubbles where they only encounter viewpoints that reinforce their existing beliefs. Townsquare flips that model by actively surfacing perspectives users would never see otherwise.

Tech Stack

LayerTechnologyMobile FrameworkFlutter + FlutterFlowBackend / BaaSFirebase (Auth, Firestore, Cloud Storage, Cloud Messaging)AI / MLGoogle Gemini API (content analysis, perspective generation)Serverless FunctionsGoogle Cloud Functions (content processing pipeline)API IntegrationsREST APIs (content ingestion, link parsing, metadata extraction)MonetizationRevenueCat (subscription management + Apple IAP)Hosting / InfrastructureGoogle Cloud Platform

Core Features

Universal Share Extension
Users can share any content directly from Safari, TikTok, X (Twitter), Instagram, or any app into Townsquare. The share extension captures the URL, passes it to the processing pipeline, and returns analysis within seconds. This is the primary content ingestion mechanism and the key UX differentiator.
AI-Powered 6-Dimension Content Analysis
The Gemini-powered analysis engine breaks down shared content across six analytical dimensions:
Argument Structure — Maps the logical structure of claims, premises, and conclusions.
Fact Selection — Identifies which facts were included or omitted and why that matters.
Narrative Framing — Analyzes how language, tone, and structure shape the reader's perception.
Source Credibility — Evaluates the reliability and bias patterns of the content source.
Alternative Perspectives — Generates counter-viewpoints from different ideological, cultural, or analytical lenses.
Critical Thinking Prompts — Provides questions to help users evaluate the content independently.
Perspective Explorer
After analysis, users can explore alternative viewpoints organized by perspective type. The AI doesn't claim to determine objective truth — instead, it presents how the same event or claim looks through different lenses, supporting the user's own critical thinking.
Content Library
All analyzed content is stored in the user's personal library, searchable and organized by topic, date, and analysis type. Users can revisit past analyses and track how narratives evolve over time.
Subscription Tiers
Three subscription plans managed through RevenueCat. Each tier provides increased usage limits and access to new features as they ship:
TierPriceNamed AfterKafka$9.99/moFranz Kafka — questioning power structuresPankhurst$7.99/moEmmeline Pankhurst — championing new perspectivesOrwell$5.99/moGeorge Orwell — clarity in language and truth

Architecture

Plaintext
┌─────────────────────────────────────────────────┐
│ Flutter App │
│ (FlutterFlow + Custom Dart) │
│ │
│ ┌───────────┐ ┌──────────┐ ┌───────────────┐ │
│ │ Share Ext │ │ Feed UI │ │ Analysis View │ │
│ └─────┬─────┘ └────┬─────┘ └───────┬───────┘ │
│ │ │ │ │
└────────┼─────────────┼────────────────┼─────────┘
│ │ │
▼ ▼ ▼
┌─────────────────────────────────────────────────┐
│ Firebase Services │
│ │
│ Auth ─── Firestore ─── Cloud Storage ─── FCM │
│ │
└──────────────────────┬──────────────────────────┘


┌─────────────────────────────────────────────────┐
│ Google Cloud Functions │
│ │
│ ┌────────────┐ ┌─────────────┐ ┌───────────┐ │
│ │ URL Parser │ │ Content │ │ Metadata │ │
│ │ & Scraper │ │ Extractor │ │ Enricher │ │
│ └─────┬──────┘ └──────┬──────┘ └─────┬─────┘ │
│ │ │ │ │
│ └───────────────┼──────────────┘ │
│ ▼ │
│ ┌─────────────────┐ │
│ │ Gemini API │ │
│ │ (Analysis + │ │
│ │ Perspective │ │
│ │ Generation) │ │
│ └─────────────────┘ │
└────────────────────────┬────────────────────────┘


┌─────────────────────────────────────────────────┐
│ REST API Integrations │
│ │
│ Link Preview APIs ── News APIs ── Social APIs │
│ (metadata, OG tags, content enrichment) │
└─────────────────────────────────────────────────┘


Technical Implementation Details

Flutter + FlutterFlow Hybrid Approach

The app uses FlutterFlow for rapid UI prototyping and standard screens, combined with custom Dart code for performance-critical features like the share extension, real-time analysis rendering, and the perspective explorer's interactive UI. This hybrid approach accelerated development while maintaining full control over the AI-integration layer.

Firebase Integration

Firebase Auth — Email/password + Apple Sign-In for account management.
Cloud Firestore — Stores user profiles, analysis results, content library, and subscription state.
Cloud Storage — Caches scraped content and generated analysis artifacts.
Cloud Messaging (FCM) — Push notifications for analysis completion and new feature announcements.

Gemini API Pipeline

The content analysis pipeline runs server-side through Cloud Functions:
Ingestion — Share extension or in-app URL submission triggers a Cloud Function.
Extraction — URL is parsed, content is scraped, and metadata is extracted via REST APIs.
Analysis — Extracted content is sent to Gemini with structured prompts for each of the 6 analysis dimensions.
Generation — Gemini produces perspective summaries, counter-arguments, and critical thinking prompts.
Storage — Results are written to Firestore and pushed to the client in real-time.

REST API Layer

External REST APIs handle content ingestion and enrichment: link preview services for OG metadata, content scraping endpoints for article text extraction, and social media APIs for video/post content parsing. The Cloud Functions orchestrate these calls before passing clean content to Gemini.

Technical Specifications

Platform Compatibility
The platform requires a minimum version of iOS 14.0+ for iPhone and iPod touch, iPadOS 14.0+ for iPad, macOS 11.0+ (Apple Silicon) for Mac, and visionOS 1.0+ for Apple Vision.
App Details
App Size: 48.1 MB
Language: English
Age Rating: 13+ (user-generated content)

Privacy & Data Handling

Data TypeLinked to IdentityEmail addressYesUser-generated contentYesUser IDYesProduct interaction analyticsNo
The app follows a privacy-first approach — analysis happens server-side, and user data is handled according to Govern AI's published privacy policy. Account deletion is supported per GDPR/privacy regulation requirements.

Key Engineering Challenges Solved

Universal Share Extension in Flutter — Building a native iOS share extension that communicates with the Flutter app layer required bridging native Swift code with the Dart runtime, handling background execution, and managing state synchronization between the extension and main app.
Real-Time AI Analysis Pipeline — Ensuring sub-5-second analysis turnaround from URL submission to rendered results required optimizing the Cloud Functions cold start, parallelizing the scraping and metadata extraction steps, and streaming Gemini responses back to the client.
Multi-Perspective Generation Quality — Prompt engineering the Gemini API to produce genuinely diverse perspectives (not just rephrased versions of the same viewpoint) required iterative structured prompt design with explicit dimension separation and quality validation.
FlutterFlow + Custom Code Integration — Maintaining a clean boundary between FlutterFlow-managed screens and custom Dart modules (share extension, analysis engine, subscription logic) required careful project structure and build configuration.

Project Status

Current Phase: Live on App Store, active development
Stage: Early-stage product with features evolving based on user feedback
Monetization: Three active subscription tiers via RevenueCat + Apple IAP
Family Sharing: Supported for eligible purchases
Like this project

What the client had to say

Great work and engagement.

Mikhail Lyskov

Nov 2, 2025, Client

Posted Apr 2, 2026

Developed Townsquare AI, an app breaking algorithmic echo chambers by analyzing content with AI.

Likes

0

Views

0

Timeline

Sep 29, 2025 - Nov 2, 2025

Clients

Govern AI Ltd