Nicholas Chong Shi Loong
Full-Stack Developer & Product Engineer
Summary
Full-stack developer and product engineer: clarify scope, design pragmatic architecture, ship maintainable web apps end-to-end.
Skills
Next.js, React, Prisma, PostgreSQL, Angular, Laravel, System Design, TypeScript, PHP, Node.js, .NET (C#), Tailwind CSS, Vercel, GitHub, C++, Java
Background
- Oct 2020 – Mar 2024
UMS Software Engineering (self-funded); freelance maintenance alongside studies.
- Apr 2022 – Sept 2025· 3.5 years| Independent Full-Stack Developer
Freelance during university → independent consultancy: shipped end-to-end web apps with strong workflows and client support.
- Web Development & Maintenance (Apr 2022 – Mar 2024): Landing pages, product catalogs, ongoing maintenance and feature work while completing the degree.
- End-to-End System Architecture (Mar 2024 – Sept 2025): HR and badminton booking systems; church, task, and e-commerce platforms; personal applicant-tracking / AI-assisted career prep (What I Applied). Workflows, RBAC, audit trails, voting, DnD task UX, clean API/UI (Next.js, Prisma, PostgreSQL, .NET).
- Tech Stack: Next.js, React, .NET Core, Prisma, PostgreSQL.
Oct 2025 – PresentData Flows Sdn Bhd
Web Developer / Product Engineer
Lead delivery, refactors, and technical BA on enterprise apps; aligned schemas and UI with real finance/ops workflows.
- Architected Flexible Financial Settlement Engine: Lead dev & technical BA: commission payout redesign — batching, partial line items, locks/state aligned with accounting; cut post-launch finance rework. See full →
- Engineered 360° Performance Evaluation Module: Owned KPI-linked 360° reviews: auto-assignment, tokenized external access, Angular schema-driven forms + JSONB — new question types via config. See full →
- Led Frontend Architecture Refactoring: Unified duplicated portals: dynamic forms by route, RBAC-gated shared component library — fixes ship once across admin/agent views. See full →
- Tech Stack: Laravel, Angular
Education
- STPMSt Paul Institution · 2018 – 2019
- Bachelor of Software EngineeringUniversity Malaysia Sabah (UMS) · 2020 – 2024
Projects
Shipped apps — full case studies on the portfolio.
What I Applied — applicant tracking & career prep
Personal ATS: profile + applications + interview pipeline, Gemini JD-specific assets (Zod-validated JSON), follow-up nudges — Next.js, Prisma, PostgreSQL, NextAuth.
- Challenge
- Job seekers lose context across tools, redo cover letters from scratch, and miss follow-ups; hiring ATS is not built for one candidate’s pipeline.
- Solution
- Single profile and per-job JD storage; stage timeline; one server-side Gemini generation stored on the job; job search direction; 7-day stale reminder with non-AI email template; PDF text-only bootstrap (file not stored).
- Impact
- Schema-bound AI outputs + retries reduce bad saves; per-user Postgres isolation; free-tier UI caps successful regen per job for predictable API cost. Beta: ~15 users; most said the tool was helpful and easy to use.
Church / community management system
Events, attendance, outings, roles — Next.js, Prisma, PostgreSQL for ministry operations.
- Challenge
- Data in scattered Forms/Sheets; manual transport counts; duplicate sign-ups; slow year-end attendance audits.
- Solution
- Member portal for registrations; logistics dashboards; leader-scoped attendance; phone-based dedupe; CSV import with strict rules.
- Impact
- Prisma aggregations + constraints replaced spreadsheet workflows; JWT + middleware RBAC matched hierarchy without public signup spam. Used by 100+ users.
Project & task management system
Self-hosted Kanban team workspace: tasks, voting, comments, dashboards (Next.js, Prisma, PostgreSQL).
- Challenge
- Small team needed PM features and data sovereignty without enterprise SaaS cost or public cloud risk.
- Solution
- Self-hosted app: boards, voting, threads, mentions, personal dashboards — no vendor lock-in.
- Impact
- @dnd-kit sensors (touch delay) for scroll vs drag; optimistic UI + DB sync; lifted stats so headers stay live without heavy global state. Used by two startup teams (about 5–10 people each).