projects

projects

notable personal projects and their tech stacks

Shorten/replace domain names and remove unnecessary tracking parameters when sharing links on Android

An open-source Android app that allows you to replace domain names and remove unwanted tracking data from content links generated by apps, such as a link to a Tweet or an Instagram post. It acts as an intermediary step when sharing content containing links. Users can use built-in rules or create custom rules for flexible domain name replacement and URL parameter removal. Content links generated by apps via their "share" functionality often contain URL parameters used for tracking purposes. FixMyLinks makes it easy to ensure these links don't contain tracking parameters by removing them for you. Additionally, FixMyLinks can be used to change the domain name of a link, in cases where multiple domain names redirect to the same content (e.g., "twitter.com" and "x.com"). This functionality can also be used to shorten domain names where possible, e.g., transforming “developer.android.com” to “d.android.com”.

Kotlin

Android

GitHub Actions (CI/CD)

Tuneparty

tuneparty.app

Queue songs at parties

Tuneparty empowers guests at parties to add songs to the party host's Spotify queue. Guests can use this web app to queue songs by searching for songs or providing a Spotify track link.

TypeScript

Next.js

Express

MongoDB

JPMorgan Chase “Code for Good” Hackathon, 2022

Built a product as a team for a real non-profit organisation to further their mission

The non-profit was Frame, which funds research on alternatives to animal testing. As a team of six, we produced a solution that advances research in this area: a web platform that facilitates the discovery of high-quality academic literature relating to the alternatives Frame advocates for. The articles are sourced from research journals/publications available on the internet. Members of the scientific community can vote for articles they find useful based on factors such as quality of research and relevance to Frame's mission. This voting system uses the Polygon blockchain for decentralised verification, to prevent vote spam and ensure that votes come from trusted members of the scientific community. Additionally, the system allows members of the public, particularly university students, to search for credible sources relating to non-animal-based research methods and to sign up for tissue donation (with possible incentives) in their institution's area, given that testing on human tissue samples is a common alternative to animal testing.

JavaScript

React

Express

Python

Django

MongoDB

AccessPlus

A digital solution to accessibility issues in hotel front-desk services

BSc (Hons) Computing final year project. AccessPlus is a system that makes hotel front-desk experiences more accessible for people with disabilities by providing the experiences through an alternative (digital) format with numerous built-in accessibility features and enhancements. The product allows hotel guests to interact with hotel front-desk services in an accessible manner, provides contextualised information to hotel staff whenever action is required (allowing them to better respond to requests from guests), and uses AI to assist hotel staff with providing accessible information. The system is geared towards hotels looking to expand their range of clientele by being more inclusive. The guest-facing side of the system is an Android app which primarily empowers guests to interact with the front desk in an alternative accessible format that does not require physical interaction, which some people may find challenging due to certain health conditions or impairments. The staff-facing side of the system is a web app which allows hotel staff to provide and update accessibility information, and allows hotel staff to view and respond to requests (e.g., luggage handling requests) from guests, or emergencies.

Kotlin

Android

TypeScript

Next.js

MongoDB

APOD Social Media Bot

github.com/suvanl/apod-bot

Twitter & Instagram bot that posts NASA's Astronomy Picture of the Day

Supports both PNG and JPG files on both platforms, as well as videos with platform-specific requirements being taken into account. Images are always posted in the highest available resolution (the only limitation is each platform's file size limit), and are automatically cropped or rescaled for each platform independently if they do not satisfy the platform's aspect ratio requirements. Every image (or thumbnail if video) is also posted as an Instagram story. To be more accessible, images posted on Twitter have alt text attached.

TypeScript

FFmpeg

Findself Counselling

findself.co.uk

Website for a provider of psychotherapy and EMDR.

Astro

React

TypeScript

MDX