- 👋 Hi, I’m @johnzhou721
- 😄 Pronouns: he/him
- 💻 Computer I use: an M1 MacBook Pro from 2021
- 🌏 Non-Programming Languages: Chinese (Simplified, Mandarin), English
- 💻 Programming Languages: Python, C++, (a bit of) Java, TypeScript (the language only, don't know frameworks), Objective-C, (La)TeX
- If you have a really cool language you'd like to suggest to put onto my stack, make an issue on johnzhou721/johnzhou721
I can't accept sponsorships because of legal issues. However, I do have a model planned for sponsors — if you're interested in anything similar, reach out preliminarily so I can set things up once legal clears.
My model
I proactively actively work on contributions to open source projects and documentation such as BeeWare's Toga and CP Initiative's USACO Guide. I also have a few personal projects; a list of those will be continually maintained can be found at the end of this blurb. Sponsoring will allow me to spend more time working on free and open source projects in general, or for specific features. There are 2 options for sponsoring my FOSS work:
-
Sponsoring me either one-time or at a monthly rate generally will allow you to pay for my time for contributing to projects/maintaining personal ones, which will encourage me to spend more time doing so; I am not part of any core team, however, and I cannot promise specific features/fixes through a sponsorship.
For this option, you should email me at johnzhou721@gmail.com privately so I can set up GitHub Sponsors; I need to gauge public interest before I do the setup, as as a minor, taxes, etc. are difficult.
-
Sponsoring me to develop specific features and bugfixes for projects I contribute to or maintain. Although I can promise to work on such said features and bugfixes upon discussion, I cannot guarantee that they will eventually be integrated into the relevant upstream projects if they're not maintained by me.
For this option, you should email me at johnzhou721@gmail.com privately to discuss options; a list of tickets I'm looking for sponsorship on can be found below, but feel free to ask for any other improvements. If I can commit to developing the feature, I will involve a core team member of the relevant project for further discussion. Again, although I can promise to work on a feature or bugfix, I cannot guarantee that it is integrated into the upstream project, if I do not maintain it.
- johnzhou721/makenumber
- johnzhou721/sudoku-solver
None currently; if there's a ticket in any FOSS project I contribute to (beeware/toga would be a good fit) that has an API design discussion finished that you'd like me to work on for a sponsorship (NOT guaranteed that I will be able to land it,) let me know privately.
[Note: End-user applications below are not published as I do not have the neccessary signing certificates.]
- An internal script for an annual field trip at school for Excel's Office Scripts, https://github.com/johnzhou721/cm-rooming
- https://github.com/johnzhou721/mouse for macOS, a game testing short-term memory
- https://github.com/johnzhou721/makenumber for macOS, Windows, Linux, iOS, and Android, a game similar to the mechanics of the show Number Sense (no endorsement implied)
- https://github.com/johnzhou721/sudoku-solver for macOS, Windows, and Linux, a GUI for a sudoku solver using python-sat by eysbutno
- Contributing the initial code for the system-pyside6 package enabling people to use their system-installed copy of PySide6 in an isolated venv: beeware/system-pyside6#1
- Contributing the initial implementation of the Qt backend for BeeWare's Toga: beeware/toga#3769
- A spinner animation done entirely using LaTeX, matching the style of WinUI3 at https://github.com/johnzhou721/cm-rooming, used in BeeWare's Toga's WinForms backend at beeware/toga#3473
- A patch to BeeWare's Python-Apple-Support that adds unofficial CPython build support for visionOS: beeware/Python-Apple-support#270, freakboy3742/cpython#6
- Researching on and debugging issues with Gtk4 migration for Toga, comments on beeware/toga#3239
- Contributing to CP Initiative's USACO Guide, adding solutions for missing problems to help learners grasp intuition behind complex algorithmic ideas: see e.g. cpinitiative/usaco-guide#6245, cpinitiative/usaco-guide#6231, cpinitiative/usaco-guide#5979



