Web Apps
I design and ship React frontends and Node.js backends, keeping the codebase readable and easy to extend.
I'm a full-stack engineer with 25+ years of experience in web and mobile development. I work as a freelance developer at J2 Digital and publish my own projects under JX Software Ltd.
Hands-on development across product tiers - from web and mobile apps to IoT firmware and security audits.
I design and ship React frontends and Node.js backends, keeping the codebase readable and easy to extend.
I build native Android and iOS apps with Kotlin and Swift, and use React Native when a single codebase needs to serve both platforms.
I build custom themes, plugins, and block editor components so marketing teams get performance and flexibility without bloated stacks.
I optimize website performance and structure its content so search engines and LLMs can understand and rank it accurately.
I setup AWS, GCP and container environments with Terraform, CI/CD pipelines, monitoring, and pragmatic guardrails that teams can maintain.
I design firmware and system integrations for sensors, wearables, and connected hardware, blending native code with lightweight cloud services.
I connect APIs, data pipelines, and internal tools - whether it's REST, GraphQL or webhook-driven workflows - to keep systems in sync.
I audit web apps for vulnerabilities, covering threat modeling, auth flows, penetration testing, and code reviews that close off common attack paths.
TypeScript, React, Node.js, Next.js, Ruby on Rails
Swift, SwiftUI, Kotlin, Jetpack Compose, React Native, TypeScript, Firebase.
PHP, React, ACF, Gutenberg, WooCommerce.
Ahrefs, Semrush, Search Console, Lighthouse, Screaming Frog.
AWS, GCP, Terraform, Docker, Kubernetes, Ansible, Puppet.
C, FreeRTOS, ESP-IDF, nRF Connect, Wi-Fi, BR/EDR, BLE, SPI, I2C.
Firmware for an ESP32-based RuuviTag gateway that listens over BLE and forwards the sensor data to AWS IoT Core via MQTT, giving a lightweight bridge between devices and the cloud.
View the codeFast, browser-based IPv4 subnet calculator that converts IP ranges, CIDR prefixes, masks, and host counts instantly - handy for quick planning without spinning up tooling.
Visit the siteWant to hide navigation bar when user scrolls down, and then again show it when user scrolls up? This is where you'd want to detect the scroll direction using JavaScript.
Linked list is one of the most simplest and most common data structures out there. Implementing linked lists in C is easy by using structs and pointers.
Latest jQuery UI comes with a new position() method that makes it easy to center any element vertically and horizontally.
If you need help shipping or maintaining a web project and like working directly with the person doing the work, send me a message.