I'm a Full Stack Web & Mobile Developer with 5+ years. Specialising in React ecosystems (React, React Native, Next.js) with TypeScript. Full-stack expertise using Node.js and Firebase for scalable, real-time applications.
Tech Stack
- Frontend: React, React Native, Next.js, TypeScript, Vue.js, Svelte
- Backend: Node.js, Firebase services, AWS services, Google Cloud services
Here's a showcase of projects I've worked on:
Beyond Tennis
Frontend
UI Development (React Native)
Sole frontend engineer responsible for developing the entire application from scratch to production in three months.
Interactive Gaming
Engineered multi-user games with AI-powered tennis athletes, allowing users to shape their player's journey in dynamic competitions.
Cross-Platform Development
Built a robust mobile application that works seamlessly across different devices and platforms.
Backend
API Integration
Collaborated with Infosys and Tennis Australia teams to integrate various backend services and APIs.
DevOps
CI/CD Pipeline (Fastlane + GitHub Actions)
Built automated pipeline for staging, testing, and production environments, reducing manual testing setup by 60%.
Environment Management
Implemented separate environments for feature validation and bug fixes, optimizing the development and testing workflow.
Mobile
Beyond Tennis
An interactive tennis gaming platform featuring AI-powered athletes and multi-user competition.
Kolmeo Platform
Frontend
UI Development (React Native)
Built unified web and mobile components using React Native and styled components for enhanced code reuse.
Offline Capability
Developed offline-first architecture displaying thousands of properties with conflict resolution for simultaneous users.
Media Management
Created an offline/online image queue system optimizing multimedia uploads with SaaS tokens and redux sagas.
Payment Integration
Implemented complex rent payment calculations and BPay alternative integration, resulting in significant cost savings.
Backend
Database (MongoDB + Realm)
Optimized data flow between MongoDB, Realm, and Redux, improving app performance by 30%.
Offline Sync
Implemented robust offline synchronization with conflict resolution for property data and media content.
DevOps
Testing
Comprehensive testing implementation using React Native Testing Library and Jest, focusing on critical features like lease information.
Other
Property Management Features
Enhanced interfaces for handling tenant requests, inspection processes, and property management workflows.
Mobile/Web
Kolmeo Platform
A comprehensive property management platform with offline capabilities and advanced payment processing.
BingeNabe
Frontend
UI Development (React Native - Typescript)
Cross platform solution for implementing the app's UI and functionality. App's styling was designed with Tailwind CSS.
Animations (Reanimated library)
Used to create smooth animations and interactions throughout the app.
State Management (Redux + Redux toolkit + Persist)
Redux is used to manage and store shareable state where necessary.
Comment section
A comment section is implemented for 'topics' and 'watchlists'. The 'chat-like' comment section leverages firestore's database listeners with a custom implementation of bidirectional on-scroll pagination.
Backend
BaaS (Firebase)
Backend solution. Services utilised: Authentication (inc. 3rd party registration), Database/Storage, Cloud functions, Push notification capability and Beta builds distribution.
Email Delivery (SendGrid)
Email delivery service used to send custom email templates to verify emails, password resets and other user communication.
API (TMDB)
Integrated to retrieve open source film and tv related data.
DevOps
Fastlane
Used to automate Beta and Production releases. Fastlane integrates with the App Store and Play Store to upload metadata, screenshots and builds. Other integrated tasks include; CodePush and version control via Github.
CodePush
Used to deploy updates to the current app version without rebuilding/redeploying to the App Store or Play Store. This tool is very useful in addressing bugs and small features in a timely manner without the hassle of application reviews and build times.
Other
Companion website (Next JS)
Promotes the app and provides links to the app store and play store. Documents such as Terms of use and Privacy policy are stored via Markdown. In addition, a support form is used to allow users to send questions (easily setup with Next JS's API routes).
Mobile
BingeNabe
Cross-platform (iOS and Android) film and tv social network app.
ePatientKeeper
Design
Responsive Design
Optimized for both desktop and mobile platforms, ensuring a seamless user experience across devices.
Frontend
UI Development (React - Typescript)
Implemented a user-friendly interface for managing patient data and prescriptions.
State Management (React Hook Form)
Ensured efficient state management for patient data input and form handling.
OCR Integration (Google Vertex AI)
Integrated OCR capabilities to automatically detect and position fields on medical prescriptions.
Localization (i18n)
Supported multiple languages to cater to a diverse user base.
Backend
BaaS (Firebase)
Utilized Firebase for Authentication, Firestore for Database, and Cloud Storage for storing medical records.
API (Google Vertex AI)
Used Google Vertex AI for OCR to extract positions of fields on medical prescriptions.
DevOps
Deployment (Vercel)
Deployed the application on Vercel, ensuring continuous integration and deployment.
Other
Statistics
Managed over 1,500 patient records, generated 2,000+ successful prescriptions, and supported 5 doctors using the platform.
Web/PWA
ePatientKeeper
A comprehensive web application for managing patient data, prescriptions, and medical records, optimized for both desktop and mobile use.
Jobora
Design
Responsive Design
Optimised for web, iOS, and Android platforms, ensuring a seamless user experience across devices.
Frontend
UI Development (Expo - React Native Web)
Implemented a user-friendly interface for both web and mobile platforms using Expo and React Native Web.
State Management (Redux Toolkit)
Ensured efficient state management for user data, job listings, and application processes.
AI Integration
Integrated advanced AI algorithms for precise talent matching and job recommendations.
Backend
Serverless Architecture (AWS Lambda)
Utilised AWS Lambda functions for scalable and efficient backend processing.
Database (Amazon DynamoDB)
Leveraged DynamoDB for storing and managing user profiles, job listings, and matching data.
API Integration (Jobaddr)
Integrated Jobaddr API for comprehensive recruitment management features.
DevOps
Deployment (AWS S3 & CloudFront)
Frontend code hosted on S3 and distributed via CloudFront for optimal performance and global reach.
CI/CD (AWS CodePipeline)
Implemented continuous integration and deployment using AWS CodePipeline for streamlined updates.
Other
Analytics
Implemented data-driven insights on hiring trends and candidate performance using AWS Analytics services.
Security
Ensured data protection and compliance with industry standards using AWS security features.
Web/Mobile
Jobora
A talent matching platform for the modern workplace, optimised for web and mobile.
Barber Software Solutions
Design
Frontend
UI Development (Next JS - Typescript)
A react framework used to render static and server rendered pages. Custom booking form/calendar.
Blog
Notion SDK is used to retrieve blog posts and present them in HTML format. Used for news updates and SEO reasons.
Server side & Static generated pages
Server side rendered pages include: manager's and customer's pages (check user roles on server). Statically generated pages include: About, Contact, Blog, etc. These rendering methods help with SEO and page performance.
UI Development (React JS)
Implements pages and components with styling by sass preprocesser.
Backend
BaaS (Firebase)
Services include: Authentication (inc. 3rd party registration), Database/Storage and Cloud functions.
Database
Realtime updates to booking times when user is selecting date/time. User details on authentication. Stores and analyses product and booking data in NoSQL format.
IaaS (Google Compute Engine)
Hosts and runs docker images that consist of the frontend (reactjs), backend framework (nodejs) and web server (nginx)
Email delivery (SendGrid)
Sends email to managers when booking is made. Sends customer email on response (accept/reject).
DevOps
Deployment (Vercel)
Website is hosted on Vercel. Github actions used to manage versioning, releases and deployments on push to main branch.
Containers (Docker)
Used to automate deployment and cohesively integrate the frontend and backend together in development and production environments.
HTTPS certification (Let's Encrypt)
Automated via daily scheduled cronjobs
Reverse Proxy and Web server (nginx)
Used to serve the appropriate responses of website pages with correct ssl certificates and external links via email. Reverse proxy is used to direct users from port 80 (http) to port 443 (https).
Other
A 'serverless' (invokes cloud functions) website that allows admin to create managers accounts for main site using the Svelte frontend framework.
Manager portal that allows for product information (details and images) to be inserted.
Statistics
Currently 500+ of bookings are made monthly across both applications and all 5 barbershop locations.
Web
Barber Software Solutions
Business solutions that allow customers to make and manage bookings for barbershops.
Film/TV discovery + organiser
Frontend
Backend
BaaS (Firebase)
Services include: Authentication (email/password), Database/Storage and Cloud functions.
DevOps
Hosting (Netlify)
A suitable hosting solution for static and 'serverless' (in this case) websites.
Web
Film/TV discovery + organiser
Browse through a large collection of film/tv catalogue. Users are able to create an account to review/rate and add entries in their watchlists.
Historical Mesopotamia
Frontend
Used to implement components found on two screens and drawer. Styling implemented with Chakra UI and GSAP.
State management
Session storage used to cache some of timeline and gallery data. React in-built state management; Context API (consumes gallery state) and Reducer (used to organise state).
APIs consumed
This site uses wikipedia api to fetch data for timeline and other information presented in the drawer. Museum APIs include: The MET, Victoria and Albert Museum, Harvard Art Museums, Science Museum Group, Museums Victoria and Arts Institute Chicago.
DevOps
Deployment (Vercel)
Vercel is the host for this site. Deployment is updated every time changes are pushed to main branch.
Web
Historical Mesopotamia
Scrapes wikipedia based data and presents it on a timeline. Each historical era is used to query museum artifacts from 6 museums.
VoIP calling app
Frontend
WebRTC (react-native-webrtc)
WebRTC implementation library for react native.
State Management
Redux used to manage call state such as; session meta data and whether calls are answered/ended/muted. The intent is to have the call opened while navigating throughout the app while having the call functionality available.
Backend
BaaS (Firebase)
Services include: Authentication (inc. 3rd party registration), Database/Storage (store user data and act as a signalling server) and Cloud functions
Mobile
VoIP calling app
A proof of concept project that implements WebRTC that allows users to request one-on-one voice calls.
Data Science Projects
'Sustainability: Environment in Crisis' project
Other
Data Science Projects
Other Projects
Tools
Web scraper written in Python with the selenium library. This tool finds any price drops in books added in wishlist and uses smptp lib to send an email.
Web scraper used to extract tests run on every push and output in csv for further analysis. Written in python.
Other