Disclaimer: Slop police, please leave me alone. I did slop a bit, just a teensy weensy bit, but the core parts of the program is all me. I'm sorry that I failed the No-Slop November ;-;
This is a calendar application for the people who live in the terminal.
Not joking, this is exactly what this is. This project uses n8n to fetch data from Google Calendar, and then presents it to that homie who lives in the terminal (nerd, but yk what? I think it's kinda cute you do.) It uses a Textual TUI (python) to render it.
Let's get one thing straight right off the bat: this is a hobby project. There is currently zero intention of deploying this into any sort of production environment anytime soon.
The project is currently in the final polishing stages of releasing a bare prototype / proof of concept. Hold your horses, this isn't for your judgement.
Before you dive into this, you'll need a few things:
- Python 3.10+ (We recommend using
uvfor dependency management because it's fast, and we like fast things). - Docker & Docker Compose (Crucial for running the n8n instance).
- A terminal that supports true color (because we want our TUI to look fabulous).
- A Google Calendar account (to actually have events to show).
Getting this up and running is a two-part dance:
- Spin up the Backend (n8n): Head over to
src/eventify/backend/n8n/and run the provided setup scripts (docker_setup.shordocker_setup.ps1). This gets n8n running so it can grab your calendar data. - Start the Frontend: From the root directory, install dependencies and run the main app. If you're using
uv:uv sync uv run main.py
(Expect some hiccups. We warned you it's a prototype!)
We have big dreams for this little terminal app. Here's what's cooking but not quite ready to eat:
- Local LLMs: AI-powered event summarization directly in your terminal.
- RAG (Retrieval-Augmented Generation): Parsing PDFs and web links to automatically create calendar events.
- Advanced TUI Animations: Making the terminal dance.
Here's a quick map of the beautiful mess we call our codebase:
src/eventify/frontend/: The visual core. Built with Textual (a Python TUI framework). This handles all the rendering—from the grid-like Monthly View to the list-based Schedule View, and the welcoming Greeter screen. It's the face of the operation. Note that all CSS-related styling is heavily (in development). That is, this thing is purelyAI SLOP. I'll make a new one after I get time to figure out CSS.src/eventify/backend/: The brain. This directory is reserved for all the heavy lifting, including (Planning to) add local LLM integration and RAG implementations (using tools like PyMuPDF and bs4/trafilatura) to make your calendar surprisingly smart.src/eventify/backend/n8n/: The pipeline. This contains our n8n workflows and Docker setup scripts. It's the glue that pulls real-world data (like Google Calendar events) into our terminal.
Disclaimer (once again): Half of the features in here, say the Greeter and the LLM and the RAG are all in the planning stages, alright? I just wanted to release the bare thing I made. Mostly myself. (Sorry again, slop police.)
Well, I had to find a way to explain to my mum how I wasted all this time, and here we are. Appreciate your valuable time for taking a look around!