Design-Based Research Capstone

Slack Messaging Platform Capstone

A Design-Based Research capstone building a Slack-style messaging platform using pages-tracking for the frontend and spring-tracking for the backend — featuring real-time chat, message threading, admin controls, and AI-powered task extraction.

Slack Messaging Platform - Real-Time Collaborative Chat
View Project
In Development
Project Leads Anvay Vahia, Mihir Bapat, Yash Parikh

Slack Messaging Platform

Recreating Slack with Spring Boot + Flask Socket.IO

Create/join channels with real-time Socket.IO message delivery
Reply-to-message threading with contextual inline previews
AI-powered task extraction from channel conversations (Claude API)
Admin moderation: delete messages, lock channels, manage roles
JWT cookie auth across Spring backend and Flask Socket.IO layer
Deployed to messaging.opencodingsociety.com
Spring Boot 3.5 / Java 21 Flask Socket.IO Jekyll + Static JS Claude API (Anthropic) Amazon S3 / Aurora JWT Cookie Auth GitHub Actions CI/CD

About

A full-stack Slack-style messaging platform targeting messaging.opencodingsociety.com. The frontend (pages-tracking Jekyll) provides a channel sidebar, message timeline, and composer wired to Spring REST APIs via shared config.js auth cookies. Flask Socket.IO handles low-latency live message fanout while Spring Boot remains the source of truth for persistence and permissions. Message threading, AI task extraction via Claude API, and admin moderation round out the feature set.

Impact

Users send and receive messages in real-time channels
Threaded replies preserve conversation context
AI auto-extracts and tracks action items per user
Admins moderate content and manage channel permissions
Platform deployed and accessible at messaging.opencodingsociety.com
Learn More
AI Task Extraction - Auto-generate task lists from channel messages
View Project
In Development
Project Leads Anvay Vahia, Mihir Bapat, Yash Parikh

AI-Powered Task List Integration

Surfacing Action Items Without Manual Tracking

Claude API reads channel messages and detects action items
Personal task list per user with due dates and assignments
Real-time task_assigned socket event with toast notifications
Task status toggle: PENDING → IN_PROGRESS → DONE
Admin channel-level task overview with reassign and delete
All endpoints protected by JWT cookie auth
Claude API (Anthropic) Spring Boot TaskService Spring Task Entity / JPA Socket.IO (task_assigned) Jekyll JS Task Panel JWT Cookie Auth

About

An AI layer integrated into the messaging platform that reads channel conversations and automatically generates, updates, and surfaces task lists for users. A Spring TaskService sends batched messages to Claude API using a structured prompt contract, extracts JSON task objects, and persists them in a Task entity. A task panel UI sits alongside the chat timeline and updates live via Socket.IO task_assigned events. Admins can view, reassign, and delete tasks across all users in a channel.

Impact

Action items no longer buried in conversation history
Tasks auto-assigned and traceable to source message
Users notified in real-time when new tasks are detected
Admins can manage all tasks across a channel
No tasks leak across users — strict per-user visibility
Learn More