---
# System prepended metadata

title: Email Demo Project

---

# Email Demo Project

Welcome to the Email take home assignment!

## The Project

The project is to build a minimal, terminal-inspired email client, with the following requirements:

- Email client can either be in the terminal (i.e. a TUI) or a web app
- Should have basic email viewing + sending functionality
- Can use a fake backend (DB, in-memory, etc) or real IMAP/POP/JMAP/etc backend
- Does **not** have to handle rich text messages, just plaintext

This project tests your ability not only to code, but to deal with ambiguity and open-endedness, which is essential in R&D projects like Kagi Labs.

## Inspiration

Your implementation should take inspiration from existing terminal email tools like [aerc](https://aerc-mail.org/), [mutt](http://www.mutt.org/), or even something like [himalaya](https://github.com/pimalaya/himalaya).

It should feel *fast* and *intuitive*, and you can choose which email flows you'd like to implement.

## Some Guidelines

- Do the project in a way that shows off your skills as a developer
- Deliverable is the completed project, in a GitHub repo and deployed anywhere so we can easily test it.
- Create a README file with setup instructions

And don't hesitate to tell us if you have any questions!

## Deadlines

Project should be submitted within two weeks. If life happens, just let us know!

## Things We Look For

- Code quality and organization
- Problem-solving approach
- Adding your own personal touches

Good luck and have fun!
