Hi, my name is

Nguyen Thanh Long

I'm a Full-Stack Engineer.

Know more

About Me

Nguyen Thanh Long

I work in TypeScript on both ends of a production IoT platform: the Next.js dashboard partners use and the NestJS APIs behind it. I own that platform's cloud side end to end, so the same work also covers the database, the message pipeline and the deployments. Most of what I know came from running that system, not only from adding features to it.

Frontend

TypeScript React Next.js Tailwind CSS Ant Design React Query React Native

Backend

Node.js NestJS Express REST APIs WebSockets

Data

PostgreSQL MongoDB Redis MySQL

Infrastructure

Docker Kubernetes AWS Terraform GitHub Actions

Messaging & auth

Kafka MQTT Firebase Auth Keycloak JWT
View Resume

Experience

Full-Stack Engineer

Rogo Solutions JSC

Jan 2024 to present

Own the cloud side of a multi-tenant IoT platform end to end: the partner dashboard, the API, the message pipeline, and the deployments. It runs at a few million API requests a day with tens of thousands of concurrent MQTT connections.

  • Build the partner dashboard in Next.js and TypeScript, with React Query for server state, Ant Design and Tailwind for the interface, and internationalisation. A single deployment serves multiple partner projects, configurable per project.
  • Attribute-based authorisation in which the permission set is encoded into a compact custom claim on the JWT, so a request is authorised from the token itself instead of a database lookup on every call. The React app derives the same rules through CASL, so the interface and the API agree on what is allowed.
  • Device state streaming on Kafka with MQTT ingestion: a consumer that coalesces repeated updates into batched writes and commits offsets after the write, autoscaled by KEDA on consumer group lag.
  • Run the platform on Kubernetes and AWS ECS, with Prometheus, Loki and Grafana for metrics and logs across three clusters, and the staging to production path on GitHub Actions, GitLab CI and ArgoCD.

Projects

Educrystal

A guided crystal-growing app for children: step-by-step programs, a private photo diary, and a gallery a moderator approves. Access rules live in Postgres row level security rather than in the application, so a route cannot leak another child's diary. Installable as a PWA.

Next.js Supabase Tailwind CSS PWA Row Level Security
Educrystal

IoT Cloud MCP

A Model Context Protocol server for IoT cloud platforms, so an assistant can query and control devices through one interface rather than a separate integration per platform.

TypeScript NestJS MCP SDK Redis
IoT Cloud MCP

MathSketch Tutor

Feedback on a handwritten maths problem. A computer-algebra engine decides whether a step is right and the model only writes the explanation, so it cannot invent a correction that is wrong.

NestJS mathjs Firebase LLM
MathSketch Tutor

Novel Studio

A long-form writing tool. The awkward part is that prompt cost grows with the story, so it keeps a canon store, a rolling summary and vector retrieval instead of resending history.

NestJS PostgreSQL pgvector LLM
Novel Studio

Education

B.Sc. in Software Engineering

FPT University

2022 to 2026

Coursework in Data Structures & Algorithms, Web Development, Database Management, and Network Programming. Final year project: a real-time multiplayer online game backend using ASP.NET Core, WebSockets, and MySQL with lag compensation for seamless play across varied network conditions.

Certificates

Project Management Principles and Practices

University of California, Irvine

Specialization covering fundamental project management methodologies, risk management, and agile practices.

Jan 2025 View Credential

Software Development Lifecycle Specialization

University of Minnesota

In-depth study of SDLC methodologies including requirements engineering, software design, testing, and DevOps practices.

Apr 2024 View Credential

Contact

Want to work together or just say hi? Feel free to reach out!

Say Hello