Projects

Personal builds, published packages, and client work — spanning mobile, backend, IoT, and web.

01. Personal

ELM OBD2 AI Diagnostics

Android app that connects to an ELM327 Bluetooth OBD2 adapter and runs AI-driven diagnostic sessions via Gemini 2.0 Flash. Reads fault codes, prescribes structured sensor tests, collects live vehicle data, and produces an evidence-based diagnosis with severity rating and recommended actions. Includes PDF report export and Gemini Live voice narration during tests.

FlutterDartGemini 2.0 FlashOBD2Bluetooth ClassicPDF Export

Shortest Path Visualizer

Interactive visualizer for BFS, Dijkstra, A*, and Bi-directional Dijkstra running on both a freehand grid and real OpenStreetMap road networks via Overpass API. Includes a "Compare All" mode that runs all four algorithms simultaneously and shows nodes explored, path length, and compute time. Grid supports random maze generation and terrain weights.

JavaScriptOpenStreetMapOverpass APINominatim

Water Level Monitor

Full-stack IoT system for real-time water level monitoring and automated pump control. ESP32 hardware reports sensor readings to a NestJS backend storing time-series data in InfluxDB, with Redis for real-time caching and WebSocket push to a Next.js dashboard. PostgreSQL handles configuration and metadata.

ESP32Arduino/C++NestJSTypeScriptInfluxDBRedisPostgreSQLNext.jsWebSocket

DohaList

Full-stack listings platform for Doha. NestJS API on Fastify with Firebase Admin authentication, HTTP-only session cookies, and PostgreSQL via Prisma. Next.js frontend with Tailwind CSS and shadcn components.

NestJSNext.jsTypeScriptPostgreSQLPrismaFirebase AuthTailwind CSS

BuyCheaper

Product price tracker that monitors items across e-commerce websites and sends notifications the moment prices drop. Includes a dashboard showing tracked products, price trend history, and total savings. Built with Next.js, React 19, and a separate NestJS scraping backend.

Next.jsReact 19TypeScriptFirebaseNestJSTailwind CSSFramer Motion

Qatar Airways Flight Tracker

Automated flight availability monitor that polls Qatar Airways every 10 minutes using Playwright to manage session cookies, then sends instant email alerts when anything changes — new availability, sell-out, price movement, or seat count shift.

TypeScriptPlaywrightNode.jsNodemailer

StudioTime

Flutter app for discovering, booking, and paying for studio time slots. Multi-flavor setup (development / staging / production) with full CI/CD. Runs on iOS, Android, Web, and Windows from a single codebase.

FlutterDartBLoCVery Good CLIMulti-flavor CI/CD

02. Open Source

flutter_financekit

Flutter plugin for Apple's FinanceKit framework (iOS 17.4+). Provides access to financial accounts, balances, and transactions stored in Apple Wallet, plus live streams for real-time transaction and account updates.

FlutterDartSwiftiOSFinanceKit

mesh_gradient

Fluid-like animated mesh gradient widgets for Flutter. Supports both static and animated variants with customisable control points, colors, blend strength, and noise intensity. Published on pub.dev.

FlutterDartCustomPainterpub.dev

03. Client Work

Fishing Derby Mobile Application

Fishing Derby Mobile Application

Cross-platform mobile app for an ice fishing derby in St. Agatha, ME. Allows users to register for events, log caught fish, purchase apparel, and view prizes.

FlutterFirebaseNode.jsStripe

Client: Long Lake Ice Fishing Derby

Fishing Derby Admin Dashboard

Fishing Derby Admin Dashboard

Admin panel for the Long Lake Ice Fishing Derby — event managers monitor and create events, track fish logs, and select winners.

React.jsFirebaseNode.js

Client: Long Lake Ice Fishing Derby

FiberForce

FiberForce

Cross-platform mobile application for FullForce (formerly FiberForce), a manufacturer of synthetic and steel microfibers for fiber-treated concrete.

FlutterFirebaseSQLite

Client: ABC Polymers

Town App for Madawaska

Town App for Madawaska

Cross-platform mobile app for the town of Madawaska, ME. Residents subscribe to news from individual town departments.

FlutterFirebaseNode.js

Client: Government of Madawaska

E-Control

E-Control

Mobile app to monitor and control home energy consumption via IoT devices. ESP32 hardware reports real-time usage; users control appliances remotely via Flutter app.

FlutterESP32C++Node.jsMongoDBFirebaseFCM

Client: E-Control

GroceryMule

GroceryMule

Cross-platform app that streamlines grocery shopping for shared households — shared lists, assignment, and purchase tracking across roommates.

FlutterFirebase

Client: GroceryMule

Shamiyeh PM Consult Website

Shamiyeh PM Consult Website

Company website for Shamiyeh PM Consult, a pharmaceutical project and program management consultancy.

React.js

Client: Shamiyeh PM Consult LLC ®

Pourlog

Pourlog

Mobile app for managing concrete pours on construction sites. Create pour records, add trucks, and track pour progress in real time.

FlutterFirebaseStripe

Client: Grady Lonigan