Here, you can find collections of apps, tools, and other works that I developed in my spare time. There are also non-software contents, such as articles, study materials, research findings.


Some mobile apps are now available on XiaoMi GetApps

This site is being upgraded for better UI

Android Apps

Windows Apps

iOS Apps

Web Tools

Mac Apps


Mobile Apps

All available on PlayStore and Huawei AppGallery, Some available on AppStore, XiaoMi GetApps

Deep Learning

Learn Language from Writing & Drawing with AI – This app is designed to help learning Japanese and Chinese languages. Kotoba-chan, an AI, will teach you how to write Kanji characters and challenge you by quizzes. There is also a mode (under research) where you can learn Kanji from drawing objects. The app demonstrates the state-of-the-art AI technologies for writing stroke recognition and image recognition, and well as character expression control. [Android, iOS, Windows, MacOS]

Game, designed for language learners


Encode your message to hide/secure contents (cipher / text encryption & decryption) [Android & iOS]


Drawing lots on your mobile. Easy-to-use with interface designed for party & events [Android & iOS]

Native Android
Emotion Analysis
Affective Computing
Augmented Reality

Seeing your emotion aura! Facial expression analysis based on the-state-of-the-art deep learning models) [waiting for technology for improvement] [Android]


Blink colorful light using mobile, designed for cheering activities, card stunt [Android & iOS]

Musical Notes

Play Melodies from Texts, Notepad for Melodies [Android & iOS]

Designed for music learners/composers

Get Help

“Ask people Around you,” That’s what this app is designed to help you to do! [Android & iOS]

Recommended for travelers


Online tools for planning your investment investors [Android & iOS]

For investors

Native Android

Small, yet powerful calculator for 2D geometric shapes. [Android & iOS]

For those who study / work with geometry

Windows App

Available on Microsoft Store, etc.

Little Suite (Microsoft Store)

Utility tools designed under the concept of “Simple, yet powerful”; they are simple to use, yet can help speeding up your daily tasks. They are small in size, yet can be applied and used in various situations. [Available on Microsoft Store]

C# WinForm
Text Processing

Little Transformer 🟊🟊🟊

Ultimate Text Fotmatter. A text editor with TTS designed for formatting data format and assisting coding. Converting file/data structure in a single click. This is an app, I always use during coding, so it is maintained well) [Updated 2022/07, well-maintained]

For anyone, esp. writers, programmers, analysts

File Manager

A useful tool for those have many file collections. Make file management easy and fun

For anyone


Table-based multi-language speech synthesis designed for language learning

For language learners

Data Analysis

Bulk CSV File Manager: concatenating files, extract mean/average, SD, Min, Man, Median, Mode, etc.

For data analysts

C# WinForm

A tool for querying and exporting data from SQL Database.

For mySQL users


Investment Calculator for buying and selling. With Tabs function.

For traders, investors


Simple calculator that can store and export calculation history.

For anyone

Specific-purpose Tool

Tools for research, etc

Temporal Segmentation

Evaluation tool for Temporal Segmentation / Motion Segmentation Research.

For researchers

Web Apps

Online tools available on this site

Message Board

Designed for passing and sharing messages/data over the internet: leave your messages online / pass data to other devices


Normality Tests (Shapiro–Wilk); Paired Samples t-Test, Wilcoxon Signed-Rank test; Independent Samples t-test, Mann–Whitney U test, Kolmogorov-Smirnov test; Levene’s test for Homogeneity of Variance

Text Processing

Web-based Little Transformer

For anyone, esp. writers, programmers, analysts

Message Board

Prove my location

For anyone


Online tools for planning your investment

For investors


Chat with people around you

For anyone, travelers

Algorithm showcase & Programming Puzzle

Demonstrate algorithms to solve programming puzzles. Codes are planned to be released. (#dynamic programming) (n=22)

Knapsack Optimization

Given a set of items, each with a size and a value, determine the number of each item to include in a collection so that the total size is less than or equal to a given limit and the total value is as large as possible.

Dijkstra's Shortest Path Algorithm

Dijkstra’s algorithm computes the shortest path in a graph by iteratively choosing the nearest node and updating distances, guaranteeing optimality when all edge weights are non-negative.

Optimal Strategy for a Game

We play a game against an opponent by alternating turns. In each turn, a player selects either the first or last item from the row, removes it from the row permanently, and receives the value of the item. Determine the optimal value if we move first.

Dice Throw Problem

There are d dice each having f faces (numbers: 1 to f). Find the number of ways in which we can get sum s from the faces when the dice is rolled.

Dice Throw Probability

Statistics of Rolling Dice: The frequencies and probababilities of different numbers obtained by the throw of dice.

Coin Change (Change-making problem)

How many ways can we make the change, and what is the minimum number of coins that add up to a given amount of money?

Most Frequently Occurring Item

Finding the most frequently occurring item in a given integer array (Counting the occurrences / frequency of array elements).

Sorting Algorithms

Comparing different algorithms/approaches for sorting, such as Default JS Sort, Selection Sort, Bubble Sort, Insertion Sort, Merge Sort, and Quick Sort. Also comparing standard versions and applied versions (e.g., those with optimization, early termination).

Longest Increasing Subsequence (LIS)

Find the length of the longest subsequence of a given sequence such that all elements of the subsequence are sorted in increasing order.

Longest Common Subsequence (LCS)

Finding the longest subsequence common to all sequences in a set of sequences

Shortest Common Supersequence (SCS)

Given two strings, return the shortest string that has both strings.

Subarray with given sum

How many subsets can sum up to a certain number? (Find sets/arrays of numbers that add up to a given value).

Subarray with given multiplication

How many subsets can multiply to a certain number? (Find sets/arrays of numbers that multiply to a given value).

Levenshtein Distance (String Edit Distance)

Quantifying how dissimilar two strings (e.g., words) are to one another.

Kadane's Algorithm to Maximum Sum Subarray Problem

Given an array of integers,find the maximum subarray sum possible of all the non-empty subarrays.

Array Rotation

Detect if some arrays are same after rotation.

Non-Repeating Character

Finding unique characters in a string.

Fibonacci Numbers

Finding the Nth Fibonacci number and the summation from the first to the Nth, comparing recursive and iterative methods.

Common Element

Find common elements in arrays.

Egg Dropping Puzzle

Find the correct response without exceeding a (low) number of certain failure states.

Suppose you have ‘n’ eggs and you want to determine from which floors in a ‘k’-floor building you can drop an egg such that is doesn’t break. You are to determine the minimum number of attempts you need in order to find the critical floor in the worst case while using the best strategy.

Partition Problem

Given a set of positive integers, check if it can be divided into two subsets with equal sum.

Maximum Product when Cutting Rope

Given a rope of length n meters, cut the rope in different parts of integer lengths in a way that maximizes product of lengths of all parts. You must make at least one cut. Assume that the length of rope is more than 2 meters.

Rod Cutting Problem

Given a rod of length n inches and an array of prices that includes prices of all pieces of size smaller than n. Determine the maximum value obtainable by cutting up the rod and selling the pieces.

Word Break Problem

Given a string and a dictionary of words, determine if the string can be segmented into a space-separated sequence of one or more dictionary words.

Boolean Parenthesization Problem

Count the number of ways we can parenthesize the expression so that the value of expression evaluates to TRUE.

Search Algorithms - Linear Search vs Binary Search

Comparing Linear Search and Binary Search

Segment Operation

Given two lists of segments, perform operations like merging, subtracting, adding, and calculating overlapping percentages.

Languages and Technology used in apps above

Distribution Platforms

Available on: Google Play, App Store, Huawei AppGallery, Microsoft Store, Xiaomi GetApps, Thaiware

Developer: Pujana P
Contact for technical supports & etc. : Pujana [dot] P [at] gmail.com

Don`t copy text!