Carson Gibbons
July 11, 2017
It's a bird; it's a plane! No, it's just the latest installment of the Cosmic Developer Spotlight Series, where Developers serve as the Hero of our story. We sat down with Phil Andrews, a web application developer and JavaScript evangelist. Check him out on Twitter, Medium and enjoy the Q/A.
How long have you been building software?
I’m relatively new to the game, having started writing software a little less than three years ago. I needed some custom software for my company. The problem was that I didn’t know exactly what I wanted but I knew how expensive it would be
to have someone else build it and then always have to contract them back each time a change was necessary. So I decided to learn how to do it myself.
I started with Swift, then Python, then JavaScript. Haven’t looked backed since. In fact, I’m shutting down my previous company at the end of this month in order to split time between freelancing and personal projects.
What is your preferred development stack?
If it made sense I wouldn’t leave the Apple ecosystem. The tools (Xcode), the language (Swift), they’re just too good to not love. Particularly when they’re paired together. It’s very impressive the power Apple has put behind their
IDE.
But in the real world Node / Express / React are my everyday tools. JavaScript, written everywhere developers want to be. That really should be it’s tagline. For all my backend needs I use AWS. They handle all of my database, server, and storage components. My IDE is Atom. Again, if it worked the same for every language you can’t beat Xcode.
What past projects are you most proud of and why?
The second thing that I built was far too complex for my skillset. A multiplayer iOS trivia app. It came complete with matchmaking, global leaderboards, complicated game logic (It was more like chess and less like Trivia Crack), and almost the entire suite of mobile add-ons from payments to geolocation to push notifications. I was in over my head. Which was great as it forced me to learn an immense amount in a short period of time. The app, landing page, preview video, I wrote everything. It was a big weight off my shoulders when that came to a completion.
Talk a little bit more about your process for building apps in your world and vertical. How has Cosmic sped up your time to market for project delivery deadlines?
If I want to use all of my JavaScript toolbox to put together a beautiful blog, where should I store my content? I’m going to need to retrieve and update large portions of it frequently. Plus it needs to have rich-text editing and preservation capabilities
built-in to the dashboard.
The answer is the place where it takes the fewest lines of code to retrieve your pre-formatted content in a manner that is simple and flexible to work with.
That is a single endpoint that returns a bunch of objects (all of my blog posts) or just one object (one blog post). It’s at the top of every object page in Cosmic. Sending a get request to it will return a JSON response object that includes all of the associated content and metadata. And for me specifically, post body content is delivered in HTML form so it can be directly injected into a page.
That link being at the top of the page is great design. Copy and paste it into any browser and you can see the JSON object instantly. It makes testing and debugging very quick.
Two input boxes below that and there’s a full-powered editor. It toggles between WYSIWYG and straight HTML formatting. That allows you to easily add in custom classes or tags.
To top it all off Cosmic is platform agnostic. I can write a post once and access it from anywhere. One fetch request, one post. Or, one fetch request, all my posts. I don’t need to incorporate anything else into my project. No add-ons, no downloads, just a simple and effective content delivery system.
It was a few hours before I stumbled on Cosmic. But as soon as I played around with it for a few minutes I stopped searching. For content management of a blog or portfolio I can’t think of a better system. I’m already thinking about how to incorporate it into client projects since the interface is friendly to developers and non-developers.
What are some technologies you are excited about that you are using today, or want to learn more about?
I have bit hook, line, and sinker on React for frontend work. The next big project I’m working on is a dual-platform React Native app so I’ll be wading even deeper into those waters. To me, the really interesting stuff is in the world of AI.
Self-driving cars captivate me. The idea of not having to drive places will have a profound effect on society. I’m a full proponent of “If it can be automated, it should be automated”.
The personal project I’m working on right now relies heavily on machine learning. The more I incorporate it the more I realize just how far off we are from the AI we are all fictionally familiar with, i.e. Jarvis from Iron Man. The main problem is in processing power. I believe that we won’t get a stellar AI experience until we develop a new kind of CPU. But I digress. We’ll get there. Even just the fraction of AI that we have right now is really useful.
Cosmic Developer Spotlight Series
Developer Spotlight: Jason Price
Developer Spotlight: Abe Hendricks
Developer Spotlight: Brian Mullis
Developer Spotlight: Micah Walter
Developer Spotlight: Joe Tuson
Developer Spotlight: Coding Dojo
Developer Spotlight: Simple Media
Developer Spotlight: Jon Kalfayan
Developer Spotlight: Jon Bloomer
Cosmic is an API-first cloud-based content management platform that makes it easy to manage applications and content. If you have questions about the Cosmic API, please reach out to us on Twitter or join the community on Slack.