Lewis NDAMBIRI | Industrial Engineer & AI/Data Science Specialist

Dual Master's in Industrial Engineering & Computer Science | Optimization, Data, Automation

View My GitHub Profile

MeetScheduler

React Node.js Express Built with AI

MeetScheduler is a full-stack web app inspired by Doodle. It helps groups create meeting events, invite participants, collect availability, and identify the best time slot once enough people are available.

The project was built for HackaPrompt AI 2026 at the University of Trento, a hackathon focused on building software with large language models and reflecting critically on AI-assisted programming.

Screenshots

HackaPrompt AI 2026 event slide

MeetScheduler create event screen

Features

Tech Stack

Layer Technology
Frontend React 18, React Router, Vite, custom CSS
Backend Node.js, Express
Data storage Local JSON file storage
Calendar Google Calendar API
Authentication Google OAuth 2.0
Email Nodemailer with Gmail SMTP

Quick Start

1. Clone the project

git clone https://github.com/lewisndambiri/meeting-scheduler.git
cd meeting-scheduler

2. Install dependencies

cd server
npm install

cd ../client
npm install

3. Configure environment variables

Create a server environment file:

cd ../server
cp .env.example .env

Then update .env with your Google OAuth and Gmail app credentials:

GOOGLE_CLIENT_ID=your-client-id.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=your-client-secret
GOOGLE_REDIRECT_URI=http://localhost:3001/api/auth/google/callback
BASE_URL=http://localhost:5173
EMAIL_USER=youremail@gmail.com
EMAIL_PASS=your-app-password

4. Run the app

Start the backend:

cd server
npm run dev

Start the frontend in another terminal:

cd client
npm run dev

Open http://localhost:5173.

Project Structure

meeting-scheduler/
├── client/
│   ├── index.html
│   ├── vite.config.js
│   └── src/
│       ├── App.jsx
│       ├── App.css
│       ├── api.js
│       ├── components/
│       │   └── Navbar.jsx
│       └── pages/
│           ├── Home.jsx
│           ├── CreateEvent.jsx
│           └── EventDetail.jsx
├── server/
│   ├── server.js
│   ├── config.js
│   ├── auth.js
│   ├── store.js
│   └── routes/
│       ├── auth.js
│       ├── calendar.js
│       ├── events.js
│       └── invite.js
├── docs/
│   └── assets/
└── README.md

HackaPrompt AI 2026

HackaPrompt AI 2026 took place on April 23, 2026 at Polo Fabio Ferrari, Povo, Trento, Italy. The challenge asked students to build software with the help of large language models while observing where AI tools are effective and where human review is still essential.

Key reflections from this project:

Future Improvements

Author

Lewis Ndambiri

License

MIT