🏆 1st Place (ESBF Green Tech Jam) -> https://esbf.org.uk/university-competitions/2026/green-tech-jam/
Special thank you to Andrew Crossan for hosting this competition and to Dr Dany Varghese for being our project sponsor and reviewing our project at every stage when we went from concept -> production.
The transition from university to full-time employment introduces financial responsibilities that many graduates are not fully prepared for. Concepts such as taxation, budgeting, pension contributions, and regional cost-of-living differences can be difficult to interpret, particularly for individuals managing their finances independently for the first time. Although information on these topics is widely available, it is often fragmented and not presented in a way that supports practical decision-making. This project proposes the development of Gradigo, a web-based platform designed to support early-career professionals in navigating these challenges. The platform integrates financial simulations, budgeting tools, and educational resources within a single interface, providing users with a structured way to engage with their finances.
The project is delivered by Team Sharkey, consisting of the following members:
- Hassaan Alvi (Project Manager | DevOps Lead)
- Abdul Moiz Malik (Lead Backend Engineer | Solutions Architect)
- Mohammad Jafari-Fini (Full-stack Engineer | AI Integration Specialist)
- Mohamed Kordofani (Lead Backend Engineer | Solutions Architect | DevOps Engineer (Deployment Strategies))
- Awab Ahmed (Frontend Engineer | QA Tester)
- Sai Raghavan Commandur (Lead Frontend Engineer | Solutions Architect | QA Tester)
Each team member contributes has responsibilities are distributed based on technical focus areas such as frontend development, backend development, system architecture, documentation and infrastructure.
I contributed to Gradigo as one of the main frontend engineers on the 6-person team, with a focus on frontend architecture, reusable components, frontend testing, and the Move-Out Readiness Tool. I helped define shared React/Next.js component patterns across the application, including common navigation and layout components, so feature pages could be built more consistently across the team. I also wrote the majority of the frontend Jest unit/system tests and contributed to architecture, database relationship, design, and technical-stack discussions documented in the project deliverables.
My main feature ownership was the Move-Out Readiness Tool, which helps graduates assess whether they are financially ready to relocate by combining affordability, living-cost, and location-based factors into an explainable user flow. I built the feature UI and supported the Mapbox integration used to visualise location context, with a focus on making the result understandable rather than presenting users with a black-box score. I also contributed to project documentation, meeting minutes, and final reporting, helping the team communicate technical decisions and trade-offs throughout the ESBF Green Tech Jam.
- Django 5
- Django REST Framework
- MySQL (production/dev)
- SQLite (tests)
- JWT Authentication
- React
- TypeScript
- Node.js
- GitLab CI/CD
- Caddy reverse proxy
- Linux VM deployment
- User authentication and JWT login
- Salary Simulator
- Budgeting tools
- Pension calculators
- Move-out planning tools
- Learning hub (articles, videos, quizzes/questions)
- AI chatbot integrations
- Dashboard metrics and progress tracking
- REST API endpoints
team-sharkey/
├── Backend/
├── Frontend/first-job-navigator/
├── .gitlab-ci.yml
├── Caddyfile
└── README.md
git clone <repo-url>
cd team-sharkeycd Backend
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
python manage.py migrate
python manage.py runserverBackend runs at:
http://127.0.0.1:8000
cd Frontend/first-job-navigator
npm install
npm run devFrontend runs at:
http://localhost:3000
Create Backend/.env using .env.example.
Example:
SECRET_KEY=your_secret_key
DEBUG=True
ALLOWED_HOSTS=localhost,127.0.0.1
FRONTEND_URL=http://localhost:3000
DB_NAME=first_job_navigator
DB_USER=root
DB_PASSWORD=your_password
DB_HOST=127.0.0.1
DB_PORT=3306
GROQ_API_KEY=
APIFY_API_KEY=cd Backend
pytestcd Frontend/first-job-navigator
npm testsudo apt update
sudo apt install git python3-pip python3-venv nodejs npm caddy -y- Django/Gunicorn on port
8000 - Frontend on port
3000 - Caddy on port
80
Visit:
http://<vm-ip>
GET /api/learning/articles/
GET /api/learning/videos/
GET /api/learning/questions/?category=tax&difficulty=hard
POST /api/learning/articles/<id>/complete/
POST /api/learning/quizzes/<id>/submit/
GET /api/learning/dashboard/
GitLab pipeline stages:
- Build
- Lint
- Test
- Deploy
.envis gitignored and should never be committed.- Use
.env.exampleas the template. - Optional third-party API features may require keys.