An intelligent, fullstack career tracking and autonomous agentic growth engine with Live Google Sheets Bidirectional Synchronization, Real-Time WebSockets, Multimodal Vision OCR, Live Web Search & Scraping, and a Claude-Level Humanoid AI Copilot (Jarvis).
Aryan Chandra is a software engineer, backend-focused full-stack developer, and AI product builder targeting roles such as Software Engineer, SDE-1, SWE-1, Full Stack Engineer, AI Engineer, and Backend Engineer across product-based companies, MNCs, GCCs, and startups.
This repository is the engineering portfolio behind a full-stack and AI-first software profile. It demonstrates production-minded software delivery, mobile app engineering, cloud deployment, AI-powered workflows, and high-throughput backend/product systems. The project combines deep product thinking with a modern engineering toolkit that can support the role requirements of product companies, MNCs, GCCs, and startup ecosystems.
A software engineer focused on shipping reliable production systems with strong foundations in:
- Full-stack engineering using Next.js, React, Node.js, Express, TypeScript, and JavaScript.
- Backend engineering using REST APIs, event-driven services, middleware architecture, database design, authentication, and data pipelines.
- AI engineering using RAG, agentic workflows, LangGraph, Gemini, OpenAI embeddings, and document intelligence.
- Mobile engineering for Android/iOS applications using React Native, Flutter, Dart, and Swift-native integration.
- Cloud and DevOps systems using AWS EC2/S3, Google Cloud Run, Docker, CI/CD, GitHub Actions, and secure deployment workflows.
Location: New Delhi, India
Open to roles: SDE 1, SWE 1, Full-Stack, Backend, AI Engineer, Mobile roles
Availability: Available immediately
Focus: Build production-grade systems, optimize backends, ship AI product experiences, and scale mobile-first platforms.
The profile showcases experience in:
- Ta Rule Technology Pvt. Ltd. β Software Engineer, Full Stack, Backend, Java & Mobile Systems.
- Indian Oil Corporation Limited (IOCL) β Software Engineer Intern, with focus on forecasting, monitoring, and ML inference optimization.
The project portfolio highlights production systems for:
- Healthcare commerce platform with 150+ REST APIs and 50K+ daily transactions.
- Distributed inventory and warehouse data systems with strong latency optimization.
- AI engineering and RAG product pipelines with enterprise-grade security, vector search, and event-driven message flows.
- Mobile apps such as Fonofy, Delhi Golf Federation, and Carenzy, with Android and iOS releases.
| Target Area | Demonstrated Capability |
|---|---|
| Software Engineer / SDE-1 / SWE-1 | End-to-end product ownership using JavaScript, TypeScript, Node.js, Express, Next.js, Java, Spring Boot, MongoDB, and cloud systems |
| Full Stack Engineer | Frontend dashboard, backend APIs, web application integration, live events, and cloud-ready deployment |
| Backend Engineer | REST APIs, authentication workflows, data integrity, DB modeling, caching, event systems, and distributed service patterns |
| AI Engineer | Gemini-powered OCR, web scraping, agentic workflows, RAG, semantic memory, vector retrieval, and model-assisted workflows |
| Product / Startup Engineering | Automation workflow design, portfolio-grade products, dashboard systems, cloud servicing, and AI-assisted user tooling |
This profile is positioned as a strong portfolio example for hiring teams evaluating software engineering depth, AI product capability, system design awareness, cloud deployment readiness, and full-stack execution.
This repository hosts the full software engineering growth platform designed to automate and accelerate tracking across DSA Problem Solving (18 Categories), Job Application Pipelines, Daily Work Streaks, Lecture Logs, and Live Global Job Discovery.
ββββββββββββββββββββββββββββββββββββββββββ
β Live Google Sheet (Cloud) β
β (Daily Logs, DSA, Apps, Lectures) β
ββββββββββββββββββββ¬ββββββββββββββββββββββ
β (1-min Cron Polling)
βΌ
ββββββββββββββββββββββββββ βββββββββββββββββββββββββββββββ βββββββββββββββββββββββββββ
β Next.js 14 App β ββββΊ β Node/Express Backend β ββββΊ β MongoDB Atlas β
β (Apple Glassmorphism)β (WS) β (WebSocket Server on /ws) β β (Collections & Vector) β
ββββββββββββββββββββββββββ ββββββββββββββββ¬βββββββββββββββ βββββββββββββββββββββββββββ
β
ββββββββββββββββ΄βββββββββββββββ
β Jarvis Agentic Engine β
βββββββββββββββββββββββββββββββ€
β β’ DuckDuckGo Web Search β
β β’ Gemini Multimodal Vision β
β β’ Cheerio Web Scraper β
β β’ TF-IDF Semantic Memory β
β β’ Multi-turn Persona Memory β
βββββββββββββββββββββββββββββββ
- Situation (S): Engineering tracking data was updated manually in Google Sheets, causing discrepancy with the web dashboard unless manually re-uploaded.
- Task (T): Automatically synchronize the live Google Sheet with the backend every minute without requiring manual CSV exports or Google Cloud API service account credentials, and immediately reflect changes across all active client dashboards.
- Action (A):
- Developed
services/googleSheetsService.jsusing node-cron with a 1-minute scheduling interval (*/1 * * * *). - Utilized Google Sheets public CSV export pipeline (
/export?format=csv&gid=<GID>) with automatic header pattern detection. - Built smart upsert mapping for
DailyTracker,ApplicationTracker,DsaProgress, andDsaLectures. - Dispatched
SHEET_SYNCEDandDATA_UPDATEDWebSocket broadcast events whenever changes are detected. - Implemented the
SheetSyncStatusReact component on the dashboard to display live sync timestamps, update diff counts, and provide a 1-click manual sync override.
- Developed
- Result (R): Any edit made to the live Google Sheet updates MongoDB and instantly triggers a smooth, non-blocking dashboard refresh across all connected client tabs in under 2 seconds.
- Situation (S): Standard HTTP REST polling created unnecessary network traffic, high latency, and stale dashboard metrics during active sessions.
- Task (T): Establish a persistent, bi-directional communication layer to stream database mutations, Google Sheets sync notifications, and AI action triggers to the UI.
- Action (A):
- Upgraded the Express HTTP server into a dual HTTP/WebSocket server using the
wslibrary on path/wsinservices/websocketService.js. - Implemented client heartbeat pings (every 25s) with automatic reconnection.
- Built a client-side singleton React hook (
useWebSocketinlib/websocket.ts) with typed event subscriptions (SHEET_SYNCED,DATA_UPDATED,STATS_REFRESH,AI_ACTION,JOBS_UPDATED).
- Upgraded the Express HTTP server into a dual HTTP/WebSocket server using the
- Result (R): Zero-latency real-time updates across the dashboard; when Jarvis executes an action (e.g., logging 3 DP problems), the dashboard numbers and progress rings update immediately without refreshing the page.
- Situation (S): Standard chatbot assistants are rigid, repetitive, forget conversation context, and cannot take proactive actions or answer questions outside a fixed database.
- Task (T): Build an autonomous, human-like AI companion (Jarvis) with continuous multi-turn memory, nuanced reasoning comparable to Claude 3.5 Sonnet, and tool-calling capabilities.
- Action (A):
- Engineered
ai/agentOrchestrator.jsutilizing a ReAct (Reason + Act) loop with Google Gemini function declarations (search_web,scrape_url,query_database,search_jobs,log_daily_activity,log_application,get_memory). - Implemented persistent conversation storage in MongoDB (
ConversationLog&LearnedFact) paired with client-sidelocalStoragecaching. - Designed an empathetic, high-intelligence engineering mentor persona capable of seamless English and Hinglish communication.
- Integrated Server-Sent Events (SSE) for token-by-token typewriter streaming with visual agent activity badges (
π Searching web...,π Checking live database...).
- Engineered
- Result (R): Jarvis answers any general programming, career, or life question, remembers past user statements across sessions, and autonomously calls tools to update the database in real time.
- Situation (S): Users frequently encounter job descriptions, offer letters, resume PDFs, or LeetCode questions as images and screenshots that cannot be pasted as plaintext.
- Task (T): Enable drag-and-drop and attachment of images (PNG, JPG, WebP) and documents (PDF, DOCX, TXT) with automatic optical character recognition (OCR) and semantic chunk indexing.
- Action (A):
- Built
ai/ocrEngine.jsusing Gemini Multimodal Vision API to parse images, identify document types (Offer Letter, Job Description, LeetCode problem, Resume), and extract structured entities (salary, company, role, requirements). - Integrated
pdf-parsefor extraction of multi-page PDF documents. - Implemented dynamic TF-IDF vector memory insertion via
vectorStore.addChunk(), making uploaded files immediately queryable via RAG. - Built a drag-and-drop attachment UI in
AiVoiceAssistant.tsxwith live image thumbnails and processing indicators.
- Built
- Result (R): Users can upload a screenshot of a LeetCode problem or a job posting and immediately ask Jarvis: "Summarize the edge cases" or "Draft a tailored cover letter for this role".
- Situation (S): LLM knowledge cutoffs and lack of browsing capabilities prevented the assistant from answering questions about current hiring trends, new library releases, or external job links.
- Task (T): Equip Jarvis with live internet search and URL scraping capabilities with zero API key dependencies.
- Action (A):
- Developed
ai/webScraper.jswith DuckDuckGo HTML search scraping and Cheerio DOM parsing. - Built tailored extractors for LinkedIn job descriptions, Naukri postings, LeetCode problems, and GitHub repositories.
- Implemented an in-memory 12-hour cache with automatic RAG vector indexing.
- Developed
- Result (R): Jarvis can be asked to "Search the web for hiring trends at Google" or given a URL: "Read this job posting and tell me if my tech stack matches".
| Layer | Technologies Used |
|---|---|
| Frontend | Next.js 14 (App Router), React 18, TypeScript, TailwindCSS, Framer Motion, Lucide Icons, Recharts, React-Markdown, Remark-GFM |
| Backend | Node.js, Express 5, HTTP/WebSocket Server (ws), Node-Cron, Mongoose, Multer, Cheerio, Natural (TF-IDF NLP), PDF-Parse |
| AI & LLM | Google Gemini 1.5 Flash (Vision & Function Calling), ReAct Agent Orchestrator, TF-IDF Semantic Retrieval, Web Speech API (STT/TTS) |
| Database | MongoDB Atlas (Mongoose ODM) |
| Live Sync | Google Sheets CSV Streaming Engine, WebSocket Real-time Broadcasting |
- Node.js (v18 or higher)
- MongoDB running locally or a MongoDB Atlas URI
cd tracker-backend
npm install
# Ensure .env contains:
# PORT=5000
# MONGO_URI=your_mongodb_connection_string
# GEMINI_API_KEY=your_gemini_api_key (optional but recommended for AI)
npm startBackend starts on http://localhost:5000 with WebSockets on ws://localhost:5000/ws.
cd tracker-frontend
npm install
npm run devFrontend will be running on http://localhost:3000.
Note on Running Frontend:
- For development with hot-reload: Use
npm run dev- For production server: Run
npm run buildfirst, thennpm start
| Event Name | Payload Data | Trigger Condition |
|---|---|---|
CONNECTED |
{ message, clientCount, timestamp } |
Client establishes WS connection on /ws |
SHEET_SYNCED |
{ totalChanges, duration, results } |
1-minute Google Sheets cron completes |
DATA_UPDATED |
{ source, changes } |
Database upsert/write operation occurs |
STATS_REFRESH |
{ reason } |
Dashboard needs to recalculate metrics |
AI_ACTION |
{ action, entities } |
Jarvis executes an action (e.g. DAILY_LOG, DSA_UPDATED) |
JOBS_UPDATED |
{ count } |
New live jobs cached from RemoteOK/Remotive |
You can open Jarvis using the floating bot button on the bottom right:
- Daily Logging: "Log today: solved 2 Graph problems and applied to Amazon."
- Live Web Search: "Search the web and find what companies are hiring junior backend engineers this week."
- File & Screenshot OCR: Attach an image of a code problem or resume and ask "Explain the time complexity of this solution" or "Extract key requirements from this JD."
- Streak & Stats: "What is my current DSA streak and which topics are my weakest?"
- URL Reading: "Read this link https://leetcode.com/problems/two-sum/ and explain the optimal hash map approach."
ISC Β© Aryan Chandra
Jarvis and the task dashboard can emit task events to an n8n Webhook. Set these variables in the backend deployment:
N8N_WEBHOOK_URL=https://your-n8n-host/webhook/aryan-tracker
N8N_WEBHOOK_SECRET=use-a-long-random-secret
N8N_TIMEOUT_MS=5000Create an n8n workflow with a Webhook node using POST, validate the X-Aryan-Tracker-Secret header, then branch on {{$json.event}} (task.created, task.updated, task.completed, or task.deleted). The task payload is in {{$json.payload.task}}. This lets you connect reminders, email, calendar, Slack, or daily summaries without making the app wait for n8n.