2
0 Comments

Graphic Artist makes APIs

I always wanted to mess around with programming. I studied International Relations and right after that, at the beginning of my working days, I started out as a Logo designer, continued as a UI designer, then moved to front-end development and ultimately I ended up being a graphic artist for a board game company called Final Frontier Games. Obviously, zero coding at the current workplace. Although I really enjoy doing my current job, I needed to find a way to keep this feeling of satisfaction when I'm coding.

During my spare time while working as a graphic artist, I've been tinkering and creating a few side projects in Python / Django. These are basically some tools that are supporting some of the internal processes of my company, such as board game rating tracking (I guess I will release an API for this soon), crowdfunding backers management and so on.

While working on these, it should be obvious that I watched a ton of tutorials and tips & tricks videos related to the technologies that I've been working with, subscribed to several YouTube video channels that were truly helpful and interesting.

Although I am trying to focus on one particular thing at a time, and stay away from the clutter which YouTube will provide once you start watching videos on a particular topic, I started getting recommendations for different technologies, programming languages, frameworks and so on.

Lately, I've been getting video recommendations for Node.js and API creation, and although from different creators, most of them were quite repetitive - here is Node.js, here is how you can build an API, and here is how you can publish it on services such as RapidAPI.

Even though Python and Django are of my primary interest for quite some time now, these videos kinda kindled my curiosity and I gave it a try.

So far, there are two APIs that I have created and I am sharing both of them here, in case any of you find them useful in your future endeavors.

1. Earthquake Monitor API

Link to the API at RapidAPI

This API has three endpoints available and these endpoints will return the most recent and the most significant earthquakes, as well as the testimonies by witnesses for a particular earthquake. The returned data by this API is based on the data of the European-Mediterranean Seismological Centre.

Get Recent Earthquakes endpoint

/recent

This endpoint will return the most recent earthquakes. Here is a response example:

{
"event_number":"1064854"
"link":"https://www.emsc-csem.org/Earthquake/earthquake.php?id=1064854"
"date":"2021-11-20"
"time":"22:42:58.6"
"time_ago":"27min ago"
"latitude":"6.69 N"
"longitude":"126.65 E"
"depth":"100 km"
"magnitude":"4.9"
"magnitude_type":"Mw"
"location":"MINDANAO, PHILIPPINES"
"testimonies":""
"testimonies_link":""
"updated":"2021-11-20 23:01"
}
...

Get Significant Earthquakes endpoint

/significant

This endpoint will return the most significant earthquakes. Here is a response example:

{
"time":"22:06:40"
"timezone":"UTC"
"time_ago":"1hr 03min ago"
"location":"NEAR COAST OF ECUADOR"
"region":"Guayas, Lomas de Sargentillo"
"nearest_city":"22 km WSW of El Triunfo (Ecuador) Local time: 17:06"
"magnitude":"4.6"
"effects":"Moderate M4.6 felt earthquake (sismo) shakes Near Coast of Ecuador."
}
...

Get Earthquake Testimonies endpoint

/testimonies/{eqId}

This endpoint will return all testimonies (if available) for a particular earthquake. Event number is available in Get Recent Earthquakes endpoint's response, and this event number can be used as earthquake id (eqID) for this endpoint. For example - /testimonies/1064848

Here is a response example:

{
"witness_location":"El Triunfo (Ecuador) (17 km E from epicenter)"
"testimony":"Algo fuerte.Comenzó levemente."
},
{
"witness_location":"Santa Lucía (Ecuador) (24 km SE from epicenter)"
"testimony":"Leve"
},
{
"witness_location":"Guayaquil (Ecuador) (29 km SE from epicenter)"
"testimony":"Fuerte pero corto"
},
{
"witness_location":"Eloy Alfaro (Ecuador) (32 km E from epicenter)"
"testimony":"Short & weak"
},
{
"witness_location":"Eloy Alfaro (Ecuador) (33 km SE from epicenter)"
"testimony":"Short but shaky"
},
{
"witness_location":"Píllaro (Ecuador) (194 km NE from epicenter)"
"testimony":"Se sintio levemente a quien Ambato   - 300 km de Guayaquil."
}
...

2. Crowdfunding Hot List API

Link to the API at RapidAPI


This is actually the first API that I have created by using Node.js. This API has 2 endpoints and 16 categories available. These endpoints will return the most recent data for the popularity of ongoing crowdfunding project campaigns. The returned data by this API is based on the data of the daily hot list at Kicktraq.

Get All Projects endpoint

/all

This endpoint will return all of the projects of various categories which are available on the daily hot list.

Here is a response example:

{
"rank":"1"
"title":"Hegemony: Lead Your Class to Victory"
"link":"https://www.kicktraq.com/projects/hegemony/hegemony-lead-your-class-to-victory/"
"image":"https://ksr-ugc.imgix.net/assets/035/527/071/e4dc3bbba26799e02209dee1efa34f6e_original.jpg?ixlib=rb-4.0.2&crop=faces&w=160&h=90&fit=crop&v=1636497223&auto=format&frame=1&q=92&s=800530a016f2218fa1fd7d44b68f183b"
"category":"Games"
"subcategory":"Tabletop Games"
"goal":"€15,000"
"funding_percentage":"2888%"
"list_place_changes":""
"new_project":false
"time_left":"2 weeks to go"
},
{
"rank":"2"
"title":"Dutch Resistance: Orange Shall Overcome!"
"link":"https://www.kicktraq.com/projects/orange-shall-overcom/dutch-resistance-orange-shall-overcome/"
"image":"https://ksr-ugc.imgix.net/assets/035/463/425/5e256d3b79760cc808f09938bd6618a4_original.png?ixlib=rb-4.0.2&crop=faces&w=160&h=90&fit=crop&v=1635976475&auto=format&frame=1&q=92&s=575ba6de5ba140c682da6c6e95a10dd2"
"category":"Games"
"subcategory":"Tabletop Games"
"goal":"€8,800"
"funding_percentage":"217%"
"list_place_changes":""
"new_project":false
"time_left":"3 days to go"
}
...

Get Specific Category Projects endpoint

/{category}

This endpoint will return the projects from a specific category which are available on the daily hot list. To retrieve data for this endpoint, the following categories are available:

•    art
•    comics
•    crafts
•    dance
•    design
•    fashion
•    film-video
•    food
•    games
•    journalism
•    music
•    photography
•    publishing
•    music
•    technology
•    theater

Here is a response example for the Games category:

{
"rank":"1"
"title":"Hegemony: Lead Your Class to Victory"
"link":"https://www.kicktraq.com/projects/hegemony/hegemony-lead-your-class-to-victory/"
"image":"https://ksr-ugc.imgix.net/assets/035/527/071/e4dc3bbba26799e02209dee1efa34f6e_original.jpg?ixlib=rb-4.0.2&crop=faces&w=160&h=90&fit=crop&v=1636497223&auto=format&frame=1&q=92&s=800530a016f2218fa1fd7d44b68f183b"
"category":"Games"
"subcategory":"Tabletop Games"
"goal":"€15,000"
"funding_percentage":"2888%"
"list_place_changes":""
"new_project":false
"time_left":"2 weeks to go"
},
{
"rank":"2"
"title":"Dutch Resistance: Orange Shall Overcome!"
"link":"https://www.kicktraq.com/projects/orange-shall-overcom/dutch-resistance-orange-shall-overcome/"
"image":"https://ksr-ugc.imgix.net/assets/035/463/425/5e256d3b79760cc808f09938bd6618a4_original.png?ixlib=rb-4.0.2&crop=faces&w=160&h=90&fit=crop&v=1635976475&auto=format&frame=1&q=92&s=575ba6de5ba140c682da6c6e95a10dd2"
"category":"Games"
"subcategory":"Tabletop Games"
"goal":"€8,800"
"funding_percentage":"217%"
"list_place_changes":""
"new_project":false
"time_left":"3 days to go"
}
...

Although the ideas for these APIs are not that extraordinary, I had real fun creating them and hopefully you will find some use of them.

Here is a link to my RapidAPI profile, in case you want to check for extraordinary APIs in the future :)

Also, if you find these useful, please let me know. Or if you have some idea for an API (or anything UI design / Front-end / Python / Django related, really) as a side project, on which you may need a collab partner, I will be more than happy if you contact me and assemble something together.

Thanks for reading so far. Stay safe!

Trending on Indie Hackers
After 10M+ Views, 13k+ Upvotes: The Reddit Strategy That Worked for Me! 27 comments 🔥Roast my one-man design agency website 18 comments Launch on Product Hunt after 5 months of work! 16 comments Getting first 908 Paid Signups by Spending $353 ONLY. 13 comments Started as a Goodreads alternative, now it's taking a life of its own 12 comments I Sold My AI Startup for $1,500 and I'm Really Happy About It 11 comments