Denis Ok, Developer in Phnom Penh, Cambodia
Denis is available for hire
Hire Denis

Denis Ok

Verified Expert  in Engineering

Software Developer

Location
Phnom Penh, Cambodia
Toptal Member Since
March 9, 2016

Denis is a full-stack developer with a strong background in front-end technologies and UI/UX, and has recently turned his attention to React. A former software engineer at Microsoft, he delivered scalable projects used by millions. He contributed to the F# language and was the main contributor to Visual F# Power Tools. Denis invented a high-performance Loop 3D surface subdivision algorithm, built custom plugins and eCommerce sites, and synchronized systems across multiple devices for Xbox Music.

Portfolio

The Foundry
React, TypeScript, Node.js, NGINX, Amazon Web Services (AWS), Docker, Next.js...
Toptal
React, Material UI, Figma, Functional Programming, HTML, JavaScript
Okoone
Cypress, SQL, .NET, TypeScript, Angular, Flexbox, HTML, API Design

Experience

Availability

Part-time

Preferred Environment

TypeScript, C#, F#, .NET, Azure, Visual Studio, React

The most amazing...

...project I've worked on is the Visual F# Power Tools, bringing a pleasant development experience to F# developers—as this wonderful language deserves it.

Work Experience

Senior Software Engineer

2020 - PRESENT
The Foundry
  • Developed a construction eCommerce website using Strapi, a headless CMS as a GraphQL back end (configuration and extension using code), and Next.js for the front end.
  • Implemented designs from Figma wireframes into code using Bootstrap and Material UI.
  • Implemented JWT-based authentication using Facebook login and support for multiple user roles and permissions.
  • Chose React Context API instead of Redux for state management to account for less complexity and easier onboarding concerning other team members.
  • Implemented mobile authentication using Twilio services.
  • Delivered multiple UI/UX based on three user roles: unauthenticated, normal user, and supplier.
Technologies: React, TypeScript, Node.js, NGINX, Amazon Web Services (AWS), Docker, Next.js, Figma, Bootstrap, Material UI, Apollo, GraphQL, Twilio, Flexbox, Functional Programming, HTML, API Design

Front-end Developer

2021 - 2021
Toptal
  • Implemented Figma designs into real React web pages with pixel-perfect layout, using the Material UI library.
  • Optimized a heavy and long list of data with virtualization using the react-window library.
  • Conducted deep customization of Material-UI component's appearance.
Technologies: React, Material UI, Figma, Functional Programming, HTML, JavaScript

Senior Software Engineer

2020 - 2020
Okoone
  • Joined an ongoing effort of porting a legacy LightSwitch C# web app to Angular/TypeScript for Clevy Links (https://clevylinks.com/), a logistics platform dashboard with a role-based authorization system.
  • Rewrote some critical parts of the existing TypeScript code (Angular components).
  • Implemented a code review process to the existing team and team coding guidelines (based on my former experiences).
  • Enforced build and unit test checks on the existing Jenkins CI system.
  • Created a baseline unit test suite for the existing code (about 100 tests).
  • Developed a baseline end-to-end test suite based on Cypress.io for more complex UI scenarios ( around 20 tests) to serve as "learn by example" material to the junior and senior team members.
Technologies: Cypress, SQL, .NET, TypeScript, Angular, Flexbox, HTML, API Design

Senior Software Engineer

2020 - 2020
Contract with WriteLabel (Toptal Client)
  • Coded a Kafka-based message processing microservice to create N-N mappings in a join table and keep entities synchronized when they are added (users and groups relationships), all written in F#.
  • Performed some large refactoring tasks in the codebase, including SQL queries.
  • Added unit tests to existing microservice code that was not written by myself, which thus required a lot of analysis and deep understanding of the business logic.
Technologies: ASP.NET Core, Azure, MySQL, F#, Functional Programming, Concurrent Programming, API Design

Back-end Developer

2018 - 2019
Comedy Wire
  • Rewrote and simplified around 50 HTTP endpoints from the legacy Java back end to F#/ASP.NET Core.
  • Implemented complex MySQL optimization (indexes and efficient query writing) for a database with millions of entries created per day.
Technologies: ASP.NET Core, MySQL, .NET Core, Azure, F#, Functional Programming, Concurrent Programming, API Design

Full-stack Software Developer

2015 - 2019
Agora Opinion (Freelance Work)
  • Installed an IoT PHP back end connected to 300 voting devices for toilet cleanliness satisfaction, sending approximately 10,000 requests per day and having SMS and email alerts (data stored in a MySQL DB).
  • Implemented the full front-end user experience using Laravel, AngularJS, supporting multiple roles like administrator, local administrator, and the standard user.
  • Developed a HighCharts dashboard to visualize and filter votes data by day/week/month/year and geographic area.
  • Implemented Azure WebJobs in F# to issue daily reports to customers with QoS requirements.
  • Maintained and upgraded the MySQL database schema for a dashboard that serves almost 200 businesses and 800 users.
  • Implemented UI web testing using the F# Canopy library (Lefthandedgoat.github.io/canopy).
Technologies: HTML, CSS, Azure, F#, AngularJS, JavaScript, Bootstrap, Laravel, PHP, Flexbox, Object-oriented Design (OOD), API Design

Software Developer

2012 - 2015
Microsoft
  • Worked on the synchronization system across multiple devices (Xbox, Windows, Windows Phone, iPhone, and Android) for Xbox Music, a massively scalable music service used by millions of consumers and devices.
  • Implemented the Xbox Video (Microsoft's video streaming service) watchlists system.
  • Performed big-data processing and analysis to measure and ensure the quality of our cloud services.
  • Implemented a feedback tool on the web client, enabling users to ask for a missing song in the music catalog.
  • Developed an internal diagnostic tool to investigate issues on users' music and video collection.
Technologies: Cloud, JavaScript, AngularJS, SQL, Azure, F#, .NET, Object-oriented Design (OOD), Concurrent Programming

Software Engineer

2010 - 2012
Tactineo
  • Assisted the development of WPF software for touch-screen devices.
  • Implemented custom and touch-friendly UI elements.
  • Guided a touch presentation timeline visualizer/editor.
Technologies: Windows Presentation Foundation (WPF), .NET, C#, Object-oriented Design (OOD)

Research Intern

2009 - 2009
Dassault Systemes
  • Invented and developed a high-performance Loop 3D surface subdivision algorithm based on patches.
  • Developed a plugin system for an in-house 3D mesh viewer.
  • Worked on automatic 3D surface parameterization without edges.
Technologies: OpenGL, C++, Object-oriented Design (OOD), Concurrent Programming

Crazy Wild Wines

https://1drv.ms/u/s!AkjqocnedssYgtQp_qQ4ifKUTsaDyw
My natural wine cellar company has a back end in F# (Azure Functions and WebJobs), connected to my accounting system and a personal OneDrive account.

It provides me with the KPIs that are necessary for my business:

• The inventory (e.g., How much stock is left for each bottle?), taking losses into account (stored in an Excel file), and the invoices using GraphQL queries to my accounting system.
• My profit/revenue for the month.

I browse the KPIs using a React Native mobile app, as I often move around the city in Phnom Penh.

Visual F# Power Tools

I was one of the main contributors to this wonderful F# development tool including refactoring, code generation, and so on.

F# 4.0 Language

https://github.com/Microsoft/visualfsharp
I helped to implement new standard library API functions.

Toptal React Academy Project

The Toptal React Academy is an exclusive learning program that teaches the React framework to select members of the Toptal network. After a month of study, all graduates are tasked with completing a 30-40 hour final project to build and deliver a React app from scratch. The above is a walkthrough of my final project.

Languages

F#, C#, JavaScript, TypeScript, HTML, CSS, PHP, C++, SQL, GraphQL

Libraries/APIs

LINQ, Highcharts, jQuery, Flexbox, OpenGL, React, Facebook API, Node.js

Other

Back-end, Full-stack, APIs, Domain-driven Design (DDD), Serverless, API Design, Cloud, Apollo, Mathematics

Frameworks

AngularJS, .NET, ASP.NET, Laravel, Angular, Cypress, ASP.NET Core, Bootstrap, Windows Presentation Foundation (WPF), React Native, .NET Core, Next.js, Material UI

Paradigms

Functional Programming, Object-oriented Design (OOD), Concurrent Programming, Agile Software Development

Platforms

Azure, Windows, Amazon Web Services (AWS), Docker, Twilio

Tools

Visual Studio, Microsoft Visual Studio, NGINX, Figma

Storage

MySQL, Neo4j

2006 - 2010

Master's Degree in Mathematics & Operational Research

Ecole Centrale de Lyon - Lyon, France

DECEMBER 2020 - PRESENT

Toptal React Academy Graduate

Toptal, LLC

FEBRUARY 2015 - PRESENT

Microsoft Specialist: Developing Azure Solutions

Microsoft

FEBRUARY 2015 - PRESENT

Microsoft Certified Professional

Microsoft

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring