A proactive AI assistant that’s always listening and executes without you having to ask.
Most chatbots in the market are reactive in nature. You ask, they respond. But what if you didn’t have to ask? Think of an ambient, proactive virtual assistant, that connects to your favourite tools, learns from your behaviour and does things without you having to ask - always with your permission.
Echo has two core entities: Actions and Thoughts.
-
Actions are multi-step tasks executed in the background using your connected apps. Echo proposes actions automatically, which users can accept, reject, or modify with additional context.
-
Thoughts are links, notes, screenshots, or voice notes added by users. Beyond storage, Echo remembers and uses them as long-term context to improve future actions.
Example flow:
- Users sign up, complete onboarding, and connect everyday apps like Mail, Calendar, Drive, and To-Do, with full control to customize, modify, or revoke fine-grained access anytime.
- When activity occurs in a connected app (for example, a new calendar event), Echo utilises this trigger, gathers relevant context, and executes cross-app, multi-step actions automatically, such as checking availability, RSVPing, and preparing a meeting deck using past documents.
- Thoughts continuously augment Echo’s understanding, guiding and refining actions over time.
- Frontend: React Native with Expo, TypeScript, NativeWind (Tailwind CSS)
- State: Zustand (local UI + auth state), TanStack Query (Supabase data)
- Backend: Node.js, Express.js, TypeScript, Drizzle ORM
- Database: PostgreSQL (via Supabase)
- Auth: Supabase Auth
- Integrations: Composio (tool integrations), Supermemory (memory management)
- Node.js v18 or higher
- pnpm (
npm install -g pnpm) - Supabase project (for database and auth)
- Composio account (for tool integrations)
- Supermemory account (for memory management)
- A Gemini API key as we are using Gemini as the LLM for the backend.
- Navigate to the frontend directory:
cd echo- Install dependencies:
pnpm install- Copy the
.env.examplefile and name it.env:
cp .env.example .env-
Fill in the required environment variables in the
.envfile. -
Start the development server:
npx expo start- You will see a QR code. Scan it with the Expo Go app to see the app in your phone.
- Navigate to the backend directory:
cd backend- Install dependencies:
pnpm install- Create a copy of the
.env.examplefile and name it.env:
cp .env.example .env-
Fill in the required environment variables in the
.envfile. -
Run database migrations:
pnpm db:migrate- Start the development server:
pnpm startThe server will start on http://localhost:8000
- Note on testing notifications:
- Expose your backend server via an ngrok tunnel or a similar service.
- Head to the composio dashboard and update the webhook URL to the ngrok URL to receive events.
- This can only be tested on a physical device in the development build of the app.
Built with ❤️ by Team Echo!
