-
-
Capture any thought with one click
-
Find your thoughts neatly organized automatically
-
Park disturbing thoughts at a safe, secured place
-
Find a specific thought you were looking for with vague memory you have about it
-
Find daily and monthly summaries to act upon the thoughts for 2mins at the end of the day
-
See how much you owe others and vice versa(money related thoughts)
-
Actionable thoughts(tasks) added to your calendar
Inspiration
I live with OCD and ADHD. Intrusive, compulsive thoughts keep breaking my focus, whether I’m studying, coding, preparing for the civil services exams, or solving a DSA problem. An idea comes up in the middle of a podcast, while I’m travelling, or halfway through a problem. Holding on to it costs me focus, and letting it go means losing it.
Note apps didn’t help. They make you type in the middle of what you’re doing and choose a folder before you can save. Their voice input just pastes your rambling word for word, and finding a note later means guessing the right keyword. Some of the thoughts that loop the most are about money: “Rahul still owes me for dinner”, “I have to pay Priya back for the cab”. These small debts stay in your head for days.
I wanted one place where I could say a thought out loud, get straight back to work, and trust that it would be organized, dated, settled and findable later. I soon realised it isn’t only for people like me. Anyone with a busy mind has the same problem.
What it does
RecallDesk is a voice-first external memory. Capture anything. Find it when you need it.
Capture by voice: tap the mic (or use any voice app) and speak. Gemini turns your messy speech into a short, clean note. Only that note is saved, never the raw words you said. Organizes itself: every thought is sorted into topics automatically. To regroup, just say how you want it, like “merge these into Placement Prep”. You see a preview first and can undo with one tap. Built-in calendar: say “DBMS assignment due this Friday” and it lands on Friday. Vague timing like “next week” is never guessed into a date. Money moments with PayPal: Requests: say “Rahul owes me $20 for dinner, by Sunday”. RecallDesk spots the person, amount, reason and due date. After you confirm, it sends Rahul a PayPal invoice. Payments: say “I owe Priya $15 for the cab” and pay her with PayPal Checkout right in the app. Settling up: once PayPal confirms the payment, RecallDesk ticks the thought off automatically. Safety: the AI only suggests, and nothing moves without your tap. Ask RecallDesk: ask the way you actually remember things, like “What was that caching thing?” or “Who still owes me money?” It answers only from your notes and live PayPal statuses, with sources you can click, and says so honestly when it can’t find something. Daily and monthly summaries: a calm recap with every thought as a checkbox, so you can act on your day in a few minutes. Park It: an end-to-end encrypted space for worries and looping thoughts, locked with a secret code only you know. It’s never seen by the server or the AI.
How I built it
Frontend: React, TypeScript, Vite and Tailwind CSS. Voice uses the Web Speech API, with a MediaRecorder fallback that the AI transcribes. Backend: Node.js and Express, serving the API and the website as one service on Render. Database and accounts: Supabase (Postgres) with row-level security, so each person can only reach their own data. AI: Google Gemini with structured JSON output. One capture call writes the note and also extracts topics, calendar dates and money items. Gemini also powers Reorganize, Ask, summaries and audio transcription, with a chain of fallback models when one is busy. Search: hybrid retrieval combining Postgres full-text search with pgvector semantic search (local MiniLM embeddings through Transformers.js). PayPal (sandbox): OAuth 2.0 client credentials on the server. The Invoicing API v2 to create, send, remind and cancel requests. The Orders API v2 with the PayPal JavaScript SDK buttons to pay another person, with server-side capture. Statuses are re-checked against PayPal so paid items settle automatically. Park It: Web Crypto API, using RSA-OAEP and AES-GCM with a key derived from your code using PBKDF2. Testing: Postman to test the API endpoints.
Challenges I ran into
Regional rules in the PayPal sandbox: our first test accounts were India-based. PayPal blocked US-dollar invoices from them (INR_FOREIGN_CURRENCY_BLOCKED) and doesn’t support rupee checkout payments. We moved to a US sandbox business account. We also made RecallDesk explain currency errors clearly, offer a currency picker, and clean up drafts if sending fails. AI that doesn’t invent things: the AI must tidy notes without adding deadlines, amounts or people that you never said. It also has to turn “this Friday” or “half of 30” into exact values in your time zone, while refusing to guess from vague phrases. Keeping humans in control of money: we designed every PayPal action as a suggestion that needs an explicit tap. Privacy: we store only the clean note, never the raw input. Park It is truly unreadable to us. Reliability: free-tier Gemini models were sometimes overloaded or out of quota. We added retries, fallback models and clear messages. Voice in every browser: live speech recognition isn’t available everywhere, so we added a record-and-transcribe fallback.
Accomplishments that I'm proud of
A spoken sentence becomes a real PayPal request. When it’s paid, the thought ticks itself off, which closes the loop on a worry. Recall works on half-remembered questions, including “who still owes me money?” answered from live PayPal statuses. Park It uses real end-to-end encryption, not just a password screen. Dates and debts are extracted without guessing. It’s a complete, deployed product with accounts, privacy and security built in from the start.
What I learned
For people with ADHD or OCD, and honestly for everyone, the best tool asks the least of you at the moment a thought arrives. Good AI features depend as much on what the AI must not do (invent, guess, act without consent) as on what it does. How the PayPal Invoicing and Orders APIs fit together, and how sandbox account regions affect real behaviour. Hybrid search beats keyword or semantic search alone for personal notes.
What’s next for RecallDesk
Connecting each user’s own PayPal account through PayPal’s partner onboarding, plus verified webhooks for instant status updates Splitting a bill between several people from one spoken sentence Reminders before deadlines and money due dates A mobile app with one-tap capture and offline support Better support for speaking in, and mixing, multiple languages
Built With
- express.js
- github
- google-gemini
- hugging-face
- mediarecorder-api
- minilm
- node.js
- paypal
- paypal-invoicing-api
- paypal-javascript-sdk
- paypal-orders-api
- pgvector
- postgresql
- postman
- react
- react-router
- render
- supabase
- tailwindcss
- transformers.js
- typescript
- vite
- web-crypto-api
- web-speech-api
- zod
Log in or sign up for Devpost to join the conversation.