My Projects
A collection of things I've built and contributed to.
Glamping Boat
A multilingual boat rental and glamping platform with online reservations, availability checks, and customer accounts. Integrates Stripe checkout for deposits and full payments, with booking emails and an admin dashboard for managing reservations, blocked dates, customers, promotions, and refunds. Built with Next.js, TypeScript, and PostgreSQL, using Prisma for data access and NextAuth for authentication.
AD HOC International
A corporate website and project publishing platform for AD HOC International, a Beirut-based architecture, engineering, and construction firm. Showcases services and project galleries, with an admin dashboard for editing project details, managing images, and controlling publication. Built with Next.js, PostgreSQL, and MinIO, with email contact inquiries and automated deployment.
AlChaar-Pharmacy Kiosk
A self-service ordering kiosk for AlChaar Pharmacy, with a touch-friendly interface in English and Arabic for browsing products, filtering categories, and placing orders. Includes an admin dashboard for managing the catalog, stock, and promotions, plus live order tracking and Excel/CSV product imports. Built with Next.js and PostgreSQL, with Docker deployment and automated backups before updates.
Next.js Website
A responsive personal portfolio showcasing software projects, technical skills, and a branching career timeline that maps overlapping work, education, and volunteering. Features light and dark themes, Framer Motion animations, and project and experience content managed through JSON. Built with Next.js and TypeScript, with automated GitHub Actions deployment to a self-hosted Podman environment.
MonBoTablo
A Java command-line application that turns coordinate and color instructions into geometric artwork using recursive spatial partitioning. Implements both quadtree and ternary tree variants, supports recoloring individual regions, and compresses the tree after recoloring. Exports the original and recolored compositions as PNG images alongside text representations of their tree structures.
SimpleML Type Checker and Interpreter
An OCaml implementation of SimpleML that takes source code through lexical analysis, parsing, static type checking, and interpretation. Checks variable types, function arguments, and return types before execution. Supports integer and floating-point arithmetic, booleans, conditionals, typed let bindings, function calls, sequencing, and integer output, with a lexer and parser built using ocamllex and Menhir.