Toggl Invoice Generator Public
This was a quality of life improvement type of project for me. My team
and I use Toggl to track our hours for working remotely, but Toggl requires a premium
account for invoice generation, and even then, the invoices were not all that nice to
look at. Since I do not control the team account, I was left with having to generate
my invoices each week by hand.
This was a necessary evil, and often I dreaded having to do it. A lot goes into
proper invoice generation for our company - calculating each individual task's hourly
rate, calculating the total invoice cost and time, updating the appropriate dates and
payout periods, bumping the invoice number, etc... all in all, it would take me about
an hour or two every two weeks, depending on how many tickets I cleared that pay
period, but I always dreaded it.
So I decided one day that I was tired of generating the invoices by hand, and set out
to try and automate it for myself. Toggl's documentation is really nice, but the hardest
part was properly filling out my invoice template that I had gotten attached to over
After a few hours of trial and error (Python and DocX files don't like each-other when
tables are involved), I streamlined that process from an hour or two every two weeks
to about three seconds. Now it automatically pulls my work hours from the last two
weeks, using the Toggl API, generates the invoice, increments the invoice number,
totals the hours, calculates my hourly rate for each item I worked on and then
updates a local database with the relevant information for archival purposes. Now all
I have do to is drag the file into Google Drive, and send it off to my boss to get
The Toggl Invoice Generator is written in Python, and utilizes the
Toggl API, and a custom DocX template of my creation.
This was a little program I created, because I discovered that the
Linux torrenting client (Deluge) was a bit lacking in what I wanted it to do -
scheduled throttling being a big one, and as a result wanted to switch to
Transmission as my torrent client.
When I went to switch to Transmission, I realized that I had forgot to select a
setting in Deluge called "Make a copy of torrents", before adding some odd 200+
torrents. Instead of manually adding all 200+ torrents to the Transmission client, I
decided to figure out how to automate that process for myself & others.
This project was written in Python, and leverages the
Selenium Chrome Driver to automate adding magnet links to their web interface.
GroupMe Bot Private
This was a fun side project of mine.
I had a friend who kept getting kicked from our Fraternity GroupMe for posting
terrible memes, and he would subsequently be out of the GroupMe more than he was in it.
Instead of having to manually re-add him all of the time, I decided to create a bot
that would sit around, waiting for someone to get removed from the GroupMe. Once the
notification is received, the bot quickly cross-checks whether the removed userID
belongs to this particular friend - or myself, and re-adds them if so.
The GroupMe bot is written in Python using the GroupMe API and is
hosted on Heroku for free.
Inspectrum - Fire-safety Admin dashboard
Inspectrum was a unique project that I worked on under the direction of
a small non-technical team based in Philadelphia, PA. I worked remotely as he sole
developer for the team, communicating via Skype,
only meeting them in person once during our time together.
Inspectrum solved an issue that many of us would never know was an issue at all. When
you own a building, be it an apartment complex, warehouse, or corporate office
downtown, all fire-safety equipment (sprinklers, fire-extinguishers, etc...) need to
have a certified inspection on a particular time table based on the item. Inspectrum
gives it's users the ability to track upcoming inspection time-tables, replacement
costs, inspection logs, and much more.
Inspectrum is written in Angular 4, Typescript and
SCSS, while leveraging Firebase Realtime database
as its backend provider.