Archive18 projects

Every project, in one place.

Professional and personal work, grouped by where it happened — newest first.

Back to home

// filter by technology

showing all 18

01 · 10 projects

Princeton IT Services

Software Development Engineer

Feb 2024 — Present

Enterprise systems, built and shipped for clients.

01.01

On-Device Submission Intake Console

Show-floor demo · local document AI · Aug — Oct 2026

  • Built a full-screen intake console that turns a dropped broker packet — PDFs, scans, emails — into a structured submission record without sending a byte off the machine.
  • Designed a deterministic-first pipeline: a Python sidecar reads text geometry, tables, and checkbox ink; a local small language model fills each field against a per-document-type schema at temperature 0, so the same page yields the same JSON.
  • Implemented cross-document reconciliation that turns conflicts, corroborations, and unreadable fields into review items, with click-to-source that jumps to the exact bounding box a value came from.
  • Wrote a bridge that fronts Foundry Local and llama.cpp/Ollama behind one OpenAI-compatible endpoint so the pipeline could use the GPU on an ARM box with no CUDA provider — a full packet went from ~10 minutes of model time on CPU to about a minute.
  • Instrumented the browser's fetch for a wire log that proves nothing left the machine, plus live network state, a $0.00 metered-cost counter, and a Postgres case store with seen-before cross-checks per insured.
  • Added presenter controls for a live stage run: a frozen demo packet, a golden fallback, a pipeline inspector showing every prompt and raw response, a client list grouped by insured, and JSON export, with unit tests over the pipeline logic.
01.02

Microsoft 365 Copilot APIs Explorer

Proof of concept · Graph API exploration · Sep 2026

  • Built a Node.js web app to exercise the Retrieval, Search, and Chat APIs of Microsoft 365 Copilot through Graph, showing the raw request and response for every call.
  • Implemented Entra sign-in with PKCE via MSAL Node, a server-side token cache, and incremental consent per scope set so Retrieval works before an admin has consented to the Chat scopes.
  • Proxied streaming Copilot chat over server-sent events and rendered citations, adaptive cards, and sensitivity labels from the response.
  • Wrote a PowerShell setup script that registers the Entra app, resolves permission IDs by name instead of hard-coding GUIDs, and writes the environment file.
  • Documented observed behaviour against the official docs — batch retrieval, paging quirks, and permission errors — as a reference for future integrations.
01.03

Business Card Intelligence

Product · mobile-first lead capture and follow-up CRM · Apr — Oct 2026

  • A mobile-first app that photographs a business card, extracts the lead with Azure Document Intelligence, normalizes it with Azure OpenAI, and stores a canonical record in PostgreSQL, with bulk PDF uploads, LinkedIn QR scans, memory photos, and an offline outbox.
  • Microsoft Entra sign-in with authorization code + PKCE owned by the app, group membership checked through Graph, server-side sessions in Postgres, and an HTTP-only cookie.
  • A follow-up composer that writes a new email or a reply in thread from the whole conversation, team notes, calendar context, optional deep research on the company, and selected news, with tone and free-text instructions.
  • Two-way mailbox sync: drafts land in the user's Outlook, sends and replies are detected from Sent Items and the Inbox, each conversation renders as a chat, and reminders surface on a Today page and mirror into Microsoft To Do.
  • A company news feed on an in-process scheduler: keyless RSS lookups, one small model call to confirm relevance and rate importance, a rolling seven-day window, and throttle-aware backoff that resumes where it stopped.
  • Touchpoints from calls and matched Outlook meetings, hot / warm / cold lead ratings, a notes timeline, and admin feature flags for org-wide leads, one-way Dynamics 365 sync at a chosen cadence, and email tracking.
  • An admin System Health tab with a grouped error log, weekly dependency audits in CI, and deployment to Azure App Service from Next.js standalone output with Bicep infrastructure and SQL migrations.
Visit bizcardiq.com
01.04

Microsoft 365 Posture & Operations Platform

Product · three-service platform · Feb — Nov 2026

  • A three-service platform: a Next.js web app for dashboards and admin workflows, a Python/Flask worker for Microsoft Graph ingestion and scheduled jobs, and Postgres as the system of record with materialized-view reporting.
  • Dashboards for SharePoint sites, activity, sharing, risk, users, and groups, with drill-down pages that combine cached inventory with live Graph checks and revoke actions.
  • Copilot coverage: adoption, trend, and per-user usage from Microsoft's reports, prompt counts per user and app with no prompt text stored, agent telemetry from Application Insights, and data-risk and agent-risk dashboards with optional AI-written narratives.
  • Agent controls: Dataverse-backed access control, Conditional Access block and unblock, service principal disable, and Copilot agent quarantine through Power Platform APIs, gated to Entra admin roles.
  • A worker scheduler with Postgres advisory locks so a job never runs twice at once, interrupted-run recovery on startup, permission delta sync, and a heartbeat the web app surfaces.
  • Scheduled risk reports emailed as PDFs through Graph, restricted to the tenant's own primary domain; signed license verification and feature flags gate every dashboard.
  • Runtime config read live from Azure Key Vault, delegated tokens sealed with AES-256-GCM, forward-only SQL migrations, GitHub Actions deploys to staging and dev that hold on unconfirmed SQL changes, and scripts that upgrade existing client deployments.
Visit princetonsentinel.com
01.05

Business Email Compromise Forensics

Proof of concept · Microsoft 365 investigation tool · Apr 2026

  • Built a Graph-only investigation tool: pick a tenant user and a UTC window, pull Entra sign-ins and Exchange message traces, and merge them into one normalized, time-sorted timeline.
  • Implemented trace pivots from a single event by session, Message-ID, sender/recipient, and fallback IP, client, and user-agent matches, so an analyst can follow an attacker through the logs.
  • Split message-trace queries into ten-day windows against the Graph endpoint that replaced the legacy Reporting Web Service, loading recipient transport details lazily on drill-down.
  • Kept all evidence in server memory only, with unit tests over normalization, tracing, and mocked Graph responses.
01.06

NOVA — Teams AI Chatbot

Conner Strong & Buckelew

  • Integrated Document Intelligence into a Teams chatbot application to enable document processing.
  • Migrated the chatbot from a user-assigned managed identity to a single-tenant bot.
  • Implemented Graph API access through an Entra app so the chatbot can move files to a temporary location.
  • Moved secret keys and API endpoints to Azure Key Vault and integrated it with the Bicep code to load environment variables at deployment time.
01.07

Latista Data Extraction & Dashboard

Clark Construction

  • Designed a script using the Box SDK to connect to and copy Latista archival data from Oracle's data dump.
  • Automated importing data from Box, cleaning it, and exporting it to the Snowflake data warehouse.
  • Created scripts to extract and analyze JSON objects and generate entity relationships from the data.
  • Used multiprocessing to extract text and images from PDF reports with PDFPlumber and Camelot.
  • Explored and developed a user-friendly dashboard for the Latista data using Streamlit and React.
01.08

SAP BO to Power BI Migration

Clark Construction

  • Designed a Power Automate flow that exports 2,000 Power BI paginated reports in under 2 hours.
  • Converted KPI reports from SAP BO to Power BI dashboards backed by Snowflake data.
  • Developed parameterized paginated reports for easy extraction of dashboard data.
  • Explored and implemented data masking to hide sensitive and irrelevant data from reports.
01.09

Data Quality Analysis

Clark Construction

  • Established metrics to analyze transfers between two different data flows.
  • Designed complex SQL queries to gather the data points behind those metrics.
  • Used Snowflake Time Travel to pull historical data points and establish trends for both flows.
  • Explored automating the scripts with Snowflake Notebooks to generate daily stats for further analysis.
01.10

SecureDNS — DNS Record Validator

Internal security tool

  • Developed a security tool that checks and validates existing DNS records for DMARC, DKIM, and SPF.
  • Implemented a user-friendly DNS record generation tool using Python's cryptography library.
  • Deployed the application with Flask, Zappa, and AWS Lambda to a Princeton IT Services domain.

02 · 2 projects

Blinkit (previously Grofers)

Software Development Engineering Intern

Jan 2022 — Jul 2022

The first production push — systems at quick-commerce scale.

02.01

Live Order Tracking

Real-time location plotting

  • Built a live order tracking feature with real-time location plotting for delivery updates.
  • Helped deploy Nyaala, a new message delivery service replacing the older message queue.
  • Integrated the tracking polyline into the CRM dashboard used by customer support agents.
02.02

Rate-Card Automation & User Onboarding

User management and automation

  • Created cron jobs to update rate cards based on the time and source of changes.
  • Automated user sorting and deactivation based on invalid or unavailable documents.
  • Implemented a new background verification system to simplify onboarding.

03 · 6 projects

Personal projects

Built after hours

Ongoing

Where the riskiest ideas get tried first.

03.01

Dave — Self-Hosted AI Code-Review Agent

Private AI assistant on Discord · local LLM · Oct 2026

  • Built a private assistant you talk to on Discord, running an open-weights 27B model in llama.cpp on a DGX Spark over Tailscale, with automatic failover to the local GPU.
  • Wrote a model gateway that routes to whichever server is up, tracks slots and slow starts, and gives summaries and titles a fast lane.
  • Grew it into a pull request reviewer and repository watcher through a GitHub App: automatic reviews, daily digests, nightly scans, and a findings ledger fed by Semgrep and on-demand SonarQube.
  • Sandboxed the agent: its shell lives in a container on an internal network whose only exit is a logging proxy that refuses private and tailnet addresses, and secrets stay with the services that need them.
  • Added a monitor console for every container, session, route, and backup, with nightly backups and restarts that wait until the agent is idle.
03.02

Distributed Machine Learning Cluster

10-node fault-tolerant distributed system

  • Implemented a log saver across a 10-node distributed system to record machine crashes.
  • Programmed a failure detector that catches simultaneous and cascading node failures.
  • Designed SDFS, a versioned file system with replication for efficient storage.
  • Built a multi-model distributed ML cluster with integrated failure detection.
03.03

BCFL — Blockchain-based Federated Learning

Distributed systems research

  • Researched ways to improve the security and reliability of federated learning.
  • Incorporated a distributed ledger to track model updates over time.
  • Replaced the central server with a group of miners.
  • Validated model updates using proof-of-work on the miners.
03.04

Blog Application

Spring Boot REST API

  • Developed RESTful APIs with Spring Boot, including CRUD, pagination, sorting, and authentication.
  • Implemented role-based API security with JWT and Spring Security.
  • Used Lombok, DTOs, and centralized exception handling for readability, maintainability, and error management.
  • Configured one-to-many and many-to-many JPA mappings for complex data modeling.
03.05

Chat-Time

Full-stack real-time chat app

  • Built a real-time chat web application with React.
  • Explored the features offered by Appwrite Cloud.
  • Used a client–server subscription model to make messaging real time.
  • Implemented message deletion so users can delete their own messages by message ID.
03.06

VTOP-Extended

Campus companion app for VIT

  • Developed an Android app that serves as a central hub for students at Vellore Institute of Technology.
  • Added Firebase Authentication to identify users and save their app preferences.
  • Built club management, event reminders, and a faculty directory.
  • Added a web view for the campus VTOP portal and an online quiz platform.