Date: Wed 25 May 2016 By: Adi Ultra  # Category: software

Tags : cpp productivity


Todx, A journey

I recently(not today, a couple of weeks till today) created a productivity app named TodX. Well It was and is a adventurous journey. I am taking a little time off and writing this blog highlighting the sweat I have shred in the exhosting and tiring programming, designing and documenting the app.

First of all, those of you who are intrested about the app can find it here : TodX and the source code on github.

Pre programming era

This was a huge span of time, where at first thought only one thing : What To Make. Yep, It was pretty hard. Actually the app had to be my school's Project for c++ programming. And like most of my classmates I really wanted to make a wonderfully amazing app. But since the knowledge we gained about programming in c++ was mostly commandline thus we were (Or I was) unable to create a full fledged(<-whatever be the spelling) GUI app.

Also I knew I could never make a Bank Management or Train Management app. Not that It was hard (Our teacher already provided us with a sample project for bank management), But It was very very very ... (n times) boring. And totally Unusable. (How many of us use a bank management app in our daily life?)

Thus, After a lot of thought I decided to write a simple Note taking app. But It became hard since I had to deal with lots of strings and it was simply too cumbersome writing notes through the commandline rather than just opening a text editor and jotting it down. Hence this Idea was descarded. (Those of you with bold heart can and may be would choose the above Idea, But beware of the dangers you'll face).

My second thought was of a ToDo app. It wasn't very difficult since I already had a mind makeup for something textual. Also the two apps, Note Taking and todo don't have much of a difference. The better part of this decsion was that I didn't had to worry about long pieces of text, thus user entry was smooth and file management was simple and easy.


Suprisingly for many of you, this was and is the easiest part of the whole journey. Once I knew what I wanted to program It came out naturally from my fingers to the keyboard to the screen to the compiler and finally to the binary. With a few days of furious logic creation, testing a few inovative algorithms, I had created a usable version of the app. Frankly, This part of journey never complained. Easy Peasy.

Website and Icon

This was a little confusing time taking and inovative part. Here I borrowed from my previos project esencia and did a little changes to scss to get Beautiful website shown below :

website screenshot

You can visit it here website

And yes Remember to scroll down.

The website is a bit flatter and less shadowy than the initial esencia theme. The colour scheme is fantastic and is composed of the following two colours #FFD05D and #F06C6C. The Icon follows similar styling and is shown below :

icon of todx

At first I designed an awfully ugly and complicated icon which included almost everything I thought of, pencil, paper, tick on checkbox, notebook, the name TodX and a lot more. It was really disastrous. Later I simplified the Icon to a single color background and a checkbox. After trying linear-gradient(one of the new things I learned) in css, I applied a gradient in the background of icon. And Viola the beauty defines itself.


You can find documentation of TodX on : Read the Docs

Although I have spent only two days documenting till today it has already been the most complicated and extremly painfull part. I could have used the github's wikis to write documentation and It would have been just fine. But with the efforts I put in there with making the app, fine just doesn't cut it. I then dived deaper with Read the Docs. It was a lot new, since I had never documented a project, let alone the online documentation part.

I learned about sphinx a document generator which can generate html, pdf, epub etc from reStructured text (I was first scared about the formatting). I quickly switched to MkDocs for writing the documentation in Md(markdown, also used in writing on this blog) rather than reSt. I then saw my fav markup language fail me for the first time. Md was simply not designed for documenting things, it was ment to be a simple format to write prose. Infact a lot of features we see in markdown are extended versions of the orignal version.

After the blow of Md, I switched again to sphinx and reSt. After that It was a pleasent journey.

I have skipped above the part that involoves Read the Docs. Well it is a service (online) that allows you to store html(and pdf and epub) builds of you documentation online and thus serve it to the users. It is a very amazing service that I appreciated at first sight. You can read its docs to find out more.

The end and beyond

I have described a lot of my journey here, but it isn't complete and is ongoing. Expect a few more blogs on the same journey.

What I plan for next is :

  • adding search feature to the app
  • expanding documentation
  • writing a python version
  • completing holiday homework(completly unrelated but unfortunatly necessary)

See ya.


Color Pack 1

Date Tue 19 April 2016By Adi Ultra


The Amazing Color Pack

Color Wheel

I struggled with choosing color for almost all of my projects but in the end they turned out fine, But Fine no more I now have created a palette to store all the colors found around the web in dazzling palettes. I have also Added my ...


Using Github Releases

Date Mon 28 March 2016By Adi Ultra



Releases are a feature of github that allow developers to ship binaries for download so that the users of the software don't have to compile the source code and the developers don't have to add binary files to their repos.


In this article Release means a ...


Beginner's Guide to Github

Date Mon 21 March 2016By Adi Ultra


Github : A Beginner's Guide

Github image

This article is for those who know how to code and are new to github, and git in overall. This article provides a subtle intro for git and its hosting service Github.

git - The project management tool

Git is a command line tool for source ...


Setting Up Pelican

Date Sat 06 February 2016By Adi Ultra


How to setup Pelican

This a the setup of pelican, the static blog creator, which converts markdown to static html pages.

First off, Pelican is a command line tool, But don't scream, its perfectly sane and doesn't require your ninja skills to do cool stuff.

1. Installing Pelican ...



Date Tue 19 January 2016By Adi Ultra



The Universal Messenger

There is a lot of growth in the area of communication, and now messaging services are extremely popular. Telegram is one of them, and also one of the best. It is Open Source, blazingly fast, amazingly secure, and completely free. It is also cross-platform so you ...


A Light intro to Markdown

Date Fri 15 January 2016By Adi Ultra


Markdown = Simpler HTML

Markdown created by the John Gruber, is simple text which is friendly to the eye and with an added benefit, it converts to HTML. Although not by itself, you need a program to convert it. But it is very easy to implement, read on. Many modern blogging ...


My Prime Fav

Date Sat 26 December 2015By Adi Ultra


73 - The Prime

Sheldon: "The best number is $73$. Why? 73 is the 21st prime number. Its mirror, 37, is the 12th and its mirror, 21, is the product of multiplying 7 and 3... and in binary 73 is a palindrome, 1001001, which backwards is 1001001."


Leonard ...