Nick Castro

Front-End Developer

Back-End Enthusiast

Android Developer

Problem Solver

Bad EDM Music Producer

Non-Stop Learner

Book Worm

Non-Stop Learner

Portfolio
(Click Logos for my projects)

HTML

NodeJs

Android

React

ReactJS

JavaScript/NodeJS

HTML & CSS

Android

DropSpot Chat(Android)

This is my DropSpot Chat-app, a location and time-based chat app. A fun variation on socializing with people within your general vicinity.
Some Tools Used in building DropSpot Chat:
  • - Google Firebase Database for Android
  • - Android Location Request Library
  • - Android Components:Fragments, RecyclerView, ViewPager, & PagerAdapter
  • - GeoFire (Firebase-based library for datapoint creation)
The basic idea is you can create a chatroom at your physical location and a pin/chatroom will be created on the map at your gps-coordinates. However, a few restrictions apply: You can only join a chatroom if you are presently within 1-mile of where it is located(where it was created). Also, chatrooms will expire and delete 24 hours after creation. This app would be fun for social districts and areas such as festivals, downtown distrcts, college campuses, etc .I encourage you to watch my demonstration of it on Youtube.
Source Code can be found on my Github
Download the app on the Google Playstore

Almost There (Android)

This is my Almost There app. It is a Location-based automatic text-notification app. It's essentially a hands-free way of notifying someone you are almost to their location, or you're "Almost There".
Some Tools Used in building Almost There:
  • - OpenCageData GeoCoder API service
  • - Retrofit for Network calls to OpenCageData API
  • - Permission Request for Dangerous permissions(Read/Send SMS, Location Requests, Read Contacts)
  • - Using a foreground service(over a bounded/background service) to run Location updates/requests(on Main Thread), since location updates on background threads are heavily restricted with new Android Oreo update.
  • - Broadcast Receiver to read then send automatic text message replies with distance
  • - Notification Manager and Notifications.
  • - Shared Preferences
This idea came about after a new Texting & Driving law was passed in my city. My sister would ask for rides from work pretty often, & her location is actually a bad place to text and drive in due to traffic, but I also didn't like arriving and parking & waiting for her to finish her 10 minute conversations to come outside. How it works is, you merely enter in someone's address, phone number, and choose a distance(such as 1 mile). Now shutoff the screen, place your phone out of reach, & when you are within 1 mile of that address, your phone will automatically send a text message notifying the rider that you are "Almost There". The rider can also text the word "distance" to the driver's phone, which will cause the driver's phone to automatically respond with the driver's approximate distance( e.g. "Nick is currently 2.7 miles away"). I encourage you to watch my demonstration on Youtube.
Source Code can be found on my Github
Download the app on the Google Playstore

Book Inventory Scanner app (Android)

This is my Book ISBN Scanner Inventory app. This app is handy for quickly & easily scanning books into a personal inventory that will store the book's author, title, and image of the cover. It can easily be updated to store extra information such as publication date, page length, genre, etc. Currently talking to a book-store charity about creating a version for their large inventory of books that get donated to them daily, which would require a central online depository/database, and would not be difficult to build.
Some Tools Used in building Book ISBN Inventory Scanner:
  • - MVP Design Pattern
  • - XML Parsing
  • - AsyncTask(for background tasks)
  • - NetworkCalls ( HttpUrlConnection() )
  • - MySQL database
  • - Android Recyclerview for Efficient List Layout
  • - Picasso Image Library
This app was made for the very specific situation of having a large amount of books you want to inventory and no technology for doing so except a pen, paper, and a smartphone. With this app you can throw away the pen and paper, and with android phone in hand you can turn its camera into a scanner, & any book with an ISBN barcode (sorry, fans of old leather-bound books) can scan the barcode & add it to a personal database for reference. It relies on the API provided by GoodReads.com for fetching book details via HTTP GET requests, and converts the HTTP response from its XML format into a managable Java Object for storing into the MySQL database.
Source Code can be found on my Github
Download the app on the Google Playstore

WalMart Scanner app (Android)

This is my WalMart Scanner App. This app was a fun build with a very practical use in developing it; it's used for keeping tracking of how much money you're spending as you shop at Wal-Mart to stay underneath your budget.
Some Tools/Concepts Used in building the Walmart Scanner App:
  • - WalMart's Open API (still in beta)
  • - HTTP GET Requests
  • - Conversion from JSON format to Java Objects
  • - Android HttpUrlConnection for Nework calls
  • - Android RecyclerView for List Layout
  • - MySQL database
Thanks to Wal-Mart developing their Open API, giving developers access to their product database, I was able to make a handy app for helping manage financial habits when shopping at Wal-Mart. This app which accesses an API utilizes HTTP requests and response processing(using Android's HttpUrlConnection networking class). The response data from Wal-Mart's end is in JSON format, which is converted into a managable Java Object. All the saved Wal-Mart products are saved in an Android MySQLite database on the phone's memory. Possibly because Wal-Mart's Open API is still in beta, some of the return results don't match in price to the physical store's price, or sometimes no product is found.
Source Code can be found on my Github
Download the app on the Google Playstore

NorthTexasFootClinic.com (HTML/CSS/SASS)

For this project I teamed up with my friend who handles SEO/AdWords. I was the web development half of helping generate this local podiatrist's web presence. We stepped away from his previous wordpress-based site and developed a custom and responsive theme, which he was very happy with and thanked us for reigniting his business. What was important was to implement his online-appointment portal as well as an easy Phone-Dial button for conversion. This was built with pure HTML, CSS, JavaScript, and SASS(via its Node.js library) in a NodeJS/NPM environment.

Vist at www.NorthTexasFootClinic.com

EvolvedFitnessNation.com (HTML/CSS/SASS)

Here I was contacted by a local Social Media Agency to build a Landing Page type site for a local Personal Trainer's new solo business. This site required a professional modern look to divert new customers to his free consultation form, and of course making it Responsive. This was one step in him building his brand and online presence. He was ecstatic about the finished product and our future work together. This was built with pure HTML, CSS, JavaScript, and SASS(via its Node.js library) in a NodeJS/NPM environment.

Vist at www.EvolvedFitnessNation.com

PatsDriveInn (Domain Purchase Pending) (HTML/CSS/SASS)

In Development - (visit www.NCastro.me/burgers for current progress)

This project is currently midway through development for a local Old Fashioned Burger joint. They currently have no website and I am helping them fill in a gap in their online presence. They have received good reviews on Yelp and Trip Advisor so I made it a point to highlight some favorable reviews and link to their existing online profiles. Designing the Responsive Layout is next on the list, as well as adding a fixed link for calling in orders from the home screen. This was built with pure HTML, CSS, JavaScript, and SASS(via its Node.js library) in a NodeJS/NPM environment.

View Progress www.NCastro.me/Burgers

NCastro.me (HTML/CSS/SASS)

This project was developed for a very Talented, Hard-Working, and Handsome local Developer to showcase his list of great projects (lol). Like all websites Responsiveness is a must these days. I added a few cute CSS tricks, such as a parallax image, slideshow, interactive category selection, which all utilized pure CSS/SASS and Vanilla Javascript. I'm very happy with the color scheme I chose, but think it can still be improved. This was built with pure HTML, CSS, JavaScript, and SASS(via its Node.js library) in a NodeJS/NPM environment.

Vist at - You're already here!

DropSpot Chat Web App Version

This is the Web App Version of my DropSpot Android Chat App. This functions the exact same way as the android version only for Browsers. It's modeled as a Single Page App built with ReactJS as the front end framework, React-Router as the login library, & of course Google's Firebase platform as the backend. It was initially styled with MaterialCSS a CSS-framework similar to Bootstrap. I'm currently in the process of overhauling the layout and designing it with pure CSS via SASS(css pre-processer). This React app was deployed on Heroku's Cloud Platform, but on the free-tier, so initial load time may be slow.

Vist at - www.DropSpot.club

QuoteBook Web App (& Chrome Extension)

This is another Single Page app built on the React Framework. It functions as a central open repository for people to submit their favorite Quotes by entering the author, entering the quote, and a choosing a color representing the category. I have also made a Chrome Extension from which people can submit quotes on the fly which I will submit to the Chrome Store for fun. This app, too, was built on the React Framework & styled with MaterializeCSS(CSS-framework), which I am redesigning via pure CSS/SASS. However, the backend for this project is a NodeJS Express Server which is connected to a MongoDB Database hosted on www.MLab.com. Both the React Front-End & NodeJS/Express Back end were deployed to Heroku's Cloud platform.

Vist at - www.QuoteBook.club

JavaScript & Node.JS

All Websites I've created(built in HTML, CSS, React, ExpressJS) were developed in the Node Development Environment making use of NPM(Node Package Manager) & various Node Packages, Scripts, & tools to develop them, and Vanilla Javascript was used for for various html manipulation and effects.
Some of my most used NPM Packages inlude: "live-server", "node-sass", "npm-run-all", "express", "lodash", "create-react-app"

Have a Project? Contact Me & Let's Build it