Calvin
Hello, I am Calvin C. Chan 👋
Senior Software Engineer - Javascript/Typescript
For the last decade, my entrepreneur journey taught me to build fast, learn from mistakes, and embrace change based on feedbacks and validation. I have been responsible for collaborating with clients, teams, and stakeholders to formulate effective design and execution strategies, designing the architecture of new software, building micro-service based REST-API servers, creating web frontends and mobile apps, managing cloud infrastructure, and implementing deployment pipelines.
You can find my contact below.
Latest blog posts
Self-hosted Supabase - Auto Expiring Session After X Minutes
By default, an authenticated user of Supabase Javascript Client will stay logged in indefinitely regardless of the JWT expiry time and browser closing/reopening. This guide will show you how to implement auto-expiring sessions that self destroy after X minutes. Read âž”
Self-hosted Supabase - Adding Custom Claims Using Auth Hook
Notes on how to add custom claims to JWT token using the auth hook in self-hosted Supabase. Read âž”
Self-hosted Supabase With SAML Attribute Mapping
Guide to map additional attributes from the SAML Identity Provider to the Supabase user. Read âž”
Technologies
Node.js, Javascript/Typescript, MongoDB, PostgreSQL, Redis, Jest, Supabase, Docker, Fastify, Restify, Express.js, OpenAPI, Stripe, MasterCard, eTapestry, Active Directory, OneSignal, Vue.js (v2), React.js, Material UI, refine.js, React Native, CircleCI, BitBucket Pipeline, AWS EC2, Docker, AWS S3, Google Cloud Platform, Axure RP, Adobe Illustrator
You can find many of my open source projects on GitHub (opens in a new tab).