Full Stack Engineer

I build products
that work.

I'm Ravi — a full-stack engineer who ships real tools: crypto dashboards tracking 60+ live assets, geo-guessing games with Mapbox, AI-powered browser extensions, multi-role property management platforms, and mobile apps for Canadian immigration prep. I care about clarity, speed, and code that doesn't need excuses.

Projects built with intent.

SupplySide

Real-time crypto asset tracking dashboard with live data for 60+ assets — built to surface actionable supply-side metrics in seconds.

Next.js TypeScript Recharts Framer Motion

Context

Crypto markets move fast, but most trackers focus on price. SupplySide was built to answer a different question: what's happening with supply distribution, holder concentration, and on-chain flow across 60+ assets in a single view.

Contribution

Designed and built the entire frontend — data fetching layer with live API integration, interactive Recharts visualizations, responsive dashboard layout, and animated transitions using Framer Motion. Architected the data pipeline to normalize diverse API responses into a consistent schema.

Key Decision

Chose to dynamically fetch and display live metrics instead of hardcoding sample data. This required building a normalization layer for inconsistent API responses, but it meant the dashboard always shows real, defensible numbers — not demo data.

Outcome

A production-grade dashboard that tracks 60+ crypto assets with real-time data, interactive charts, and a clean interface that loads fast. The architecture allows adding new assets without touching the UI code.

CLB French Trainer

A structured SaaS platform for Canadian Language Benchmark exam preparation — featuring AI writing evaluation, 80 mock TEF exams, and disciplined learning pathways.

Next.js React AI / LLM Integration TTS Audio

Context

Immigrants preparing for Canadian language benchmarks lack structured, affordable training tools. Most resources are scattered PDFs or expensive tutors. CLB French Trainer provides a complete, self-paced system covering all four exam skills: reading, writing, listening, and speaking.

Contribution

Built the full-stack application from scratch — structured daily learning pathways, 80 original mock TEF exams, AI-powered writing evaluation with TEF-equivalent scoring, audio listening practice with Text-to-Speech integration, and a freemium pricing model with Stripe-ready architecture.

Key Decision

Integrated AI writing evaluation to provide instant, scored feedback on French writing exercises. This replaced the need for human graders and made the platform viable as a self-serve tool — a critical requirement for the freemium model to work at scale.

Outcome

A fully functional SaaS with structured CLB 5 and CLB 7 pathways, daily grammar lessons, progress tracking, and a marketing site with exit-intent email capture. The app is deployed and actively used by French learners targeting Canadian immigration benchmarks.

Radius Collapse

A geo-guessing game where confidence is rewarded and overconfidence is punished — built with Mapbox GL, Google Street View, and a custom circle-drawing mechanic.

React TypeScript Mapbox GL Google Street View Vite

Context

GeoGuessr is popular but its scoring is simple — closer is better. Radius Collapse flips the mechanic: you draw a circle on the map, and smaller circles yield exponentially more points. But if the target falls outside your circle, you score zero. It turns geography into a risk-reward decision.

Contribution

Built the entire game — custom circle-drawing interaction system on Mapbox GL (click-to-place, shift-drag-to-resize), Google Street View panorama integration, multi-round game flow with a 30-second timer, scoring algorithm using Turf.js for geodesic calculations, and a Vercel KV-backed leaderboard.

Key Decision

Designed a custom circle-drawing UX that supports both click-to-place and shift-drag-to-resize, with a draggable handle for adjustment. This was more complex than a simple marker, but it's the core interaction that makes the game feel unique — the circle IS the guess.

Outcome

A polished, responsive web game with glassmorphic UI, animated HUD elements, automatic location fallback handling, and a persistent leaderboard. The scoring mechanic creates genuine tension — players must balance confidence against risk every round.

CanImmigrate

A privacy-first mobile app for Canadian immigration research — featuring an offline CRS score estimator, pathway guides, and an AI chat advisor.

React Native Expo TypeScript Expo Router

Context

People exploring Canadian immigration face fragmented, confusing government resources. CanImmigrate consolidates the key information into a single mobile app: CRS score estimation, pathway overviews, and an AI assistant — all without requiring an internet connection for core features.

Contribution

Built the complete cross-platform mobile app — CRS score calculator based on the publicly available IRCC formula, immigration pathway reference guides, structured onboarding flow with legal disclaimers, AI-powered chat using LLM integration, and a dark/light theme system. All data is stored locally on-device.

Key Decision

Chose to keep all user data strictly on-device with zero server-side storage. For an immigration app handling sensitive personal data (age, education, language scores), this was a non-negotiable trust requirement. It also simplified the architecture — no auth, no backend, no GDPR complexity.

Outcome

A production-ready mobile app available on iOS and Android with a polished onboarding experience, haptic feedback, animated transitions, and clear legal disclaimers. The privacy-first architecture became a differentiator, not just a constraint.

ContextIQ

A Chrome extension that overlays AI-generated explanations for real-time price movements directly on trading websites like TradingView, Binance, and Yahoo Finance.

Chrome Extension (MV3) JavaScript n8n Workflows GPT-4

Context

Traders see price movements but rarely understand why something is moving in real time. ContextIQ solves this by injecting a concise, AI-generated explanation directly onto the trading page — no tab switching, no manual searching.

Contribution

Designed and built the entire system end-to-end: Chrome Manifest V3 extension with content scripts that detect active market symbols, n8n workflow backend that fetches news, sentiment data, and financial metrics, GPT-4 prompt engineering for concise market analysis, and a glassmorphic overlay UI that sits on top of trading pages.

Key Decision

Used n8n as the backend orchestration layer instead of building a custom server. This allowed rapid iteration on the data pipeline (news APIs, sentiment analysis, LLM calls) without redeploying code — changes to the analysis logic are workflow edits, not code commits.

Outcome

A working browser extension with real-time AI market analysis, deployed to Chrome with a marketing website. The n8n architecture proved valuable — the analysis pipeline was iterated dozens of times without touching the extension code. Privacy-first: no personal data is collected.

SignalCheck

A full-stack content credibility analyzer that scores articles and text across five signal dimensions — synthetic text detection, sourcing, linguistic risk, temporal context, and structural framing.

React Express HuggingFace Supabase Vite

Context

Misinformation spreads fast, but most "fact-check" tools give a binary true/false verdict that oversimplifies the problem. SignalCheck takes a different approach: it analyzes content across five independent signal dimensions and presents a multi-dimensional credibility profile — not a single score, but a nuanced breakdown of where the red flags actually are.

Contribution

Built the entire system end-to-end: Express backend with a modular analyzer pipeline (synthetic text, sourcing, linguistic, temporal, structural), HuggingFace Inference API for ML-based text classification, NewsAPI integration for temporal corroboration, Cheerio-based URL content extraction, Supabase feedback storage, and a React + Vite frontend with a glassmorphic results dashboard.

Key Decision

Chose to preserve multi-dimensional signals rather than collapsing them into a single credibility score. When sourcing and linguistic signals disagree, that disagreement itself is informative. The aggregation layer explicitly surfaces these conflicts instead of averaging them away — a deliberate choice to favor honest uncertainty over false precision.

Outcome

A deployed analysis tool that accepts URLs or pasted text and returns a detailed credibility profile with confidence bands, actionable suggestions, and clear uncertainty disclaimers. The modular architecture allows adding new signal analyzers without touching the aggregation or frontend code.

PropertyOps

A multi-role property management platform with dedicated dashboards for managers, workers, and tenants — covering maintenance ticketing, rent tracking, and live property analytics.

Next.js TypeScript Prisma Tailwind CSS Framer Motion Recharts

Context

Property management involves three distinct groups — managers, maintenance workers, and tenants — each with different information needs. Most tools either try to serve everyone poorly or require separate systems that don't talk to each other. PropertyOps was built to give each role a purpose-built interface while keeping the underlying data model unified.

Contribution

Designed and built the full-stack platform from scratch — role-based authentication and routing, a Manager dashboard with KPI cards and Recharts analytics for maintenance trends and issue categorization, a Worker dashboard for ticket management and hour logging, and a Tenant portal for submitting and tracking maintenance requests. Implemented rent tracking with overdue alerts, unit occupancy management, and a centralized maintenance board with priority queuing. Built on Next.js with Prisma ORM and a PostgreSQL database, deployed to Vercel.

Key Decision

Chose to build role-specific dashboards sharing a single Prisma data layer rather than separate apps. This meant one database schema and one API surface for all three user types — managers, workers, and tenants see different views, but the underlying data is consistent and never duplicated. It also made the authorization logic explicit and auditable throughout the app.

Outcome

A deployed, production-ready platform with fully functional dashboards for all three roles, interactive analytics for property health and maintenance trends, and a responsive mobile-first UI with smooth Framer Motion transitions. The architecture is extensible — adding new roles or analytics views requires no changes to the core data model.

Ideas and explorations.

How I think about building.

I'm a full-stack engineer who builds tools that solve actual problems — not portfolio filler. Every project on this page is something I shipped, used, or deployed to real users. I care about the gap between "it works in a demo" and "it works in production."

I gravitate toward problems where the full stack matters. Crypto dashboards where the data pipeline and the visualization together determine whether someone makes a good trade. Language training apps where the AI backend and the UX together determine whether someone sticks with daily practice. Browser extensions where the workflow orchestration and the overlay UI have to work as one. In each case, the value comes from owning the whole system.

My approach is pragmatic: I pick the simplest tool that handles the real constraints, I ship early, and I iterate based on what actually breaks. I work across the stack — Next.js, React Native, Vite, vanilla JS, Chrome extension APIs, Mapbox, n8n workflows, Supabase, and various AI integrations — not because they're trendy, but because each one was the right answer for a specific problem.

I write code that other people can read, maintain, and extend. I think the best measure of engineering quality isn't cleverness — it's how easily someone else can pick up where you left off.

What I work with.

JavaScript / TypeScript React Next.js React Native Expo Vite HTML / CSS Tailwind CSS Framer Motion Mapbox GL Recharts Chrome Extensions (MV3) n8n Workflow Automation REST APIs LLM / AI Integration Git / GitHub Vercel Supabase Prisma PostgreSQL Responsive Design SEO

Let's talk.

I'm open to full-stack roles, freelance projects, and serious technical conversations. If my work resonates, reach out — I respond to everything.