Here is a list of projects I have worked on or am currently working on. Currently, I am mostly busy with Alpine Linux/postmarketOS and sxmo - a user interface for linux phones.

1. SFU Team Satellite

I was a part of the SFU Team Satellite from Summer of 2019 to Summer 2020. In 2020, I served as the power team lead. As a part the power team, I have helped develop the following things:

  • EPS module from scratch
    • Researched circuits for battery balancing
      • Simulated active balancing circuits - flying capacitor (simulink)
      • Simulated passive balancing circuits (simulink)
    • Designed circuits with e-fuse
    • Created PCB layout for battery balancing and monitoring circuits
  • Documenting design requirements of ALEASAT

2. Free Software Maintainer

2.1. Sxmo

Sxmo is a user interface for mobile linux. I am currently a co-maintainer of the project. I have contributed a number of fixes and programs to this project such as - the camera, autorotate, contacts, etc. For a list of my patches, click here.

2.2. Lift

Progression workout journal for multiple weight training programs.

Picture of lift's start page Setting page of lift with support for multiple workout programs Workout page of lift Workout log text file output from lift Timer to wait after you're done a set

2.2.1. Features:

  • Internet connectivity not required
  • Program’s progression and daily routine is handled by the app
  • Programs supported: Starting strength/5x5, 531 Big But Boring 3 month challenge, and Phrak’s GSPL (Modified)
  • Weight lifting data is saved as plain text org files
  • Allows user to use standard unix tools to manipulate and sync with programs like syncthing
  • Timer for how to long to rest for. Beeps at 1.5 minute intervals.

source code

2.3. Mobpass

mobpass is a mobile interface for gopass. I wrote the application in python3 using the pyqt framework.

2.4. fedi-go

fedi-go is a fediverse (social media) client written in go and qt.

2.5. XMPP errbot modules

I love xmpp and I programmed some modules in order to run repetitive tasks for which the output should be sent to multiple people.

ErrBot plugin to get and set scheduled reminders over chat.

A errbot plugin to get a random post from a subreddit

2.6. Student Society Websites

I have created a number of websites for my student society at Simon Fraser University. Please see msess.ca and systemsfair.ca

I have also setup an automated exam bank for SFU Mechatronic Systems Engineering students using github, jekyll, and travis.

3. Free Software Contributions

3.1. VoidLinux

Void Linux is my preferred operating system for general purpose desktop computers that require glibc and gnu coreutils.

I maintain multiple packages in the Void Linux software repository. I have contributed documentation for the VoidLinux handbook and wiki.

3.2. Alpine Linux and PostmarketOS

Alpine Linux and postmarketOS is my preferred distro for embedded devices and phones. postmarketOS is a touch-optimized, pre-configured Alpine Linux distro that can be installed on smartphones.

I maintain a couple of packages in the Alpine Linux software repository. I have contributed multiple patches for postmarketOS’ pmbootstrap utility. pmbootstrap allows users to install postmarketOS to their devices. I also contributed other patches to make postmarketOS easier to use.

3.3. Conversations

Conversations is a XMPP chat client for Android I have contributed multiple patches to the project.

3.4. Transportr

Transportr is a free public transport assistant without Ads or Tracking.

I added the British Columbia Canada public transport system to the transportr app.