“Only Elephants Should Wear Ivory”....reads one of my favorite shirts of all time.
In the summer of 2016, I visited Masai Mara in Kenya, and the trip was transformative. Even my outdoor-hating self found unspeakable majesty in nature. The rhythmic coexistence of elephants and insects, lions and rodents, wildebeests and birds gave me a sense of beauty in a world of nature, unaffected by humankind.
Given my first-hand experience in the beautiful African savannah, I am unnerved to read that the population of African elephants has dropped by a startling 30 percent, that about 96 elephants are poached each day, that human beings still continually infiltrate, disrupt, and decimate this sphere of natural beauty. Indeed, during that same Africa trip, I paid a visit to the David Sheldrick Wildlife Trust sanctuary for orphaned elephants, where I spent hours playing with exuberant baby elephants (whose mothers had often been taken by poaching).
And it is for Jotto & Ambo & all the other babies who jumped on me that day that I created Elephantess.
Elephants are one of the only species in the animal kingdom that are matriarchal. The fierce mother elephant, popularly dubbed the "Elephantess," leads her clan and children to safety and security. The elephantess is an emblem of solidarity and power, and so it was the obvious choice for my app name.
What it does
Elephantess spreads activism for the cause of elephant protection - it gives users a way to foster an orphaned elephant living at DSWT from their mobile app and provides useful infographics that highlight the crux of our poaching plight. Through it all, the main goal is to simply give a voice to these living creatures, robbed of their parents by humans and therefore deserving great aid from humans.
How I built it
I built Elephantess as a native iOS app, written in Swift. To implement the database of orphans, I used csv extraction and a github library called CSV. Then, to implement the fostering feature, I employed both Stripe and Apple Pay to create a seamless payment mechanism for the user. Finally, to create the infographics and data, I employed invisible buttons and pop-up controllers.
Challenges I ran into
One of the greatest challenges I encountered was configuring Apple Pay - abiding by all the rules and restrictions while also not compromising user donations proved difficult. Even more, learning to interface with Stripe was a challenge in and of itself. Furthermore, parsing CSV files from Swift took a good chunk of my hacking time, as it required tools unfamiliar to me and data-formatting skills I picked up along the way. Another significant time-sink (and obstacle) was hand-selecting and importing profile photos of each of the orphaned elephants.
Accomplishments that I'm proud of
From creating Elephantess, I am most proud of was learning to use the PKPaymentAuthorizationViewController along with Apple Pay. As one of the most modern development tools, I am glad to have learned to cleanly use ApplePay (especially given the investment of time it took to pick up).
What I learned
The technical skills I picked up have already been mentioned. Indeed, I believe the biggest thing I learned was the ability to self-develop and self-debug. In all my experiences app-designing in the past, I had guidance to turn to when needed. However, with such time constraints as present at this event, I learned to self-identify errors and research solutions by browsing StackOverflow post upon post. Emerging from the experience, I feel equipped to be an independent and self-reliant developer.
What's next for Elephantess
I hope to solidify the Stripe & ApplePay program so that the donations can go directly to the DSWT rather than through a middle-man (to do this, I need to contact the DSWT organization first). I also hope to add greater informational features (graphs, tables, etc...). And, I hoped to add more nuance and choice for the user (i.e. donation amount choice, searching and sorting elephants, etc...)