A production-ready AI chatbot that turns uploaded PDFs into a queryable knowledge base — giving users a natural conversational interface to get context-aware answers from their own documents, with session history maintained throughout.
Next.jsReactTypeScriptTailwind CSSLangChain.jsVercel AI SDKChromaDBOpenAI EmbeddingsDeepSeek LLMExpress.js
What I Did
Built a full RAG pipeline with LangChain that turns uploaded PDFs into a searchable knowledge base — so the AI answers from your documents, not from hallucination
Wired the Vercel AI SDK to a custom streaming backend so responses appear token-by-token, giving users the feel of a live conversation rather than a loading spinner
Extended the AI beyond passive Q&A by building a tool-calling layer that lets it actively inspect the knowledge base — surfacing available documents on demand and generating on-the-fly topic summaries in the user's preferred format
Kept conversations coherent across long sessions by managing history intelligently, trimming old context automatically to control costs without losing the thread of the dialogue
Shipped a document upload flow that keeps users informed at every step — from file received to fully indexed — using real-time progress events streamed back to the UI
Cut inference costs by ~14× versus GPT-4 by benchmarking and integrating DeepSeek, while keeping the model layer swappable so any LangChain-compatible LLM can be dropped in
Personal Project
This Portfolio — You're Looking At It 👀
🇨🇦CA•Sep 2024 - Nov 2024
A self-aware, slightly smug portfolio website that exists solely to tell you how good its own creator is — while being good enough to prove it 😏. Features dark/light theming 🌗, buttery-smooth page transitions ✨, and enough animated statistics to make any recruiter mildly overwhelmed 📊. Meta fact: this very project card was written by the portfolio to describe itself 🪞. It has no imposter syndrome.
Next.jsReactTailwind CSSFramer Motion
What I Did
Architected a flash-free dark/light mode system 🌗 — localStorage persistence wired via an inline script in _document.js, because nobody asked to see a blinding white flash at midnight 🌙
Implemented fluid page transitions and scroll-triggered animations using Framer Motion's AnimatePresence ✨, giving the site a cinematic quality that is frankly disproportionate to its existence as a portfolio
Built a responsive navigation system with a hamburger menu 🍔 and animated mobile overlay — because mobile users deserve smooth animations too, even if it's just your mum checking the site 📱
Configured a custom Tailwind design system 🎨 with bespoke colour tokens, circular gradient backgrounds, and responsive breakpoints covering everything from ultrawide monitors to the narrowest of phones
Designed and rendered this very project card 🪞 — an act of recursion that would make a computer science professor either nod approvingly or quietly weep
Featured Project
Averq – Unified Transparency Apps
🇺🇸US•Nov 2023 - Jan 2024
An enterprise compliance, risk, and audit management platform that unifies all lines of defence within an organisation into a single, transparent workspace — supporting everything from lightweight manual reviews to sophisticated automated analysis pipelines.
Developed custom asynchronous expression evaluators for SurveyJS with a caching layer, enabling complex conditional logic in compliance forms to resolve efficiently without redundant recalculation
Migrated over 50 data grid components from a legacy library to modern React using Syncfusion, improving rendering performance, accessibility, and long-term maintainability across the platform
Built deep document bookmark functionality for PDF, Word, and spreadsheet files — supporting save, retrieval, and direct in-document navigation to support audit trail workflows
Implemented real-time conflict detection for concurrent assessment editing via WebSocket, surfacing live notifications when multiple users attempt to edit the same record simultaneously
Delivered full Progressive Web App (PWA) capabilities including service worker-backed response caching, persistent state across sessions, complete offline support, and automatic action syncing upon reconnection
Featured Project
Nexum – Account Based Ticketing Platform
🇩🇰DK•Feb 2023 - Apr 2023
An enterprise Account Based Ticketing (ABT) platform that modernises public transit by replacing physical smart cards with secure online accounts — enabling seamless, contactless access across multiple transport networks.
Engineered reactive, concurrent API endpoints using Kotlin coroutines across multiple microservices, eliminating thread-blocking bottlenecks and significantly improving throughput under high transit load
Co-developed a high-performance GTFS (General Transit Feed Specification) cache layer, dramatically accelerating real-time queries across route, trip, stop, and schedule parameters to serve live transit lookups at scale
Built a Java-based in-memory loader for cached GTFS data files, enabling sub-millisecond lookup operations for high-frequency transit queries without repeated disk I/O overhead
Implemented configurable exponential backoff strategies for Kafka consumer failure detection, with automated Slack alerting via Datadog integration for real-time visibility into event-stream health
Featured Project
Interactive Travel Planner
🇩🇰DK•Apr 2022 - Jun 2022
A highly interactive travel planning interface built for one of Europe's leading transportation providers — enabling users to search journeys, discover routes, and manage stops across web and mobile.
AngularTypeScriptLeafletRxJSCypressSCSS
What I Did
Authored a comprehensive Cypress E2E test suite covering critical map interactions, journey search flows, and route planning scenarios across web and mobile viewports
Engineered a diff-check strategy for map node operations — intelligently reconciling create, update, and delete mutations to minimise DOM thrashing and deliver smooth, performant map rendering
Built RxJS-powered data streams for geospatial queries, enabling efficient request deduplication and client-side caching to reduce redundant API calls
Featured Project
AdeptIQ – Paratransit Dispatch Engine
🇨🇦CA•Jul 2021 - Sep 2021
A cloud-based platform for public transit agencies to manage paratransit and demand-responsive transit operations — coordinating drivers, vehicles, and passengers across a shared dispatch workspace to deliver reliable, ADA-compliant service.
Achieved a 120% improvement in data grid rendering performance by replacing the legacy grid with a virtualized React data grid embedded within the Ember.js application — eliminating lag on large dispatcher datasets
Implemented real-time driver status updates in Ember.js using WebSockets, enabling dispatchers to monitor vehicle positions and availability with zero manual refresh across active trips
Integrated Leaflet map rendering into the Ember.js dispatch interface, providing dispatchers with a live geographic view of active vehicles, trip routes, and dynamic route overlays
Designed and implemented the full data model for the booking service, translating complex paratransit scheduling rules into a normalised PostgreSQL schema via Sequelize ORM
Built a suite of REST APIs strictly conforming to the JSON:API specification for the booking service, enabling clean, predictable integration with frontend clients and third-party transit systems
Featured Project
SagaMath – Interactive Math Worksheet Platform
🇮🇳IN•Oct 2020 - Dec 2020
An interactive mathematical worksheet platform for students, teachers, and academies to author, share, and engage with executable math content — turning static documents into live, programmable experiences entirely in the browser.
Monaco EditorJavaScriptService WorkerKaTeX
What I Did
Built the Math Worksheet editor using Monaco Editor, loading typed suggestion manifests derived from source code to deliver precise, context-aware IntelliSense for mathematical APIs directly in the browser
Optimised IntelliSense suggestion performance by offloading suggestion computation to a Service Worker, decoupling it from the main thread and keeping the editor fully responsive during heavy autocompletion workloads
Engineered a custom JavaScript evaluation and execution engine capable of safely interpreting and running user-authored scripts written in the browser editor — enabling dynamic, programmable worksheet interactions entirely client-side without a server round-trip
Designed a live worksheet authoring system allowing educators to compose rich mathematical content by combining executable code blocks, rendered math expressions, and interactive inputs in a single shareable document
Built the math expression rendering pipeline to parse and display KaTeX-formatted equations inline with worksheet content, giving students visually accurate representations of formulas alongside live, runnable code
A platform for retail forex traders to build, backtest, and deploy automated trading bots without writing code — pairing a professional charting experience with an intuitive no-code strategy builder.
Integrated the ChartIQ professional forex charting library into the Angular platform, configuring real-time data feeds, custom chart types, and toolbar extensions for live market visualisation
Built custom Angular components for multi-selection of technical indicators, enabling traders to layer and configure complex indicator combinations from a single, intuitive interface
Implemented trade entry and exit point visualisation using the Canvas API, rendering precise overlays on live charts to give traders a transparent, real-time view of their bot's decision logic
Developed reactive data pipelines with RxJS to stream and synchronise live market data, bot status, and trade signals across the platform with minimal latency
Featured Project
Eform – Government E-Application Platform
🇨🇦CA•Mar 2019 - May 2019
A digital platform built to eliminate paperwork from high-stakes government registration workflows. Administrators can model processes and publish regulatory forms without writing a line of code, covering everything from marriage registration and driving licences to birth registration.
AngularJSjQuery UI
What I Did
Built custom AngularJS directives powered by the jQuery Drag and Drop API to enable visual data model diagramming inside the service designer — allowing administrators to define entity relationships through drag-and-drop interactions rather than manual configuration
Developed a highly interactive form mapping studio for visually binding data model entities to form fields, with real-time layout preview and support for complex nested field relationships
Implemented a service designer for modelling government registration workflows as reusable, composable process blueprints, enabling rapid onboarding of new registration services with minimal engineering overhead
Featured Project
Choice Health Brokers – Internal CRM Platform
🇺🇸US•May 2018 - Jul 2018
A purpose-built internal CRM for a brokerage firm, centralising client and agent management in one workspace. Agents can place and receive calls directly from the browser without any external hardware — turning a fragmented workflow into a unified, real-time experience.
ReactReduxTwilio
What I Did
Designed and built a fully interactive editable data grid for managing broker and agent records, supporting inline cell editing, column sorting, and real-time validation without leaving the table view
Integrated the Twilio Programmable Voice API to implement an in-browser dialer, enabling agents to place outbound calls directly from the CRM with call state management driven by Redux
Built a softphone interface for handling inbound call routing in the browser — ring detection, call accept/reject, and live call controls — eliminating the need for external hardware or third-party desk phones
Architected the application from scratch using React and Redux, establishing the component library, state topology, and data flow patterns that the entire platform is built upon
Synchronised real-time call events from the Twilio SDK with UI state to deliver accurate, live status indicators across the dialer, agent list, and activity feed simultaneously
Featured Project
BigZeta – Declarative Data Visualisation Platform
🇺🇸US•Aug 2017 - Oct 2017
A no-code data visualisation platform that gives analysts an intuitive path from raw datasets to publication-ready interactive charts — with first-class support for sharing and embedding insights beyond the dashboard.
ReactReduxSVG
What I Did
Developed a library of reusable React component wrappers around SVG primitives, enabling declarative, data-driven chart composition with clean separation between rendering logic and application state
Built a drag-and-drop Filter Designer allowing users to visually compose and chain complex filter conditions on uploaded datasets — replacing manual query authoring with an intuitive, node-based workflow
Engineered a ChartFrame embed and export system that packages interactive SVG visualisations into portable, platform-aware embeds for direct sharing to social platforms with configurable metadata
Featured Project
WeldQ – Welder Qualification Platform
🇦🇺AU•Nov 2016 - Jan 2017
A certification platform built for WTIA (Welding Technology Institute of Australia) to digitise the end-to-end welder qualification lifecycle — replacing paper-based processes with a standards-compliant digital system for certifying welders at scale with confidence.
Engineered a custom test engine from scratch, supporting timed online exams with question banks, randomisation, and auto-grading for welder qualification assessments
Built an Exam Schedule Editor allowing administrators to plan, configure, and manage certification exam sessions across multiple locations and candidate cohorts
Developed a drag-and-drop Certificate Designer enabling staff to compose branded, standards-compliant qualification certificates populated with live welder data
Implemented a Result Dashboard delivering real-time insights into exam outcomes, pass/fail rates, and per-candidate performance metrics
Designed a document verification and management module to store, validate, and track welder credentials and supporting evidence for regulatory compliance
Featured Project
WeldTrace – Smart Welding Manager
🇦🇺AU•Feb 2016 - Apr 2016
A cloud-based platform for managing fabrication welding jobs from start to finish — replacing fragile spreadsheet workflows with a structured, auditable system. Engineers, inspectors, contractors, and welders share a single workspace to stay aligned throughout the project lifecycle.
Built a Weld Annotation Editor enabling engineers to mark up P&ID drawings with precise weld symbols and positional metadata
Designed and implemented the core data model for weld joints, WPS/PQR documents, welder qualifications, and job traceability
Developed a Weld Input Editor — a hybrid data-grid and spreadsheet component for fast, structured entry of weld records at scale
Contributed to multi-role access architecture allowing contractors, project managers, engineers, inspectors, and welders to collaborate within a single project lifecycle
Personal Project
Sine Wave Simulation
🇮🇳IN•Apr 2015 - Jun 2015
An interactive visualization showing how sine waves are generated from circular motion. This was my very first project — the one that sparked my love for coding and creative problem-solving. It holds a special place in my heart as a reminder of where it all began 💛.