Hello, I'm Long Le

Software Engineer

A Results-driven software engineer with 6+ years of experience in software development, system architecture, and design. My philosophy is to "Build something that matters".

I've had the honour to work wit diverse teams from early-stage startups to large enterprises in the software industry. I am always up for new challenges and continuously seek to improve myself by adapting to new technologies and exploring unfamiliar domains. I blend in quickly, enjoy stepping outside my comfort zone, and stay motivated by solving complex problems and expanding my technical and professional skill set.
Long Le

My Capabilities

A mix of strategy, execution, and technology

Technical Skills

Hands-on tools and technologies I use daily

Languages

TypeScriptJavaScriptJavaSwift

Frameworks

ReactNext.jsExpressJSNestJSSpring BootReact NativeAndroidiOSApache Karaf

Protocols

MQTTREST APIWebSocketBLE and SPP BluetoothCAN bus

Cloud / DevOps

AWSDockerKubernetesGCPProxmoxGitHub ActionsGitLab CI/CD

Database

PostgreSQLRedisMongoDB

Engineering

System DesignArchitectureRequirements Engineering

Management

AgileScrum

Areas of Expertise

High-level domains that I am expert in

IoT
Defense & Security System
Automotive Software
Smart Home & Automation
CBRN & Nuclear Security

Career Journey

Professional Experience

Roles and impact over the years

  • Sept 2019 - Present

    Software Engineer & Project Manager

    Observis Oy, Finland

    At Observis, I have worn many hats, from being a full-stack engineer to a system architect and project manager. I was responsible for the development of the Observis's product platform, from the backe...

    Key Achievements:
    • Developed the existing Observis's product eco-system, from the backend to the frontend
    • Designed and Architected new features of Observis's products
  • April 2019 - Sept 2019

    Android Developer

    FPT Software, Vietnam

    At FPT Software, I was responsible for the development of the Android application for an automotive device. My main focus was on the backend development, especially in the implementing algorithms for ...

    Key Achievements:
    • Developed the backend for the Android application, including the implementation of algorithms for calculating the eco-driving score.
    • Developed the UI for the Android application, including the implementation of the main screen and the eco-driving score screen

My Projects

A collection of my work across professional and personal explorations

Professional Projects

ObSAS Shelter

ObSAS Shelter

Professional
ObSAS Automated Shelter Control Systems is the core platform for our integrations. It is a robust but highly customisable CBRNe command and control system for visualising critical data and showing status of all the connected systems.

Starting point is the shelter blueprint where user can see the status of each shelter area, doors, valves and any measurement devices at a quick glance. If the devices integrated to the system detect anything unusual ObSAS will display a visual, audio and text notification of the issue.

Key Features:

  • 📊 Real-time Data - Real-time data from all connected sensors

  • 🤖 Shelter Automations - Shelter automations based on detection data and shelter atmosphere changes

  • 🔧 Hardware Independent - Hardware independent solutions because of our large library of integrations

  • 🎛️ Unified Control - All shelter systems controlled from one interface

  • 📈 System Status - Real-time system status – Filtration health, blast valves etc.

ReactSpring BootApache KarafPostgreSQLTimescaleDB
ObSAS Maintenance

ObSAS Maintenance

Professional
ObSAS Maintenance is a platform for managing and tracking maintenance and support for ObSAS Shelter Control Systems. It is a web application that allows users to manage and track maintenance and support for CBRN systems, equipment and devices. The system is mainly used in Shelter and Bunker facilities together with ObSAS Shelter Control Systems.
ReactSpring BootPostgreSQLREST APIDocker & Docker Compose
ObSAS LINK

ObSAS LINK

Professional
ObSAS LINK enables full wireless connectivity for many handheld and portable CBRNe detectors. Real-time data and location from every field unit streamed to your control center.
AndroidReact NativeMQTTREST APIBLE and SPP Bluetooth
M-INSN

M-INSN

Professional
The Mobile-Integrated Nuclear Security Network (M-INSN) tool enables decision-makers, to use visual real-time radiation data, to make informed decisions to protect the public in case of a potential incident involving nuclear or other radioactive material.

Administrators have direct access to real-time radiation data with the exact location of the individual users, such as security personnel and radiation experts who use detection equipment, and the system is vendor neutral so any equipment can be incorporated into the user country-controlled software.
ReactReact NativeSpring BootOpenAPIMQTT
Virtual Funeral

Virtual Funeral

Professional
Virtual Funeral is a platform for creating and sharing funeral memorials. It allows users to create a funeral memorial for a loved one, and share it with friends and family. The platform includes features like a memorial page, a guestbook, and a donation page. The platform is built with Swift and Firebase, and uses WebRTC for the video streaming and RTMP for the audio streaming.
SwiftFirebaseWebRTCRTMP
Eco Driving Score

Eco Driving Score

Professional
Eco Driving Score is a tool for calculating and visualizing the eco-driving score of a vehicle based on the driving behavior of the driver. The tool is built with Android and Java, and uses the Android SDK for the hardware integration and Java for the computation of the score, integrated with the CAN bus of the vehicle.
AndroidJavaCAN busJUnit

Personal Projects

Portfolio-generator

Portfolio-generator

Personal
Let's be honest—you're busy building awesome projects, but updating your portfolio? That's always "on the list". When opportunity knocks (job applications, freelance gigs, or just showing off your work), you're stuck spending hours writing descriptions, grabbing screenshots, and manually updating everything. Sound familiar? 😅

This portfolio generator has your back! It automatically syncs with your GitHub repositories, pulls project details straight from your README files, and keeps everything fresh without you lifting a finger. You keep coding, and your portfolio stays updated. It's that simple.

Key Features:


  • 🚀 Automatic GitHub Integration - Syncs your repos weekly and shows off both public and private projects (just add a token). Your portfolio grows as you code!

  • 🎯 Smart README Parsing - Already wrote a great README? Perfect! This tool grabs descriptions, images, tech stacks, and abstracts from your existing files. Write once, use everywhere.

  • 🎨 Configurable Page Styles - Pick from sleek, professionally designed layouts, and you can switch themes in seconds with one environment variable. Current supported styles are:

  • Warm Minimalism (Default)

  • Aesthetic

  • More are coming soon!

Next.js 15React 19TypeScriptFramer Motion (animations)Material-UI
workhour-tracker

workhour-tracker

Personal
This work-hour tracker application is a full-stack web solution designed to simplify employee time tracking and management. The application provides a seamless way for employees to log their work hours while enabling employers to monitor and review work time records.

The system operates through a role-based access control mechanism, offering two distinct interfaces: an Employee View and an Employer View. Employees can start and stop work sessions using an intuitive circular button interface, which automatically records the start and end times. The application calculates work duration in real-time and stores these records in a PostgreSQL database. Employees can also view their historical work hours through an interactive calendar interface.

Employers, on the other hand, have access to a comprehensive dashboard where they can select any employee from a dropdown menu and view their work hours displayed on a calendar. The calendar highlights days with logged work hours and shows the total hours worked per day, enabling efficient monitoring and management of employee time records.

The application is built using Next.js, which serves both as the frontend framework and backend API layer. Authentication and authorization are handled through Keycloak, ensuring secure access control. The entire system is containerized using Docker, making deployment and scaling straightforward. The application uses Prisma as an ORM to interact with the PostgreSQL database, providing type-safe database operations.
Next.js - 13.4.19React - 18.2.0TypeScript - 5.2.2Node.js - 20.6.0PostgreSQL - 14.1
DM-web-conf

DM-web-conf

Personal
Device Manager Web Configuration is a modern web application for configuring Observis detection systems on Debian-based hosts. It centralizes device settings (IBAC2, S900, GTD Module‑B, WXT53X), network parameters (DHCP/static with auto‑detected interface), and system properties into a single, safe workflow. Changes are validated in the browser and on the server, tracked across tabs, and saved atomically with one operation that triggers a controlled reboot when required. The stack consists of a Spring Boot backend and a React + TypeScript frontend, with comprehensive unit, integration, and Playwright end‑to‑end tests to ensure reliability.

The project is made for Observis to reduce configuration cost and increase user configurability. This leverages the Observis's product: CBRN Detection Station

---
Java - 17Spring Boot - 3.2Node.js - 20.18.3React - 18TypeScript - 5
Data-Intensive-System

Data-Intensive-System

Personal
MagicChess is a full-stack chess game application designed to demonstrate data-intensive system architecture principles. The project implements a distributed database architecture with PostgreSQL replication and sharding to handle high-volume data operations efficiently. The application features a chess game platform where players can compete in matches, manage their profiles, purchase items from shops, and track their performance metrics.

The system architecture includes a primary database for write operations, a read-only replica database for load distribution, and a sharded database for horizontal scaling. The backend API is built with Express.js and TypeScript, providing RESTful endpoints for user management, match tracking, shop operations, and analytics. The frontend is a modern React application with Material-UI components, offering an intuitive interface for players to interact with the game system.

This project showcases advanced database management techniques including streaming replication, database sharding strategies, transaction management across multiple databases, and comprehensive API documentation with Swagger.
Node.js - 24.10.1TypeScript - 5.9.3Express - 5.1.0PostgreSQL - 16React - 19.2.0
Environmental-Sensor-Monitoring

Environmental-Sensor-Monitoring

Personal
This project presents a Sensor Monitoring System that demonstrates the seamless integration of heterogeneous database systems in a fullstack application. The system utilizes a dual-database architecture combining PostgreSQL (relational SQL database) and Redis (key-value NoSQL database) to manage sensor data, owner information, locations, observations, and alarms.

Built with React and TypeScript for the frontend and Express.js with Node.js for the backend, the application provides a unified user interface that abstracts the underlying database complexity. Users interact with the system through a single API layer, while the backend intelligently routes operations to the appropriate database—PostgreSQL for persistent relational data and Redis for high-performance caching and real-time metrics aggregation.

The system demonstrates key database integration patterns including data synchronization, cache management, and cross-database querying, all while maintaining complete transparency to end users. This implementation serves as a practical example of polyglot persistence, showcasing how different database technologies can work together to optimize both data integrity and performance.
Node.js - 18Express.js - 4TypeScript - 5React - 18PostgreSQL - 15
charger-sim

charger-sim

Personal
A simple React-based simulator for an EV charging station that connects to a backend. The simulator displays real-time charging data including State of Charge (SOC), power, voltage, current, and temperature, while automatically sending charge updates to the backend API every second.

The simulator generates realistic mock charging data using an algorithm that mimics real EV charging behavior. The State of Charge (SOC) starts at 20% and increases by 1-2% per second until reaching 90%, simulating a typical fast-charging session. The power output follows a realistic charging curve: it starts at maximum capacity (~50 kW) and gradually tapers as the battery approaches higher SOC levels, with more aggressive tapering after 60% to protect battery health. Voltage varies realistically between 380-420V (typical for DC fast charging), while current is dynamically calculated from power and voltage using Ohm's law (I = P/V). Battery temperature gradually increases over time to simulate the heat generated during charging. All numeric values are rounded to 2 decimal places before being sent to the backend API.
React (v19.2.0)TypeScript (v5.9.3)Vite (v7.2.4)React DOM (v19.2.0)ESLint (v9.39.1)

Let's Work Together

Have a project in mind? I'd love to hear from you. Send me a message and let's create something amazing together.