I am currently maintaining three Dart/Flutter packages:
- positioned_scroll_observer, which allows scrolling to a specific index in any Flutter scroll view not limited to
ListView
andGridView
. - simple_http_api, which extends the official Dart HTTP package with the ability of cancelation, timeout, and EventSource, supporting streaming http repsonses from servers, e.g., streaming ChatGPT API.
- relative_stack, which position widgets relative to your specific widgets, instead of using explicit positions in
Stack
. - flutter_gpt_tokenizer, which enables deverlopers to encode/decode their prompts for ChatGPT APIs, so that they could count the lenght of tokens for prompts(sentences/words) and then call ChatGPT APIs more efficiently. This package utitlizes Dart FFI to bridge the BPE tokenizer (written in Rust) that uses the tiktoken files from OpenAI tiktoken
- flutter_slidable_panel, a high-performant Flutter widget that allows users to slide a widget to show actions in different positions.
- simple_dropdown, a lightweight and highly customizable (menu UI/position) searchable Dropdown based on Overlay.
The most frequent technology I am using is for developing cross-platform applications. You could find my personl Flutter projects in my Github, like:
- messaging is a chat application purely based on firesbase and supports caching conversations/messages in local database (SQLite) on Android/iOS. In further, it would support chatting with a chatbot (based on ChatGPT API).
- weaver_editor is a prototyped rich text editor purely using Dart, supporting block-style editing and SlatJS protocol, although it is discontinued now.
- flutter_video_call is a video call application using flutter_webrtc for the applications and has two kinds (in different branches) of Node.js servers to ensble rtc calling based on WebSocket:
- using Agora SDK
- building a MediaServer using kurento.
Meanwhile, I am also proficient with developing API servers using .
Apart from Flutter
and Node.js
, I also used to build a convolutional nerual network from scratch, see cnn
By using Rust
and JavaScript
, I converted a quantized CNN model into and then deployed the model on the web, although it was just prototyped.
Familiar with: Rust
, Python
, Swift
and Kotlin
Familiar with MySQL
, MongoDB
and SQLite
Most often: MacOS
, also using Windows
and Ubuntu