Superlazy - Be Lazy like Linus
superlazy reads your email, Slack conversations and AI coding-agent sessions, and maintains a to-do list for you. It uses your own LLM API key to work out what each message means for you: what you neeed to-do, what others have to do for you, what your team has to-do, and what is just there to read. It creates to-do's, assigns them and resolves them as it reads each message.
How it works
When a new email or Slack message arrives, superlazy sends it to your LLM together with what it already knows: your current projects and their open to-dos, the people involved and what they usually handle, and any standing instructions you have written ("invoices from [this sender] are low priority"). The model answers with changes: a new to-do, a hand-off to a colleague, a due date, or checking off a to-do that is now done. Based on your history and the people involved in a thread, your LLM prioritizes each project and to-do (priority 1 thru 5) so you can focus on what's important, or review by due date (where relevant).
Every to-do can be traced back to the message that created or changed it so you can trace what happened through the maze of messages it relates to.
If a to-do is resolved offline, you can of course manually check it (and edit priorties and descriptions if you like.) A weekly clean-up process takes a more holistic view to organize your work for the week, proposing merges and closures, if need be.
Here is a visualization of how Superlazy works:
Install
You need a freezr account and an API key from Claude or ChatGPT. Pick whichever of these fits:
-
Running your own freezr server
If you are a dev and want superlazy to monitor Claude Code or Codex, then you need to run on localhost - see dev-setup for details.
-
using freezr online
You can also create your freezr server on a cloud provider like AWS, GCP or Azure. See freezr install for details.
After installing freezr, you can click on the Superlazy link in the featured apps section of your home page to install it.
Connect your accounts
Go to /account/resources on your freezr to add the underlying connectors and then give Superlazy access to them.
Start with your LLM key: under LLM API Keys, press Add LLM Key
and paste a Claude or ChatGPT key.
Then add at least one input:
Gmail or Microsoft 365 / Outlook: press
Connect a Gmail, Microsoft or Slack Account, pick the provider and sign in. For Gmail you can use salmanff.com as the authenticator - to do so, first send an email to info@freezr.info to request access before authenticating. You also need to pass through a series of warnings by Google not to grant freezr access. If you want to give Superlazy access, you will have to accept everything within 30 seconds. No one said it was easy ;).
Other wise, for both Gmail and Microsoft mail, you can set up your own authenticator app to give yourself access. (See here for background, and oauth-setup for setting up your own authenticator.)
When asked about Services to enable, tick Mail. Choose Read only
if you only want to-dos, or Read + Write if you also want to send replies
from Superlazy.
Other mailboxes (Yahoo, iCloud, Fastmail…): press Add IMAP Mailbox, pick a provider preset and enter your address and an app password from your mail provider.
Slack
Press Connect a Gmail, Microsoft or Slack Account, choose Slack (Messaging) and sign in to your workspace. (If you run your own Slack app, go to api.slack.com/apps → your app → OAuth & Permissions → Either copy the oauth token or create a new one - see oauth-setup for details.) If your freezr server offers Live updates on the connection, turn them on so new messages are picked up as they arrive. Without them, superlazy checks on each run instead.
To learn more about setting up oauth so that your server can access your Slack messages, see oauth-setup.
Claude Code and Codex sessions (freezr on your own computer)
If you have freezr running on localhost, on the same computer as your coding agents, superlazy can also read the session transcripts they leave behind, and turn the work you asked for and left unfinished into to-dos, in the same projects as your mail. This needs an admin account on that local server:
-
Allow local folder accessAs admin, go to
/admin/prefsand check the Enable local file-store access box and then press Update preferences -
Add the foldersGo back to Account Resources
/account/resources, under File Stores, press Add Local Folder once per agent:~/.claude/projectsfor Claude Code,~/.codex/sessionsfor Codex (where "~" is /Users// on macs, and C:\Users\\ on PCs.
Session files are read in place. superlazy never writes to them.
First run - training Superlazy
First you need to grant the relevant permissions on the app's settings page
(/account/app/settings/com.salmanff.superlazy). These can be revoked there at any time.
You need to at least grant the use_ai permission to run Superlazy.
You would then need read_work_sessions for accessing local codex and claude,
messaging_read for Slack, and read_account_email for email.
The full list of permissions is below.
Once your permissions are granted, go to the Superlazy app setup page /apps/com.salmanff.superlazy/setup. Under Sources you will see the various resources you have enabled: mailboxes, Slack and coding agent folders. In each case the setup screen asks which mailbox, or channels or sessions to learn from and how many days
of history to read. More days gives a fuller picture of your work, at the cost of a bigger first
call.
Then press the Read button so Superlazy can build your initial to-do list. Keep the tab open until it finishes.
Superlazy comes back with your projects, and in the case of mail, it shows you the people you work with, and askss a few questions. Correct anything it got wrong, answer the questions, and press Save and start using SuperLazy. From then on, each new message is analysed as it arrives.
Background processing
Superlazy works with the browser open, but it is most useful when it keeps reading while you are
away. That is a freezr background job. Grant run_training_job and
schedule_training_job, and choose where the job runs when you grant them:
- On the freezr server. The server's admin has to trust the job first. If freezr runs on your own computer you are the admin, but the job only runs while the computer is on.
- In your own cloud. Add AWS credentials under Compute Providers (Serverless) on Account Resources, and the job runs in your own AWS account. This works on any freezr server.
Then switch on Check mail in the background in Superlazy's Setup & Prefs → Preferences.
Permissions list
freezr permissions are granted on the app's settings page
(/account/app/settings/com.salmanff.superlazy) and can be revoked there at any time.
| Permission | Grant it if… |
|---|---|
| use_ai | required Always. superlazy analyses each message with your LLM key. |
| read_account_email | You want your email read. Read-only. |
| send_replies | You want to send replies from superlazy. Only sends when you press Send. |
| messaging_read | You want Slack conversations read. Only the ones you choose to track. |
| send_messages | You want to reply on Slack from superlazy. |
| run_training_job schedule_training_job | You want new mail analysed while the browser is closed (see background processing). |
| read_work_sessions | You run freezr on your own computer and want your Claude Code / Codex sessions read. |
| read_archive | You use Mail Cabinet as your mail archive. |
| msg_subscribers share_originals | Other freezr apps will ask superlazy for emails. Each request still needs your approval inside superlazy. |
Superlazy is open source (MIT). The code, and the full install notes, are on GitHub. ← Back to all apps