Projects

This is the list of weekend & side projects I did for fun and learning.

Commercial Projects#

Simpan Cukai - Aug 2023#

Visit the project at https://www.simpancukai.com.

Launching Twitter thread. The updates are in this Twitter thread.

I’m rebuilding my Tax App I built 2 years ago.

Technologies Used: Django, HTMX, Fly.io, PostgreSQL

Mukmin Life - Apr 2023#

Mukmin Life

A mobile app for Muslim prayer time reminder. I built the backend API service for the app. Install this on Google Playstore.

Technologies Used: Go Fiber, Google Cloud Run, Cloudflare (Cache Reserve)

Asthma Journey - Dec 2021#

Visit the project here

See me launching this project in Twitter thread

After my beloved wife had asthma attacks recently, we went to clinics multiple times. However, I find it hard to describe to the doctor how many attacks she had last week, how severe were they and what she did to alleviate them. This was worse when we’re moving to a new city and we need to explain the attacks and medication history to the doctor. This app is built for her and people like her.

Objective: Build an app for asthma patients to log and keep track of their symptoms and attacks to better treat their disease. The user can present their reports to the doctors.

Technologies Used: Django, NextJS, Fly.io, Chakra UI and CockroachDB Serverless.

Pharmacy App - Mar til Jun 2021#

This is a freelance project I work with a team of 3 persons.

Objective: Build an app for a pharmaceutical company with e-commerce & doctor-on-call functionalities. I’m responsible for backend development built in Golang and DevOps tasks.

Technologies Used: Go Gin, Swaggo OpenAPI doc generator, iPay88 payment gateway, Meilisearch, Firestore, Firebase Auth, Caddy Webserver, Gitlab CI, GCP.

Tax App - Feb 2021#

This app born out of frustration filing my tax for the past 3 years. Surprisingly, many people are in the same boat.

Objective: An app that helps commoners to manage tax better. Users can add/upload their income statement, their tax relief spendings and tax rebates to the system. We will calculate how much is their tax for that year and identify which tax relief categories are not fully utilized. The receipts/statements can be upload and stored for at least 7 years to comply to Malaysian’s LHDN requirement.

Technologies Used: Django Rest Framework, Nuxt, PWA, PostgreSQL, Heroku, Scout APM, Logentries (log aggregation), Raygun Error Tracking, Google Social Login

Outcomes: The project is finished and used by me, close friends and family as I do not have capacity to support and maintain for public audience. I might commercialize this product in the future.

Raudhah Ilmi Dropship Centre - Nov 2020#

This is a special project built for my lovely wife’s bookshop.

Objective: Dropship agents to be able to calculate shipping price, submit orders and track orders easily, even from a mobile phone.

Technologies used: Django REST Framework, PostgreSQL, Linode VM, AWS S3, Google Oauth2 social login, Netlify, Nuxt Auth, Nuxt PWA.

Learning / Open Source Projects#

These are my open source projects published on Github.

Deno URL Shortener - Aug 2022#

Visit the project here. See me building this in public in this Twitter thread. View the source code on Github.

Objective: Build a simple URL Shortener to try Deno & Fresh framework and determine whether they are ready, practical and feasible for production use.

Technologies Used: Deno, Fresh, Cockroach Serverless, Deno Deploy, twind

JKJAV API Server - Jun 2021#

JKJAV OpenAPI doc

View the source code on Github.

During COVID-19 pandemic, Malaysia government (JKJAV agency) opens up a registration for vaccine slot. However, the website goes horribly wrong and unable to handle large crowds. It’s described in this blog post.

Objective: Build a POC API Server for JKJAV system that is able to handle high reads (300k RPS) & writes loads (~900 RPS). After finish implementation, 1 server able to handle up to 1.2k RPS on read operations and up to 8k RPS on write operations on localhost.

Technologies Used: Go Fiber, Redis, Swagger OpenAPI doc, Redpanda, Docker, Railway PaaS Hosting. Leverage Go features like goroutine, channels, waitgroups, clean architecture, connection pooling, Mockery, table-driven test, etc.

Phoenix NuxtJS Todolist (Abandoned) - Jan 2021#

Visit the project here. View the source code here. See me building this project in this Twitter thread.

Objective: Learning to build Elixir Phoenix backend, complete with Authentication, Social Login, File Upload and Background Job. I am really impressed with Phoenix speed compared to Python Django. I’ve made a quick benchmark test (and learned how to speed them up) here.

Technologies Used: Elixir, Phoenix, PostgreSQL, Docker, Pow

Outcomes: I am struggled to integrate the Phoenix API server with Nuxt SPA frontend especially on the social login part. I was using Pow and Pow Assent for user management. I would revisit Elixir Phoenix again when building a server-rendered projects later.

Chat App - Oct 2020#

Visit the project here. View the source code on Github. See me building this project in this Twitter thread.

Objective: Learning to build GraphQL project and accept payment by building a simple chat app, in public.

Technologies Used: Hasura, Websocket, PostgreSQL, Docker, Firebase Auth, Stripe, NuxtJS + Apollo

Hasura Firebase Auth Webhook - Sep 2020#

Visit the project & source code on Github. See me building this project in this Twitter thread.

Objective: While building a GraphQL Chat App, I’m integrating my Hasura GraphQL engine with Firebase Auth. This webhook will secure the GraphQL endpoints with Firebase Auth.

Technologies Used: Go, Docker (with multi-stage build), Github Actions & Github Container Registry.

Voting Serverless - Aug 2020#

Visit the project here. View the source code on Github. See me building this project in this Twitter thread.

Objective: Learning Serverless technology by building a simple scalable voting app, in public.

Technologies Used: AWS CDK, DynamoDB, DynamoDB Streams, SQS, Lambda, API Gateway (HTTP API), S3, Cloudfront, ACM, X-Ray, Cognito User Pools, NuxtJS

Yet Another Free Instagram Clone (YAFIG) (Abandoned) - Apr 2020#

YAFIG

Visit the project here. View the source code on Github.

Objective: Learning to build production-ready REST API using Django REST Framework (monolith) by building a simple Instagram clone, in public.

Technologies Used: Django, Django REST Framework, PostgreSQL, Docker, Celery, Sentry, AWS S3, Netlify, NuxtJS.

Outcomes: I have achieved most of the objectives in this project. I don’t intend to make it perfect.

Other Projects#

I’ve made minor contributions on many open source projects, mostly related to Kubernetes. You can visit them in my Github profile.

© Fadhil Yaacob 2024