Startup @ ChengDu Software Park: PayWay (Custodial Wallet, Payment System, & Investment App)
Lead System Architect and Backend Developer
Technologies: Go, Bitcoin, Ethereum, Monero, Linux, REST
Our product is a cryptocurrency payment platform which also contains an investment section, where users can put idle funds to work and earn interest.
I designed and built a super-secure custodial wallet infrastructure. It remains secure even if hackers gain control of the servers -- they would still never have access to wallet private keys or customer identification information, and tampered data would be rejected by the system automatically.
We had to overcome many challenges when integrating the various blockchains: We had to build our own data sources, since existing data sources were too expensive and could not scale to our needs. Our testing frameworks were extremely important, helping us to catch many errors and incorrect assumptions before releasing to production.
Startup @ ChengDu Software Park: IMC (Attention Economy Token)
Lead Blockchain Developer
Technologies: Hyperledger, Python, Rust, Go, Docker
Our product was designed to reward users for regular use of partner apps. Every consecutive day that a user used a partner app, they would receive a larger daily bonus. If the user did not use the app for 2 days, their bonus would reset to the default (low) value. This encouraged users to use apps more regularly, and it increased our partners’ retention rates and profitability.
I used Hyperledger Sawtooth and Hyperledger Fabric to create an Ethereum sidechain, which was used for low-cost, high-frequency transactions. This was the first Rust project I worked on, and I really enjoyed it.
Lead System Architect and Backend Developer
Technologies: Go, Python, REST, Streaming Events
I created an arbitrage infrastructure, which we used successfully to trade investor funds. We discovered some very elegant trading techniques and mathematical models which allowed us to create a robust and safe trading system, while still being simple and general.
At one point, we were the top market maker for Bitcoin Cash, trading over $2M in one day. This was because some exchanges changed the trading symbol from BCC to BCH, and we were one of the first market makers to react to the change.
Forex and Cryptocurrency Automated Trading
Lead Designer and Full Stack Developer
Technologies: Go, Python, HTML/CSS/JS
My trading partner and I developed an innovative approach to currency analysis, which is much simpler and more accurate than traditional approaches. I created the koin.cx website and the backend that powers it to share some of the analysis techniques with the world. The website is designed for maximum compatibility across all browsers and platforms. I still develop the site in my free time, and we have big plans for it in the future.
The backend also powers an automated trading system, which performs well on Forex and Cryptocurrencies.
2008-2010 and 2013-2016
Webfaction.com (Web Host)
System Administrator and Customer Support
Technologies: Linux, Python, Bash Scripting, MySQL, Postgresql, Postfix, Apache, Nginx, RPM, Wordpress, Django, Node.js, PHP, etc...
As a system administrator in a small company, I was given the authority to manage and improve every part of our company’s infrastructure. Since we hosted over 25,000 websites, I gained an incredible amount of experience and exposure to every kind of web technology and framework. I also wrote technical documentation and handled advanced customer support issues (troubleshooting, configuration, programming, and networking issues). I also managed system upgrades, hardware failures, backups, custom security patches, and system monitoring -- and I created many tools to automate these tasks.
2006-2007 and 2010-2013
Senior Design Automation Engineer
Technologies: Linux, Python, Node.js, Zuken PCB Routing products, HTML/CSS/JS
As a design automation engineer, my job was to improve the workflow of our PCB Layout design team. I created many tools which integrated into their engineering process, which helped to reduce errors, increased efficiency, and improved visibility and scheduling of tasks. A major part of this job was Linux administration. I handled all Linux-related questions and issues for our group, including installation and maintenance of operating systems and software, network configuration, troubleshooting, and system monitoring.
Another major part of this job was web development. Since the company was still using IE6, I became proficient at creating modern websites that also had excellent compatibility with older browsers.
When a vendor relationship turned sour and negotiations broke down, I was able to save the company $10M by deciphering and extracting our engineering data from the vendor’s custom database. To do this, I had to reimplement the Java Serialization Protocol in Python and break several of the vendor’s cryptographic ciphers (a seemingly impossible task!).
Embedded Systems Programming Intern
Technologies: C, Linux
I wrote Linux Kernel drivers for custom keypad, MMC Card, and SD Card hardware. During this process, I also learned how to debug hardware drivers using schematics, logic analyzers, oscilloscopes, and JTAG. Our hardware was based on the ARM9 platform, so I became proficient at porting software to other similar platforms, like Nomadik multimedia boards and Nokia 770.
Automation Programming and Database Administration Intern
Technologies: Python, VB, Custom DB
Being in a highly-regulated industry, aviation engineering projects must keep thorough records and pass strict quality checks. My main responsibility was to maintain and improve the code validation infrastructure. I upgraded the system from DOS batch files to Python scripts, which delivered a dramatic performance boost and reduced opportunities for error.
I also helped to organize, standardize, and reduce-redundancy-of the corporate intranet. These improvements helped people to find and share information easier, and it also saved my department $50k because we were able to avoid converting everything to Microsoft SitePoint.
Lastly, I was given the responsibility of managing the custom-made (Visual Basic 6) database where the engineers stored all of their design documents. I also handled the maintenance and programming for the end-user query tool.
Time Series Analysis
Technologies: HyperCard, Java, Python, Go, TradingView, Pinescript
The thing that caused me to start programming in the first place was my interest in financial markets. I created my first stock market analysis tool when I was in high school, and I have continued to develop better analysis systems ever since then. After many years of trial and error, I’m happy to say that I have discovered some very powerful analysis and prediction techniques, which I use successfully for trading.