Inspiration
Most chatbots forget everything when the chat ends. I wanted an assistant that works like a friend who takes notes: it remembers what matters, and it does not talk when it has nothing useful to say.
What it does
Personal AI is a private assistant with lasting memory. You talk to it on Telegram (text or voice notes) or on a web app.
- It asks before it saves. It finds facts, preferences, decisions and promises in what you say, then asks you to confirm with one tap. Nothing is saved without your yes.
- It remembers across sessions. In a new session, it looks up your confirmed memories and uses them in the answer. On Telegram, replies that use memory show a confidence % and a "Show source" button.
- It tracks promises. Say "I'll send Arun the notes tomorrow" and it becomes a task with a due date. You get one reminder on Telegram in the hour before it is due.
- Skills. Eight built-in skills (weekly-review, day-plan, open-loops, topic-brief, explain-simply, decision-recall, goal-breakdown, stress-test-idea) plus custom skills you create. Skills only read your data. Only goal-breakdown suggests tasks, and you confirm those too.
- You stay in control. Memory page, Tasks page, and Telegram commands /memory, /forget (asks twice) and /newsession.
How I built it
All the thinking runs on NVIDIA Nemotron 3 Super through Nebius Token Factory: routing each message, extracting memories, judging what is relevant, deciding whether to speak, and running skills. Embeddings use Qwen3-Embedding-8B (1024 dimensions) through Token Factory too.
The backend is FastAPI with Postgres and pgvector (hosted on Neon). The Telegram bot uses python-telegram-bot, and voice notes are turned into text by faster-whisper. The web app is Next.js. The backend and bot run on Railway and the web app on Vercel. I used prompts only, with no fine-tuning.
Challenges
- Keeping memory trustworthy: the confirm step, the confidence % and the source button exist so you can check what the assistant remembers.
- Making reminders happen once, and stay quiet when there is nothing to say.
- Security: I tested two separate accounts to check that one user cannot read another user's data.
What I learned
Building judgment steps (when to look up memory, when to stay silent) is harder than building the chat screen. I also learned to describe only what is really built.
Honest limits
Logging out does not cancel the login token on the server. Skill results are not saved in chat history. Voice transcripts can have mistakes, so the bot shows "Heard: ..." for you to check.
What's next
Linking Telegram and web accounts, a morning brief, and a richer memory timeline.
Built With
- apscheduler
- fastapi
- faster-whisper
- nebius-token-factory
- neon
- next.js
- nvidia-nemotron
- pgvector
- postgresql
- python
- python-telegram-bot
- qwen3-embedding-8b
- railway
- react
- sqlalchemy
- tailwind-css
- telegram-bot-api
- typescript
- vercel
Log in or sign up for Devpost to join the conversation.