0:00
/
0:00
Transcript

Perceptive App is a reflective journaling and belief analysis app built around one core idea:

We do not experience objective reality. we experience interpreted reality shaped by perception, assumptions, and evolving knowledge. This app helps users identify their assumptions.

🧠 Perceptive App

Challenge Your Beliefs

β€œChallenge your beliefs. Evolve your understanding.”

Perceptive is a personal belief-tracking and critical-thinking web app that helps you examine, challenge, and evolve your beliefs over time. Log what you believe, document your evidence and assumptions, receive AI-powered analysis, and track how your beliefs change all in a sleek dark-mode interface.


πŸ“Έ Preview

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Perceptive        [User Name]  [Sign Out]  β”‚
β”‚  Challenge your beliefs                     β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  πŸ’‘ Daily Challenge                         β”‚
β”‚  "What is one belief you've never           β”‚
β”‚   questioned?"  [Self-Reflection]           β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  + New Belief                               β”‚
β”‚  Statement | Evidence | Assumptions |       β”‚
β”‚  Falsifiability                             β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  Your Beliefs                               β”‚
β”‚  ── January 2025 ──────────────────         β”‚
β”‚  β”‚ "Hard work always leads to success"      β”‚
β”‚  β”‚ [active] β€’ Jan 5, 2025                   β”‚
β”‚  β”‚ [Show Details] [Status β–Ύ] [πŸ—‘]           β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

✨ Features

πŸ” Authentication

Sign in with Email/Password or Google OAuth (mock simulation). Your session and all belief data persist in localStorage between visits.

πŸ’‘ Daily Challenge

Every day, a new philosophical prompt is surfaced β€” deterministically seeded from the date β€” to spark critical self-reflection. Categories include Self-Reflection, Intellectual Honesty, Falsifiability, Source Analysis, and more.

πŸ“ Belief Logging

Submit a new belief with four structured fields:

  • Statement: What do you believe to be true?

  • Evidence: What supports this belief?

  • Assumptions: What are you taking for granted?

  • Falsifiability: What evidence would prove this wrong?

πŸ“Š Belief Status Tracking

Each belief has a lifecycle status you can update at any time:

Status Meaning

🟒 Active You currently hold this belief

🟑 Modified You’ve refined or partially changed it

πŸ”΄ Replaced This belief has been superseded by a new one

πŸ€– AI Analysis

Trigger on-demand analysis on any belief. The engine detects linguistic patterns absolutes (always, never), generalizations (everyone, nobody), obligations (should, must), and comparatives (better, worse) and returns:

  • Hidden Assumptions: Implicit claims embedded in your belief

  • Counter-Arguments: Challenges to probe the belief’s validity

  • Confidence Score : A simulated certainty rating

πŸ—“οΈ Timeline View

All beliefs are grouped chronologically by month, displayed in a vertical timeline. Empty states are handled gracefully with a prompt to add your first belief.


πŸ—‚οΈ Project Structure

src/
β”œβ”€β”€ App.tsx                        # Root β€” auth gate, layout, main state
β”œβ”€β”€ types/
β”‚   β”œβ”€β”€ belief.ts                  # Belief, BeliefStatus, AIAnalysis interfaces
β”‚   β”œβ”€β”€ auth.ts                    # User interface
β”‚   └── index.ts                   # PerceptionEntry, Reflection interfaces
β”œβ”€β”€ hooks/
β”‚   β”œβ”€β”€ useAuth.ts                 # Auth state, signIn/signOut, localStorage sync
β”‚   β”œβ”€β”€ useBeliefs.ts              # CRUD for beliefs, localStorage persistence
β”‚   └── usePerceptions.ts          # Perception entry management
β”œβ”€β”€ components/
β”‚   β”œβ”€β”€ AuthScreen.tsx             # Login page (Email + Google OAuth)
β”‚   β”œβ”€β”€ DailyChallenge.tsx         # Date-seeded daily philosophical prompt
β”‚   β”œβ”€β”€ BeliefForm.tsx             # Form to add a new belief (4 fields)
β”‚   β”œβ”€β”€ BeliefCard.tsx             # Individual belief card with expand/collapse
β”‚   β”œβ”€β”€ AIAnalysis.tsx             # AI insight trigger & results display
β”‚   β”œβ”€β”€ Timeline.tsx               # Month-grouped belief timeline
β”‚   β”œβ”€β”€ EntryCard.tsx              # Perception entry card
β”‚   β”œβ”€β”€ EntryList.tsx              # List of perception entries
β”‚   β”œβ”€β”€ InsightBadge.tsx           # Badge component for insights
β”‚   └── JournalForm.tsx            # Journal/reflection form
└── utils/
    β”œβ”€β”€ mockAI.ts                  # AI analysis engine (pattern-based NLP)
    β”œβ”€β”€ challenges.ts              # 7 philosophical challenge prompts + daily selector
    β”œβ”€β”€ storage.ts                 # localStorage read/write helpers
    └── localStorage.ts            # Additional storage utilities

πŸš€ Getting Started

Prerequisites

  • Node.js β‰₯ 18

  • npm or yarn

Installation

# Clone the repository
git clone https://github.com/your-username/perceptive.git
cd perceptive

# Install dependencies
npm install

# Start the development server
npm run dev

Open

http://localhost:5173

in your browser.

Build for Production

npm run build
npm run preview

πŸ› οΈ Tech Stack

Technology Purpose React 18 UI framework with hooks-based state management TypeScript Fully typed data models and component props Tailwind CSS Dark-mode utility-first styling (slate palette) shadcn/ui Card, Button, Input, Select, Label components Lucide React Icons (Brain, Lightbulb, LogOut, Trash2, etc.) date-fns Date formatting for timeline grouping localStorage Client-side persistence for user & belief data Vite Fast development and production build tool


Key Implementation Details

Auth Flow

Authentication is fully mocked on the client. useAuth loads a saved user from localStorage on mount. Sign-in creates a new User object with crypto.randomUUID() and saves it. Google OAuth is simulated with a 1-second delay.

This is a frontend-only prototype. For production, replace the mock auth in useAuth.ts with a real provider (Firebase Auth, Supabase, Auth0, etc.).

Daily Challenge Algorithm

The daily prompt is seeded deterministically from the current date string β€” no backend required:

const index = today.split("").reduce((acc, char) => acc + char.charCodeAt(0), 0)
               % PHILOSOPHICAL_CHALLENGES.length;

This ensures every user sees the same challenge on the same day.

AI Analysis Engine

The analyzeBelief() function in mockAI.ts performs keyword-based linguistic analysis to surface hidden assumptions and counter-arguments. It checks for:

  • Absolutes β€” always, never

  • Universal claims β€” everyone, nobody, all

  • Imperatives β€” should, must, ought

  • Comparatives β€” better, worse

  • Certainty markers β€” know, certain

πŸ’‘ To upgrade to real AI analysis, replace analyzeBelief() with an API call to OpenAI, Claude, or another LLM provider.

Data Persistence

All data is stored in localStorage under two keys:

  • perceptive_beliefs β€” array of Belief objects

  • perceptive_user β€” current authenticated User


πŸ’¬ Philosophy

β€œThe first principle is that you must not fool yourself and you are the easiest person to fool.” : Richard Feynman

Perceptive is built on the idea that intellectual honesty requires actively stress-testing what we believe, not just defending it.

Discussion about this video

User's avatar

Ready for more?