PROJECTS

EventRelay screenshot

EventRelay

Self-hosted outbound webhook delivery service. Signs, guards, retries, and logs every event so a flaky third-party endpoint never becomes your on-call problem.

• Built a self-hosted event delivery pipeline: validate → sign → deliver → retry → dead-letter → resend.

• Implemented an SSRF guard and request signing to secure outbound webhook delivery.

• Used BullMQ + Redis for exponential-backoff retries and Postgres (Drizzle ORM) for durable delivery logs.

• Structured as a Turborepo monorepo (Hono API, Next.js dashboard, background worker) with no vendor lock-in.

Next.jsNext.jsPostgreSQLPostgreSQLTailwind CSSTailwind CSSTurborepoTurborepoDockerDocker
Draw App screenshot

Draw App

Real-time collaborative whiteboard inspired by Excalidraw and tldraw. Multi-tool canvas with rooms, live sync, and shareable view-only links.

• Built a multi-tool canvas — pencil, rectangle, circle, line, triangle, and text — with dashed/arrow line variants and partial erase, synced live over WebSockets.

• Designed a room system with JWT-authenticated dashboards, per-room canvas persistence (Prisma/Postgres), and admin-only room deletion.

• Added shareable, read-only view links (view tokens) so a board can be shared without granting edit access.

• Structured as a Turborepo monorepo separating the Next.js client, an Express HTTP API, and a dedicated WebSocket backend.

Next.jsNext.jsExpressExpressTailwind CSSTailwind CSSTurborepoTurborepoPrismaPrismaPostgreSQLPostgreSQL
Scripture screenshot

Scripture

Note-taking app with three editor modes — block-based rich text, Markdown, and to-do lists — with JWT and Google OAuth authentication.

• Built three distinct note editors: a BlockNote block-based rich-text editor, a Markdown editor, and a checklist/to-do editor.

• Implemented authentication with both JWT + bcrypt-hashed passwords and Google OAuth via Passport.js.

• Used Zustand for client state management across note views and user session data.

• Structured as a monorepo with an Express + MongoDB API and a Vite/React frontend, deployed separately to Render and Vercel.

ReactReactExpressExpressTailwind CSSTailwind CSSMongoDBMongoDB
MovieApp screenshot

MovieApp

TMDB-powered movie & TV discovery app with dedicated trending, popular, top-rated, and cast/people browsing.

• Built dedicated Movies, TV Shows, Trending, Popular, Top Rated, and People sections backed by the TMDB API via Axios.

• Implemented a details page with trailer playback in a modal, plus a cast/person page linking to each person's filmography.

• Added infinite scroll and genre-based search/filtering, animated with Framer Motion.

ReactReactTailwind CSSTailwind CSS
Task Track screenshot

Task Track

Full-stack multi-board Kanban app with drag-and-drop, task priorities/labels/subtasks/assignees, and automated due-date email reminders.

• Built a multi-board Kanban system with team membership and drag-and-drop task management (@hello-pangea/dnd) using shadcn/Radix UI.

• Modeled tasks with priority, labels, subtasks, and assignees on Postgres via Prisma, backed by a full notifications system.

• Implemented a Vercel Cron job that emails due-soon and overdue task reminders via Resend.

• Secured authentication with JWT, bcrypt-hashed passwords, and httpOnly cookies.

Next.jsNext.jsPostgreSQLPostgreSQLTailwind CSSTailwind CSSPrismaPrisma
EDokan E-Commerce screenshot

EDokan E-Commerce

Full-stack MERN e-commerce platform with cart/wishlist, SSLCommerz payment integration, and a separate admin dashboard for products, orders, and users.

• Built role-based Buyer and Admin experiences with JWT authentication and protected routes.

• Implemented cart, wishlist, checkout, and order history, with online payments via SSLCommerz.

• Built an admin dashboard for managing products, categories, orders, and users, with order status updates and analytics.

• Used Joi for request validation, Multer for product image uploads, and Nodemailer for transactional email.

ReactReactExpressExpressNode.jsNode.jsMongoDBMongoDBTailwind CSSTailwind CSS
To-Do App screenshot

To-Do App

ToDo App using JavaScript, HTML, Bootstrap – CSE 2200 Assignment.

• Developed a simple ToDo list using vanilla JavaScript and Bootstrap.

• Enabled adding, deleting, and marking tasks as complete.

• Used localStorage for persistent task storage.

JavaScriptJavaScriptHTMLHTMLBootstrapBootstrap