Projects
URL Shortener #
A learning-focused URL shortener service built with modern web technologies. Features URL shortening with optional expiration and redirection capabilities. Built using Rust (Axum) for the backend, JavaScript frontend, with Redis and MongoDB for data storage. Includes GitHub CI/CD integration and serves as an exploration of the Axum web framework and modern development practices.
Text Deduplication in Rust #
This was an exploratory project to try converting a python based minhash text deduplication library to Rust. The project serves as a learning exercise in Rust programming and algorithm implementation.
Mock OpenAI #
An OpenAI-compatible mock server for testing and experimentation. Written in Rust, it mimics OpenAI’s API endpoints (/v1/chat/completions, /v1/completions) with both streaming and non-streaming modes. Uses Shakespeare sonnets for text generation. Designed as a lightweight development tool for testing OpenAI integrations locally without API costs, configurable via environment variables and compatible with Python’s OpenAI client.
For testing purposes, I have it hosted on a EC2 instance:
curl -N https://api.wheynelau.dev/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-super-secret-key" \
-d '{}'
Resale Prices in Singapore #
A machine learning project predicting Singapore’s HDB resale housing prices. Leverages XGBoost for price prediction with extensive data preprocessing and hyperparameter tuning. Built with Python and TensorFlow, deployed on Streamlit. The project demonstrates practical data science skills including data wrangling, model development, and web deployment. It also uses Github Actions for CI/CD which automatically pulls new data every week.