Skip to content
View SimonWang9610's full-sized avatar
:dependabot:
Learning
:dependabot:
Learning
Block or Report

Block or report SimonWang9610

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
SimonWang9610/README.md

Hi there 👋

Social

  • how to reach me: and

    Stats

Recent

I am currently maintaining three Dart/Flutter packages:

  1. positioned_scroll_observer, which allows scrolling to a specific index in any Flutter scroll view not limited to ListView and GridView.
  2. 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.
  3. relative_stack, which position widgets relative to your specific widgets, instead of using explicit positions in Stack.
  4. 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
  5. flutter_slidable_panel, a high-performant Flutter widget that allows users to slide a widget to show actions in different positions.
  6. simple_dropdown, a lightweight and highly customizable (menu UI/position) searchable Dropdown based on Overlay.

Application Development

The most frequent technology I am using is for developing cross-platform applications. You could find my personl Flutter projects in my Github, like:

  1. 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).
  2. weaver_editor is a prototyped rich text editor purely using Dart, supporting block-style editing and SlatJS protocol, although it is discontinued now.
  3. 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 .

Other activities

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.

Summary

Programing Language

Proficient in: and .

Familiar with: Rust, Python, Swift and Kotlin

Database

Familiar with MySQL, MongoDB and SQLite

Development Environment

Most often: MacOS, also using Windows and Ubuntu

Pinned

  1. indexed_scroll_observer indexed_scroll_observer Public

    An elegant scroll observer for observing scrollable widgets in Flutter applications.

    Dart 5

  2. flutter_slidable_panel flutter_slidable_panel Public

    A high-performant slidable panel for Flutter.

    Dart 3

  3. gpt_tokenizer gpt_tokenizer Public

    BPE tokenizer used for Dart/Flutter applications when calling ChatGPT APIs

    Dart 6 5

  4. api api Public

    a Flutter http lib

    Dart

  5. messaging messaging Public

    Dart

  6. relative_stack relative_stack Public

    Dart