Projects
This page lists some of my current and past projects, as well as, some of my contributions to open source projects.
Plamatio E-Commerce Distributed backend (Go, PostgreSQL, REST), Frontend (Next.js, Redux, Tailwind CSS), Real-time data streaming (Kafka), Clerk, and Stripe.
QvikChat Open-source framework to build and deploy secure, performant, and reliable production-ready chat services quickly & efficiently.
AI Student Advisor Conversational AI app that enables students, faculty members and others get information quickly through natural conversation.
Sustentia Cross-platform AI-powered app enabling personal and commercial users manage their inventory smartly and sustainably.
Open Source Contributions
LangChain A framework for developing applications powered by large language models (LLMs). Contributed mainly to the documentation.
Protocol Buffers Google’s language-neutral, platform-neutral, extensible mechanism for serializing structured data. Updated documentation.
VS Code Arrow Function Snippets VS Code extension for JS and TS snippets. Contributed the code to add snippets for async arrow functions.
Current Projects
Plamatio E-Commerce
A production-quality e-commerce platform with a scalable distributed backend (Go, PostgreSQL), efficient frontend (Next.js, Redux, TypeScript), and real-time data streaming (Apache Kafka) for analytics and observability.
Key Features and Highlights:
- Go-based Backend: Scalable backend services and REST API built with Go-lang, providing high performance, low latency, and efficient memory management.
- PostgreSQL Database + Redis Cache: Uses PostgreSQL as the primary database for storing user data, product information, and order details, with Redis-based cache for frequently accessed data, with proper data invalidation policies.
- TypeScript + Next.js Frontend: Frontend written in TypeScript, providing static type checking to catch errors early and improve code quality and maintainability. Built with Next.js, a React framework that enables server-side rendering and static site generation for faster content loading and improved SEO.
- Efficient State Management (Redux): On the frontend, using Redux and RTK Query for efficient side effects and state management, reducing latency in page loads and calls made to backend API for data fetching.
- Third-party Integrations: Integrated Clerk for authentication and Stripe for payment processing, ensuring seamless user experience.
- Real-Time Data Streaming: Implements events and real-time data streaming pipelines using Apache Kafka for analytics and observability, with Confluent Kafka Service for managing Kafka clusters, ensuring high availability and scalability.
- CI/CD: Automated CI/CD workflows for building, testing, and deploying the application to production, ensuring code quality and reliability.
Please check the blog post on Introduction to Plamatio for more details. This blog post provides an overview of the core principles guiding the development of Plamatio project, and provides an insight into the development and implementation of the core components.
Project skills: Go, PostgreSQL, Next.js, Redux, RTK-Query, Tailwind CSS, Clerk, Stripe, Apache Kafka, Confluent Kafka Service, CI/CD.
QvikChat
A powerful open source framework to build and deploy secure, performant, and reliable production-ready chat services with advance features, quickly & efficiently.
Key Features and Highlights:
- Firebase Genkit and LangChain based open source framework to support rapid development of self-hosted production-ready AI-powered chat services that are deployable to any Node.js platform.
- Built-in support for advanced features like chat history, response caching, query expansion, endpoint authentication, and Retrieval Augmented Generation (RAG).
- Provides built-in safety guardrails to mitigate LLM hallucination, deter prompt injection attacks, detect PII leakage, and perform content filtering.
- Automates all aspects from data ingestion, data pre-processing, embedding generation and storage in cloud-hosted vector store, to response generation with query contextualization and management of response cache and chat history.
- Completely open source project, with CI/CD workflows for automated building, testing, and deployment to NPM registry (
@oconva/qvikchat
). - Also created the QvikChat Starter Template with support for TypeScript, ESLint, Prettier, Jest, SWC, and more, to help users get started with QvikChat easily.
- Currently working on releasing version 2.0 with support for multimodal input and output, response streaming, API-key based usage tracking, advanced embedding techniques like Hypothetical Document Embeddings (HyDE), self-reflective RAG pipeline, and more.
Project skills: Open Source Development, Conversational AI, Firebase Genkit, LangChain, Retrieval Augmented Generation (RAG), CI/CD, TypeScript.
AI Student Advisor
A specialized conversational AI app that helps students with their academic queries, course selection, and career guidance. It is built using the Retrieval Augmented Generation (RAG) model, which combines the best of both worlds: retrieval-based and generation-based conversational AI.
Key Features and Highlights:
- Retrieval Augmented Generation (RAG) based conversational AI app that enables students, faculty members, and others to search for information that requires special contextual knowledge specific to a school, department, or course.
- Implemented all aspects related to data, from data ingestion (from sources like public websites of the University of Ottawa), data pre-processing, embedding generation and storage in cloud-hosted vector store, to custom chat agent executor pipeline setup with data retrieval using LangChain.
- Architected the AI component to be highly modular and resilient by enabling support for multiple chat and embedding models like GPT 4 (Open AI), PaLM 2 (Google Cloud), Llama 2 Chat (AWS Bedrock), and multiple vector stores (Pinecone, MongoDB) as well as multiple chat history stores (Redis [Upstash Client], AtlasDB).
- Built as part of Capstone project at the University of Ottawa with two other students, with the AI component being entirely my responsibility.
Project skills: Conversational AI, RAG, LangChain, OpenAI, Google Cloud, Pinecone, Redis, Python, TypeScript, ReactJS, REST API.
Sustentia
Sustainability-oriented and AI-powered app to help both households and commercial users manage their inventory in a smarter way: optimizing resource utilization, reducing wastage from expiration, and tracking consumption.
Key Features and Highlights:
- Advanced Tracking: Monitors product expiration, consumption, storage, and warranties with multi-stage notifications.
- AI-Powered Insights: Provides personalized recommendations and analytics to minimize waste and optimize purchasing decisions.
- AI Assistant with RAG: Uses advanced conversational AI and Retrieval-Augmented Generation to empower the AI assistant for personalized user interactions and actionable insights.
- Voice Command Integration: Hands-free inventory management using speech recognition and natural language processing.
- Cross-Platform Optimization: Consistent and responsive UI/UX across smartphones, tablets, and web browsers.
Project skills: Cross-Platform App Development, Generative AI, Google Gemini API, Predictive Analytics, Data intensive app with real-time event streaming pipeline architecture.
Past Projects
Mealer App
Android-native food ordering app providing a one-stop-shop solution for clients to order their favorite meals from exceptional chefs around them. Build with a focus on user experience, ease of use and scalability, the app provides a seamless experience for users to discover, order, and track their meals.
Key Features and Highlights:
- Highly Scalable & Resilient Architecture: By taking inspiration from Chain-of-responsibility design pattern, Modal-View-Controller design pattern and the Dispatcher-Action-Handler pattern, implemented a code structure and data handling pattern that helped in achieving high-degree of loose coupling, lesser dependency on external frameworks (like Firebase) and more modularization, making the app highly scalable and resilient.
- Real-time Order Tracking: Implemented real-time order tracking using Firebase Firestore database, enabling clients and chefs to receive order related updates in real-time.
- Production-quality State Management: Reactive state management implemented using indigenously architected Dispatch-Action-Handler pattern. Data layer abstracted to the extent that the source database (Firebase) can be easily replaced with any other data database provider without affecting the UI layers.
- Built as part of Software Engineering course at the University of Ottawa in group of six students. My primary responsibilities included overall application system architecture design, state management, and implementing real-time data updates.
Project skills: Android native app development, Software Engineering Design Patterns, Application State Management, UI Design, Firebase, Real-Time Data Updates, Java.
Intento
A simple-to-use open source framework to build and deploy intent recognition services powered by Large Language Models (LLM). Built using QvikChat.
Key Features and Highlights:
- Provides the underlying architecture and data strategy to building a robust and reliable intent recognition service without compromise on security.
- Eliminates the need for constantly training a supervised learning or a Natural Language Understanding (NLU) model, by using state-of-the-art LLM models with a low-latency query processing architecture.
- Built-in support for using Cloud Firestore as the data source for storing information of your intent recognition service, including intents and API keys.
- Completely open source project, with CI/CD workflows for automated building, testing, and deployment to NPM registry (
@oconva/intento
). - Also created the Intento Starter Template with support for TypeScript, ESLint, Prettier, Jest, SWC, and more, to help users get started with Intento easily.
Project skills: Open Source Development, Conversational AI, Firebase Genkit, LangChain, Retrieval Augmented Generation (RAG), CI/CD, TypeScript.
FitSpirit Community App
A social networking & event management app built for a Montreal-based non-profit FitSpirit, to help increase user onboarding and engagement.
Key Features and Highlights:
- Winning Project: This project was built during the Morgan Stanley Code-To-Give 2021 Hackathon, and won the first place in its segment. You can read more here.
- Robust Application Architecture: Front-end was built using ReactJS while the backend user authentication was supported with help of ExpressJS. An intuitive and user-friendly UI was designed that complimented the branding of the non-profit FitSpirit.
- Focus Social Impact: Built a social networking community to increase outreach to teenage girls aged 12-17 to change their mindset about physical activity and encourage them to improve their health by staying active and healthy as a long term goal with the help of technology.
- Team Work: Worked in a team of 7 developers, with my primary responsibilities being the user authentication and assisting with the front-end UI design.
Project skills: ReactJS, ExpressJS, NodeJS, Web Design, Web Development.
AI Skejool
Vertex AI powered personal assistant to quickly plan a productive schedule. Understands natural language to create a schedule and uses state-of-the-art text generation models to generate a schedule. Easy to use with a simple command line interface.
Project skills: Python, Google Cloud, Vertex AI, Generative AI, Command Line App Development.
Helkidgro
Helkidgro - Help kids grow. A platform where people can browse artwork created by kids and listed by non-profits that work with these kids in underprivileged parts of the world.
Project skills: UI Design, User Experience Strategy, Web Development, React, Bootstrap, CSS.
RANSAC Golang
Project skills: Go, RANSAC, Anomaly Detection, Concurrency Control, Advance Programming Skills.