DreamUp

Daily affirmations, focus tasks, and mindset audio to achieve your dream life.

not yet reviewed by publik

How to install DreamUp

Every step written out, for people who have never opened a terminal. Pick the setup you have.

DreamUp Logo

DreamUp

A local-first, privacy-respecting desktop application and web app for goal tracking, affirmations, and structured daily reflection.

License: MIT Tauri v2 React 19 Tailwind CSS Google Gemini

DreamUp Dashboard Preview


Table of contents


How to run the app

Option A: Web browser mode (localhost)

Run DreamUp directly in Chrome, Safari, Firefox, or Edge without installing Rust:

  1. Clone the repository:

    git clone https://github.com/Jemycan/DreamUp.git
    cd DreamUp
    
  2. Install dependencies:

    npm install
    
  3. Start the development server:

    npm run dev
    
  4. Open in your browser: Navigate to http://localhost:1420. All features including audio synthesis, affirmations, daily focus, and reflections function locally in your browser.


Option B: Native desktop app (Tauri v2)

Run DreamUp as a native desktop application with local SQLite database storage.

1. System prerequisites

  • Node.js: v18.0 or higher
  • Rust & Cargo: v1.77 or higher (curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh)
  • Build tools:
    • macOS: xcode-select --install
    • Linux: sudo apt update && sudo apt install -y build-essential curl wget file libssl-dev libgtk-3-dev libwebkit2gtk-4.1-dev libayatana-appindicator3-dev librsvg2-dev libasound2-dev
    • Windows: Visual Studio C++ Build Tools

2. Run the desktop app

npm run tauri dev

First-time setup guide

When you launch DreamUp for the first time, an onboarding wizard guides you through setting up your profile:

  1. Current reality: Enter your current mood and any challenges you are working through.
  2. Future vision: Define your primary goal, visualization details, and how you want to feel.
  3. People and time horizons: Outline your short-term, mid-term, and long-term milestones along with supportive friends and family.
  4. Blockers: Identify any habits, beliefs, or obstacles you want to overcome.
  5. Connect your Gemini key: Paste your free Gemini API key to enable AI stories, focus items, and affirmations.
  6. Dashboard access: Click Enter My Future Reality to land on your personalized dashboard.

How to open and close the app

Opening the app

  • Browser mode: In your terminal, run npm run dev and open http://localhost:1420.
  • Desktop mode (development): In your terminal, run npm run tauri dev.
  • Installed desktop app: Once built via npm run tauri build, double-click the DreamUp icon in your macOS Applications folder or Windows Start Menu.

Closing and stopping the app

  • Desktop window: Close the window using Command + Q (macOS), Alt + F4 (Windows), or click the window's close button.
  • Terminal server: In the terminal window where the app was started, press Ctrl + C to stop the background process.
  • Browser tab: Close the browser tab or window.

API key configuration

DreamUp uses Google's Gemini API (gemini-3.6-flash) for generating personalized stories, affirmations, and focus plans. The application uses a Bring-Your-Own-Key model and does not use any central proxy servers.

Getting a free API key:

  1. Open Google AI Studio.
  2. Sign in with your Google account.
  3. Select Get API key and click Create API key.
  4. Copy your key.

Where the key is stored:

  • Desktop mode: Saved on your local disk at ~/.dreamup_api_key.
  • Browser mode: Saved in browser localStorage.
  • All goal data, reflections, and living profile facts remain strictly on your local computer (app_data.db). No telemetry or analytics are collected.

Key features

  • Living profile: Onboarding flow captures your current situation, blockers, target feelings, and goals across short-term, mid-term, and long-term horizons.
  • Affirmations system:
    • Isolated categories for Career, Academics, Wealth, Health, Relationships, and Confidence.
    • Manual affirmation writing, saving, and deletion. User-written affirmations are preserved when regenerating cards.
    • Interactive flashcard viewer with keyboard navigation and auto-advance mode.
  • Daily manifestation story and audio: Produces a 500-word first-person narrative reflecting your goals, with built-in text-to-speech audio and live prompt revision.
  • 432 Hz sound engine and ambient rain: Built-in background audio mixer featuring 432 Hz frequency tones and looped ambient rain.
  • Today's focus: Generates three daily high-impact actions, each broken down into three concrete subtasks.
  • Gratitude journal and reflections: Local note-taking tool with custom folder categorization.
  • Vision board: Image board with automatic broken-image fallbacks.

Building standalone installers

To build an executable installer package:

npm run tauri build

Compiled packages are written to src-tauri/target/release/bundle/:

PlatformOutput formatOutput path
macOS.dmg, .appsrc-tauri/target/release/bundle/dmg/
Windows.msi, .exesrc-tauri/target/release/bundle/msi/
Linux.deb, .AppImagesrc-tauri/target/release/bundle/deb/

Troubleshooting

  • API 404 or model error: Verify your Gemini API key is active in Google AI Studio. The default model is set to gemini-3.6-flash.
  • Linux audio packages: Ensure libasound2-dev is installed via sudo apt install libasound2-dev.
  • Reset local desktop data:
    • macOS: rm ~/Library/Application\ Support/tauri-app/app_data.db
    • Linux: rm ~/.local/share/tauri-app/app_data.db
    • Windows: del %APPDATA%\tauri-app\app_data.db
  • Reset browser data: Clear site data for http://localhost:1420 in your browser settings.

Tech stack

  • Frontend: React 19, TypeScript, Vite, Tailwind CSS
  • Desktop core: Tauri v2, Rust
  • Database: SQLite via rusqlite (desktop) / localStorage (browser)
  • Audio engine: Rodio, Symphonia (desktop) / Web Audio API (browser)
  • AI integration: Google Gemini API (gemini-3.6-flash)

Contributing

Contributions and pull requests are welcome.

  1. Fork the repository
  2. Create a branch: git checkout -b feature/your-feature-name
  3. Commit your changes: git commit -m 'feat: add description'
  4. Push to branch: git push origin feature/your-feature-name
  5. Open a Pull Request

License

This project is licensed under the MIT License. See the LICENSE file for details.