Available for backend learning opportunities

Backend Developer

Building reliable and high-performance backend systems with Node.js, NestJS, Express, and Hono to power modern web applications

Contact Me

Work Projects

Cadence

A research app for NTU (Singapore) to study heart health with real-time chat and activity tracking.

  • Real-time patient-coach chat
  • Sleep and step tracking
  • Daily and weekly action scores
NestJSPostgreSQLSequelizeTypeScriptFirebaseBigQueryGCP

SDG

A healthcare platform for patient engagement, payments, and medical record integrations.

  • Subscription based payment for Patients
  • Secure payment processing via Square
  • Integration with ModMed for EMR
NestJSPostgreSQLSocket.IOGCP Pub/SubTypeScriptSquare APIModMed IntegrationFirebase

MedLinks

A patient-care platform with personalized programs and health metric tracking.

  • Custom health programs for patients
  • Track weight, blood pressure, and glucose
  • Program-specific features and dashboards
NestJSPostgreSQLTypeScriptFirebaseGCP

Things I Do

A collection of technologies and practices that make up my development workflow.

Node.js Server Setup

// Express server setupimport express from 'express';import helmet from 'helmet';import cors from 'cors';const app = express();app.use(express.json(), helmet(), cors());app.listen(3000, () => console.log('Server running'));

Auth Flow with Validation

// Login route with Zod & JWTconst schema = z.object({  email: z.string().email(),  password: z.string().min(6)});app.post('/login', async (req, res) => {  const result = schema.safeParse(req.body);  if (!result.success) return res.status(400).json(result.error);  const user = await User.findByEmail(result.data.email);  const token = jwt.sign({ id: user.id }, process.env.JWT_SECRET!);  res.json({ token });});

SQL & ORM Example

-- Simple PostgreSQL querySELECT users.name, SUM(orders.total) AS revenueFROM usersJOIN orders ON users.id = orders.user_idWHERE orders.created_at >= NOW() - INTERVAL '1 month'GROUP BY users.name;// TypeORM mapping example@Entity()export class Order {  @PrimaryGeneratedColumn()  id: number;  @Column()  total: number;}

Third-Party Integrations

// Stripe webhook handlerimport Stripe from 'stripe';app.post('/webhook',  express.raw({ type: 'application/json' }),  (req, res) => {    const event = stripe.webhooks.constructEvent(      req.body,      req.headers['stripe-signature']!,      process.env.STRIPE_SECRET!    );    console.log(event.type);    res.json({ received: true });  });

GitHub Activity

A visual representation of my coding activity across personal and work repositories.

Personal

Open source contributions and personal projects.

Work

Professional development and team collaborations.

Medium Blog

I do like to share things on the internet and sometimes by some miracle they turn out interesting.

Skills and Interests

I love exploring new technologies, building scalable solutions, and solving real-world problems with code. My interests span full-stack development, backend architectures, and creating products that make an impact.

Socials & Coding Profiles

You can find me sharing insights and connecting with professionals on LinkedIn, building and showcasing projects on GitHub, and sharpening my problem-solving skills on platforms like LeetCode and HackerRank. Each space reflects a different part of my journey as a developer.