We built a React and TypeScript web app on a Node.js, Express and MongoDB API. The server collects calls from an Italian grants service, scores each one against a client project out of 100, and gives consultants the screens they need to assign calls and run each application.
- 01
Unified calls list
Every open call appears in one searchable list with region, deadline, days left, ATECO code and evaluation procedure on each card. Consultants filter by geographical area and star favorites instead of checking site after site.
- 02
Weighted grant matching
Each call is scored against a project out of 100: sector 30 points, region 25, budget fit 20, timeline 15 and wording overlap 10. Anything under 20 percent is dropped, so consultants only review calls that could fit.
- 03
Grant Management per project
For each investment project, consultants see matched, available and assigned grants side by side with the match percentage, amount and deadline. One click on Assign links the best call to the project.
- 04
Investment projects table
All client projects sit in one table with the client name, linked grant, investment amount and owner. Tabs separate matched grants, live updates, available grants and archived work.
- 05
Practice management
Every application, called a practice, has a state such as Draft, Pending, Submitted or Approved that consultants change in place. The team can see at a glance which applications need action.
- 06
Documents and calendar
A shared document area holds folders for companies, employees, practices and shared files, and a calendar tracks deadlines and events by month, week or day. Paperwork stays next to the application it belongs to.
- 07
Real-time chat and alerts
Messages and notifications reach each user over Socket.IO, so clients and colleagues get updates without waiting for an email. Clients join by email invitation and see only the projects and documents shared with them.
- 08
OpenAI help assistant
An assistant powered by OpenAI answers questions about how to use the system. New users can find their way around without asking a consultant.