Skip to content

ethanplusai/manifestapp

Repository files navigation

manifest

A structured intention-tracking social web app. Declare your goals, track your progress, and make them visible for accountability.

Philosophy

This is NOT a journaling app and NOT a "woo-woo" manifestation app. It's positioned around:

  • Structured intention — every goal has a category, timeline, and status
  • Visibility and accountability — choose what to share publicly
  • Calm, deliberate self-development — no gamification, no streaks, no dopamine tricks

Features

Core Objects

Manifestations — Structured goals with:

  • Title (short, declarative)
  • Category (Career, Money, Health, Relationships, Personal, Creation)
  • Time Horizon (30 days, 90 days, 1 year, Someday)
  • Status (Declared → In Motion → Realized / Released)
  • Visibility (Private, Followers, Public)
  • Optional private fields (Why this matters, Confidence level)

Boards — Group manifestations into focused collections:

  • "2026 Outcomes"
  • "Next 90 Days"
  • "Financial Reality"

Public Profiles — GitHub-style profile pages showing:

  • Display name and handle
  • Bio
  • Public manifestations and boards

Social Layer (Lightweight)

  • Follow other users
  • Feed with declarations and status changes
  • Calm reactions: "Witnessed", "Aligned", "Rooting for this"
  • No likes, no comments, no DMs

Tech Stack

  • Frontend: Next.js 15 with App Router
  • Styling: Tailwind CSS v4
  • State: Zustand
  • Backend: Supabase (Postgres + Auth)
  • Icons: Lucide React

Getting Started

  1. Clone the repository

  2. Install dependencies:

    npm install
  3. Set up environment variables:

    cp .env.local.example .env.local

    Fill in your Supabase credentials.

  4. Run the development server:

    npm run dev
  5. Open http://localhost:3000

Database Setup

The database schema is in supabase/migrations/001_initial_schema.sql. Run this against your Supabase project to set up the tables.

Project Structure

src/
├── app/                    # Next.js App Router pages
│   ├── (auth)/            # Auth pages (login, signup, onboarding)
│   ├── (app)/             # Authenticated app pages
│   │   ├── dashboard/     # Main dashboard
│   │   ├── boards/        # Boards list
│   │   ├── feed/          # Social feed
│   │   └── settings/      # User settings
│   └── [handle]/          # Public profile pages
├── components/
│   ├── ui/                # Reusable UI components
│   ├── manifestation/     # Manifestation-specific components
│   ├── board/             # Board-specific components
│   ├── profile/           # Profile components
│   ├── auth/              # Auth forms
│   └── layout/            # Layout components (header, footer)
├── lib/
│   ├── types.ts           # TypeScript types
│   ├── utils.ts           # Utility functions
│   ├── store.ts           # Zustand stores
│   └── supabase/          # Supabase client setup
└── middleware.ts          # Auth middleware

Design System

The app uses a calm, minimal aesthetic:

  • Colors: Neutral palette (grays, off-white, soft accents)
  • Typography: IBM Plex Sans
  • Spacing: Generous whitespace
  • Motion: Subtle transitions

CSS variables are defined in globals.css for easy theming:

  • --color-bg, --color-surface, --color-border
  • --color-text, --color-text-secondary, --color-text-muted
  • Status colors, reaction colors

TODO: Future Features

Mobile App

The architecture is designed for mobile compatibility:

  • Modular components work with React Native
  • Simple state management (Zustand)
  • No web-only dependencies

Premium Features (Future)

  • Private manifestation analytics
  • Advanced board organization
  • Custom visibility lists
  • Export/backup functionality

Social Features (Future)

  • Discovery/explore page
  • Suggested follows
  • Activity notifications

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors