Coder Social home page Coder Social logo

marketing's Introduction

The repo is being switched to Rails and is now located here
Repo

Caley.io

The open-source email client for the modern era.
Website · Issues · Kanban · Discord

About

Caley.io reimagines your inbox with a fusion of AI brilliance and unmatched efficiency. Think smarter analytics, streamlined conversations, and effortless newsletter management all in one sleek package. More than an email client, it's your unfair advantage.

The repository is based on Inbox Zero Which as inspired the newsletter and stats features

Key Features

  • AI-Powered Efficiency: Imagine an inbox that not only understands you but also acts on your behalf..
  • Customized Email Responses: Tailored AI-generated email responses in your unique style.
  • Newsletter Management: Simplify subscriptions with easy management and one-click unsubscribe.
  • Inbox Analytics: Gain actionable insights from advanced email analytics.
  • Keyboard Command Center: Control your inbox efficiently with intuitive keyboard shortcuts.
  • Smart Calendar Integration: Effortlessly synchronize and manage your calendar from your inbox.

Built with

Roadmap

Feel free to create Issues, feature requests or anything you have in mind

Getting Started for Developers

Requirements

The external services that are required are:

We use Postgres for the database.

You can run Postgres & Redis locally using docker-compose

docker-compose up -d # -d will run the services in the background

Create your own .env file:

cp apps/web/.env.example apps/web/.env
cd apps/web
pnpm install

Set the environment variables in the newly created .env. You can see a list of required variables in: apps/web/env.mjs.

The required environment variables:

  • NEXTAUTH_SECRET -- can be any random string (try using openssl rand -hex 32 for a quick secure random string)
  • GOOGLE_CLIENT_ID -- Google OAuth client ID. More info here
  • GOOGLE_CLIENT_SECRET -- Google OAuth client secret. More info here
  • TINYBIRD_TOKEN -- Admin token for your Tinybird workspace (be sure to create an instance in the GCP us-east4 region. This can also be changed via your .env if you prefer a different region).
  • OPENAI_API_KEY -- Standard OpenAI API key.

To run the migrations:

pnpm prisma migrate dev

Now run:

pnpm run dev

Or from the project root:

turbo dev

Open http://localhost:3000 to view it in your browser. To upgrade yourself to admin visit: http://localhost:3000/admin.

Setting up Tinybird

Follow the instructions here to setup the pipes and datasources.

Set up push notifications via Google PubSub to handle emails in real time

Follow instructions here.

  1. Create a topic
  2. Create a subscription
  3. Grant publish rights on your topic

Set env var GOOGLE_PUBSUB_TOPIC_NAME. When creating the subscription select Push and the url should look something like: https://www.getinboxzero.com/api/google/webhook or https://abc.ngrok-free.app/api/google/webhook where the domain is your domain.

To run in development ngrok can be helpful:

ngrok http 3000

And then update the webhook endpoint in the Google PubSub subscriptions dashboard.

To start watching emails visit: /api/google/watch/all.

marketing's People

Contributors

codehagen avatar jeremyscatigna avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

marketing's Issues

Add AI writting capabilities to Compose email form

The goal here is to add a button in the message text area that appears after a certain amount of characters have been type and give multiple options, either Continue writting the email, shorten, make it longer, change tone, rewrite and then uses AI to write the email accordingly based on the instruction directly inside the textarea

Treat emails as Pull Requests in Github

For team collaboration it could be important when writting an to have feedback or reviews or an approval so a way way to enable that would be to treat emails just like Pull Requests in Github which means:

  • If you are an admin or you are the only member of your team you can send emails directly
  • Else When you write an email instead of the sending button You have a create PR button when exactly like on Github you can add labels, comments...
  • When reviewed or approved or you've received feedback you can send the email

Multitenancy and Teams/Workspaces support

Multitenancy and Teams/Workspaces support:

The goal here is to enable support for Workspace/Teams just like in Slack you could have multiple workspaces for example one that is your personal workspace composed of all your personal email addresses and others for companies or teams

It involves:

  • Creating a new workspace
  • Invite team member or not to workspace + assigning roles (email invitation)
  • Add multiple Gmail or Google workspaces accounts to a workspace

Calendar integration

As we already are connected to Gmail/Google workspaces account the goal here is to implement the calendar integration where you could see events from all the accounts you have connected.

The calendar could be open from anywhere using a keyboard shortcut and appear in a right side bar or be open in full screen.

The event also needs to be used in the Today view

Fetch more emails

Add fetch more emails capabilities as a button at then end of the list, for now it fetches either 50 or 100 email and we need to implement a way to fetch more and reconcile the list

Dates Natural language understanding

When writing an email we need to add natural language understanding for dates for things like "tomorrow", "today"...

The goal here is to be able to open the calendar sidebar when a date is typed in the email at the proper date so the user can easily see their availabilities at that particular point in time

Create Lists to sort emails

The goal here is to add the ability to create lists just like it is already implemented for "Done", "Team", "VIP" and "Calendar invites" to ease the process of sorting emails

  • User should have the ability to create a list
  • Define the list rules (example: List name is "investor" and it should contains the emails from those 3 email addresses)
  • Emails following the rule should appear in the list
  • Add keyboard shortcuts to move an email to a list
  • Add keyboard shortcuts to navigate through lists

Ask AI about your emails

We need to implement an open source LLM here to enable users to ask any questions about their emails using the LLM

example: "What john talked about in the last email he send me?" or "What was the agreement we had with client X?"

Today view

The goal here would be to build a today view, which could be the first page you see when you launch caley.io something routine.co is doing:

Screenshot 2024-01-26 at 14 30 06
  • It could aggregate emails, for example: You've received 3 emails from [email protected]
  • Give other informations like the date, the weather, todays calendar...

Assign to team mates

Once the Team/Workspace feature is implemented it would be cool to add an assign to features to email where you can assign someone of your team to this particular email

Rework how HTML emails are displayed

As of now a distinction is made between HTML emails (mostly newsletters and notification/updates email) and other type of emails to be displayed differently.

HTML emails are displayed in an iframe
other emails are displayed in a conversational type of UI

I think that it could be cleaned up a bit and the iframe part could be optimized and reworked to be sure every emails are displayed correctly

Kanban view for emails

The goal here would be to create a Kanban type of view but for emails:

  • 4 columns by default Backlog, Todo, in progress, Done
  • User can update column names and create new ones to match workflow
  • At the beginning all emails are in the backlog
  • User can drag and drop emails to other columns
  • When an email is dropped in an other column it adds the appropriate label to the email (column name)
  • When reloads the emails should be in their appropriate columns based on the label added

Fix resizable Navbar issues

There is an issue with the resizable navbar on the left of the email client is does not properly switch between account mode and text mode when you resize it

Full search

The goal is here is to implement full search capabilities which means being able to search through all the email accounts connected at the same time

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.