Skip to content

KOSH is a fintech-style savings platform inspired by real-world group savings. It supports individual and group campaigns with contribution rules, penalties, admin controls, and fair payout logic. Built end-to-end with Next.js and MongoDB, focusing on correctness, transparency, and system design.

License

Notifications You must be signed in to change notification settings

kaushik0010/KOSH

Repository files navigation

💰 KOSH - Fintech Savings Platform

Next.js React Node.js MongoDB TailwindCSS Vercel

🎯 The Problem

Managing personal savings is hard, but managing group savings is even harder. Whether it's for a vacation, a shared goal, or a traditional savings circle (like a susu or chit fund), groups rely on messy spreadsheets, constant reminders, and social pressure. This process is prone to errors, missed payments, and a lack of transparency, often leading to failed goals and frustration.

💡 The Solution: KOSH

KOSH is a FinTech web application that digitizes and automates this entire process. It provides a secure, transparent, and motivating platform for both individual and collaborative savings.

By enforcing rules, automating contributions, and applying penalties for missed payments, KOSH transforms a chaotic social process into a simple, disciplined financial tool, helping users build healthy financial habits and achieve their goals together.

🧠 Key Design Decisions

1. Contribution Windows + Penalties

Instead of allowing payments anytime, I introduced fixed contribution windows.

  • Late payments incur penalties (capped at 40%)
  • Missed payments reduce final payout eligibility

Tradeoff: More complex backend logic
Reason: Ensures fairness and prevents manipulation

2. Admin-Controlled Group Lifecycle

Admins control member approval, campaign start, and payout. Tradeoff: Centralized control
Reason: Mirrors real-world savings groups and avoids chaos

3. No Real Money Handling

This version intentionally avoids real payments. Reason: Focus on system design and correctness before compliance & security complexity

✨ Key Features

👥 Group Savings (The Core)

  • Create & Join Groups: Form public (auto-join) or private (admin approval) savings groups.
  • Group Campaigns: Set shared savings goals with start/end dates and contribution amounts.
  • Contribution Tracking & Penalties Tracks manual monthly contributions and automatically applies a penalty (up to 40%) for late/missed payments to enforce discipline.
  • Admin-Triggered Payouts: After the campaign ends, the admin distributes the funds with a single click, triggering an equal and automated payout to all members.

👤 Individual & Wallet System

  • Individual Savings: Create personal, private savings goals (with manual contributions) to track your own progress.
  • Personal Wallet: Securely manage your funds, top-up your balance, and track all transaction history.
  • Secure Authentication: Full login/register system with email verification (using NextAuth & JWT).
  • User Profiles: Update personal details and manage your account.

🛡️ Smart Rules & Platform

  • Admin Controls: Group admins manage members, approve requests, and oversee campaigns.
  • Spam Prevention: Limits group joining requests to prevent system abuse.
  • Safe Deletion Logic: Admins must distribute funds and delete their group before they can delete their own account, ensuring no one loses their money.
  • Dashboard: A central hub to view your wallet, active campaigns, and group progress.

🛠️ Tech Stack

  • Frontend: Next.js 15, React 19, TailwindCSS, ShadCN UI, Axios
  • Backend: Next.js API Routes (Node.js, Express-like)
  • Database: MongoDB + Mongoose
  • Auth: NextAuth (JWT-based authentication)
  • Deployment: Vercel

📂 Project Structure

/app
    /api → Next.js API Routes
    /auth → Authentication pages
    /dashboard → User dashboard pages
    /groups → Group savings pages
/src
    /features → Feature-based modules (auth, savings, profile)
    /components → Reusable UI components
/components 
    /ui -> Shadcn ui components

⚡ Getting Started

1️⃣ Clone the Repository

git clone https://github.com/kaushik0010/KOSH.git
cd kosh

2️⃣ Install Dependencies

pnpm install

3️⃣ Configure Environment Variables

Create a .env.local file and add:

MONGODB_URI=your_mongodb_connection_string
NEXTAUTH_SECRET=your_nextauth_secret
RESEND_API_KEY=your_resend_api_key

4️⃣ Run Locally

pnpm dev

Visit http://localhost:3000

5️⃣ Build for Production

pnpm build
pnpm start

📸 Screenshots

Click to expand/collapse screenshots

Home Page

KOSH Home Page

Register

register

Login

login

Dashboard

dashboard

Update Profile

update-profile

Individual Savings Plan Creation

individual savings plan

All Groups

all groups

Create Group

create group

Group Details

group-details

Group Savings Campaign Creation

create campaign

🤝 Contributing

Contributions, issues, and feature requests are welcome! Feel free to fork this repo and submit a pull request.

⭐ Support

If you like this project, don’t forget to star ⭐ the repo!

About

KOSH is a fintech-style savings platform inspired by real-world group savings. It supports individual and group campaigns with contribution rules, penalties, admin controls, and fair payout logic. Built end-to-end with Next.js and MongoDB, focusing on correctness, transparency, and system design.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •