A lightweight web app for short mutual acknowledgments that keeps small commitments clear without accounts, dashboards, or complexity.
Project Screenshots
Click to enlarge
Click to enlarge
About the Project
Acknowledge is a lightweight web app built to solve a small but common daily-life problem: verbal commitments between friends, roommates, or colleagues often fail because they are forgotten or unclear.
Instead of long chats or awkward follow-ups, Acknowledge lets people write one short statement, mutually acknowledge it, and optionally get a reminder without accounts, legal tone, or complexity. It focuses on clarity, neutrality, and low friction.
Problem
In shared living spaces (PGs, hostels, flatmates) and daily work life, people make small promises like:
- "I will pay the electricity bill." - "I will return this in 3 days."
These are usually verbal or buried in chats, leading to confusion, delays, and unnecessary friction.
Solution
Acknowledge provides:
- One short written statement (max 200 characters) - Mutual acknowledgment by both parties - Optional due date and reminder - Automatic expiry after 14 days - No user accounts, no dashboards, no editing after acknowledgment
Key Features
- Anonymous, session-based usage (no signup required) - Mutual acknowledgment to reduce ambiguity - Neutral reminders without guilt or pressure - Auto-expiry to protect privacy - Mobile-first, responsive design - Shareable link-based flow
Tech Stack
#
Frontend
- React 18 - TypeScript - Vite - Material UI (MUI) - React Hook Form - Axios - React Router
#
Backend
- NestJS - TypeScript - PostgreSQL - Prisma ORM - REST APIs - Cookie-based anonymous sessions - Cron jobs for reminders and expiry handling
#
Infrastructure
- Docker and Docker Compose - Nginx reverse proxy - Deployed on cloud hosting
Deployment
- Live App (Frontend): https://acknowledge-nine.vercel.app - Deployed on Vercel - Backend: NestJS backend containerized with Docker and deployed on Railway - Database: PostgreSQL hosted on Railway
What This Project Demonstrates
- Product thinking for real-world, non-obvious problems - Designing minimal systems instead of feature-heavy apps - End-to-end full-stack development - Clean API design and data modeling - Mobile-first, accessible UI/UX - Real deployment with production concerns