Crystl is a full-stack platform built for the "Bit N Build" hackathon to solve the critical challenge of financial opacity. It's a multi-tenant ecosystem designed to automate data ingestion, provide clarity through visualization, and foster public trust through a verifiable, two-party approval system.
| Live Application | Video Presentation |
|---|---|
| crystl.vercel.app | Watch Video |
| Click the link above to explore the live project. | Click to watch our 3-minute demo video. |
Use the "Explore Institutions" button on the homepage to view public financial data without needing to log in.
Financial data in institutions is often trapped in complex spreadsheets, dense PDFs, and siloed departments. This lack of clarity makes it difficult to track the flow of money, creates opportunities for misuse, and leaves stakeholders like citizens, students, and donors completely in the dark. How can we trust numbers that are hard to access, difficult to understand, and impossible to verify?
Crystl tackles this problem with a three-pronged approach: Automate, Verify, and Visualize. We built a comprehensive platform with distinct, tailored experiences for every stakeholder.
We eliminated the #1 barrier to transparency: manual data entry. Our intelligent pipeline automates the entire process.
- Upload Anything: Institutions can upload raw financial documents as CSVs or even unstructured PDFs.
- Intelligent Structuring: We use Google Cloud Vision API for OCR and the Gemini LLM to intelligently parse documents, identify transactions, and structure messy data into a clean, usable format.
- Automated Routing: The structured data is then routed to the correct departments for verification.
Data is useless if you can't understand it. Our public-facing dashboards turn complex numbers into intuitive stories.
- Multi-Level Fund Flow: Interactive Sankey diagrams visualize the complete journey of funds from the institution down to the final vendor.
- Spending Breakdowns: Pie and Bar charts provide instant insights into spending by department and track trends over time.
- Granular Transaction Log: A fully searchable and paginated table provides ultimate detail.
To ensure data accuracy, nothing is accepted blindly.
- Pending Approvals: Allocations created by an institution appear in the respective department's dashboard as "pending".
- Approve or Dispute: Departments must digitally approve every transaction, creating a human-level check and balance.
We went above and beyond to deliver a complete, user-centric solution.
| Anomaly Detection | AI Financial Assistant |
|---|---|
![]() |
![]() |
| Community Feedback Forum | Multi-Currency Support (USD/INR) |
![]() |
![]() |
| Area | Technologies |
|---|---|
| Frontend | React, Vite, Tailwind CSS, Material-UI, Recharts, react-router-dom, Axios |
| Backend | Node.js, Express, MongoDB, Mongoose |
| AI & Cloud | Google Gemini API, Google Cloud Vision API |
| Auth | JWT (JSON Web Tokens), cookie-parser, bcryptjs |
| Deployment | Vercel (Frontend), Google Cloud Run (Backend) |
- Node.js (v20+)
- MongoDB Atlas account or local instance
- Google Cloud Platform account with Vision API and Gemini enabled
.envfile with necessary API keys and secrets
-
Clone the repository:
git clone https://github.com/rajathnh/crystl.git cd crystl -
Setup Backend:
cd backend npm install # Create a .env file from .env.example and add your variables npm run dev
-
Setup Frontend:
cd ../frontend npm install # Create a .env.local file and add your VITE_API_URL npm run dev







