Hi! I'm Peter Ke, an undergraduate student at the University of Toronto. I'm enrolled in the Computer Science Specialist and the Statistics Minor programs. I have many years of programming experience, specializing mostly in mobile and web development.
As a kid, I was always fascinated by computers. I started programming in high school by learning iOS development with Swift. Along with a friend, we developed and published four apps to the iOS App Store with thousands of total downloads. Since then, my love for programming has not diminished. I continued by learning Python, web development, systems programming, and more. I've also worked as an iOS developer intern in a professional team. My most recent project consists of building an object-oriented programming language from the ground up.
I'm currently looking for a summer internship in software development.
Contact Me Download Resume
Python
Swift
Java
JavaScript
TypeScript
Rust
Flutter
React
Vue.js
Git
Linux
Here's the highlights of some of the projects I made. Most of my projects are available on my GitHub.
My GitHub PageDove is a dynamically-typed, object-oriented programming language, focused on simplicity. Its syntax is inspired by modern languages like Python and Swift. The language supports features like basic data types, variables, branching, looping, functions, classes, basic IO, and importing files.
The interpreter is written in Rust, which allowed us to port it to WebAssembly and make an online playground fairly easily. It currently uses a tree-walk algorithm to execute the code, but a bytecode compiler/VM is in progress to increase the runtime performance.
Try it Online See Project On GitHub
Connect 5 is a two-player, turn-based board game on a square grid, where the first player to connect five pieces in straight a line wins. The game is a cross-platform (iOS/Android) mobile app, written in Dart using Flutter. It supports singleplayer where the player plays against an AI with a minmax algorithm, and also real-time online multiplayer. The server is created with Express, written in TypeScript, and deployed on Heroku. The real-time communication between front-end and back-end is achieved using Socket.io.
Mobile App ServerCourse Manager is a command-line application I created to manage my university schedule and project files. It is written in Python using the Click library. The tool allows users to create projects for different courses, quickly view or open projects, set deadlines for a project, and view the sorted and formatted schedule. Projects can be created with different, custom templates (in progress).
All of the functionalities are documented in function docstrings, which the Click library uses to create detailed --help messages.
See Project On GitHub