A hands-on introduction to GraphQL APIs

Image of different GraphQL versions.
Image of different GraphQL versions.
Image by author

GraphQL is a query language for APIs. But what exactly does that mean, and how does it work? At its simplest, GraphQL is about asking for specific fields on objects. In this article, we will take a hands-on approach to quickly get started with GraphQL using AppSync, DynamoDB, and Postman. Let’s begin!

  • AWS
  • Postman
  • AppSync is a fully managed service on AWS that makes it easy to develop GraphQL APIs
  • DynamoDB is a fast and flexible NoSQL database service on AWS
  • Postman is a collaboration platform for API development


“Aha!” moments have to start from somewhere

Photo by Austin Distel on Unsplash

Delivering the right content, at the right time, to the right customer is becoming more critical in today’s digital marketing landscape. Consumers’ growing expectations are driving the need for brands to create faster, better, and more personalized experiences.

“Eight in 10 survey respondents say personalization is important to their organization’s strategy.” — Harvard Business Review (*)

Luckily for today’s marketers, it’s now possible to deliver on the increasing needs of both the consumer and the business. Marketing platforms such as SessionM have evolved to create highly targeted, personalized content, campaigns, incentives, and experiences that happen in real-time. But how does…

Useful Snippets for Common Use Cases

Photo by Jay Wennington on Unsplash

Pandas is a fast, powerful, flexible and easy to use open-source data analysis and manipulation tool, built on top of the Python programming language. (*)

Here’s a list of commonly used Pandas snippets for working with CSV files — mostly as a reminder for myself, but hopefully it can be useful for you, too.

Disclaimer: Please note that this is not an introductory article for beginners. I’m writing with the assumption that the audience is already familiar with using Pandas and Python.


  • CSV
  • Column
  • Row
  • Datatype
  • Null
  • Duplicate
  • Math
  • Filter
  • Sort
  • Group by
  • Join

Sample Dataset

The sample dataset that I will…

Break up that monolith CSV file

A cracked Easter egg with smaller Easter eggs spilling out of it.
A cracked Easter egg with smaller Easter eggs spilling out of it.
Photo by Laurentiu Iordache on Unsplash

In this article, we’ll go over how to split a large Excel file into multiple smaller files. The method we’ll be using is shell scripting.

Let’s Get Started!

The first thing you need is an Excel file with a .csv extension. If you don’t have one ready, feel free to use the one that I prepared for this tutorial with 10,000 rows.

The second thing you need is the shell script or file with an .sh extension that contains the logic used to split the Excel sheet. I’ve shared the shell script below, which you can either download or copy and paste into…

Make your life easier, every day

Photo by Morning Brew on Unsplash

If you use Google Chrome to browse the web — and most people do — these extensions or add-ons can help you work better.

Disclaimer: I am not affiliated or sponsored by any of the extensions below. Most — if not all — are free, have no bloat, no ads, and no unnecessary permissions. I love using them in my day to day life and hope that you can find them useful, too.

In no particular order, here are my top five Chrome extensions. I’ve included a link to each one below the images so that it is easily accessible.

1) Full Page Screen Capture

Use this format to create a shared understanding of why we do what we do.

Photo by Pavel Nekoranec on Unsplash. Modified by Songtham Tungkitkancharoen

User stories are short, simple descriptions of a requirement told from the perspective of the person who would like a new feature. They typically follow a common template that is used to foster alignment with the work at hand and is not limited to tech or agile teams.

In this article, we will cover:

  • User Story
  • Acceptance Criteria
  • Prioritization
  • Stretch Goals
  • Notes
  • Estimations

Do keep in mind that anyone can write a user story and not just PMs. But note that who writes a user story is far less important than who is involved in the discussions of it.


Now that one of the biggest NPM packages has been deprecated, what does that mean for your project?

Photo from npm.

As of February 11, 2020, one of the biggest NPM packages — Request — has been officially deprecated.

This popular library has been around for more than a decade, with the first version released in 2009. Since then, it has received more than 16 million weekly downloads and more than 47,000 libraries are dependent on it.

Why Would the Author Stop Development?

In his own words, original author Mikeal Rogers stated:

“The most valuable thing Request can do for the JavaScript ecosystem is to go into maintenance mode and stop considering new features or major releases.”

With the emergence of modern JavaScript and newer design patterns…

Original Photo by Andrew Neel on Unsplash. Modified by Songtham Tungkitkancharoen

Behind every successful product is a product manager. But exactly what is a product manager and what do they do?

A common response is that a product manager is someone who does product management. Take it a step further and one might say that product management is managing a product. But that’s simply not it.

Reducing the role to an autological phrase undermines the intricacies involved. At the core of product management is solving customer problems. And when you think about it, it’s not only the customer’s problems that you’re solving.

Build, fly, review, and iterate

Original Photo by Daria Nepriakhina on Unsplash. Modified by Songtham Tungkitkancharoen.

I became inspired to write this article after reading a book on Scrum written by one of the original creators himself — Jeff Sutherland. While the book mainly focuses on why teams should use Scrum, the author did mention how he uses paper airplanes to teach it.

As I read those words, I remembered one of my coworkers making paper airplanes in the office one day. I also remembered that one of my quarterly OKRs was to introduce the Agile methodology.

So, I put two and two together, tried it with my team on the following Monday, and the results…

Safely make changes to your production database schema

Original Photo by Barth Bailey on Unsplash. Modified by Songtham Tungkitkancharoen.

A migration in TypeORM is a single file with SQL queries to update a database schema. This is important to know as a database administrator, back-end engineer, or tech lead because it’s one of the safest ways for making database changes in production. In this piece, we’ll go over the best practices on how to perform migrations in MySQL with TypeORM.

This guide builds upon a previous piece that showed how to quickly get started with TypeORM, MySQL, and ExpressJS. If you don’t have an existing TypeORM project, I’d highly recommend for you to create one following the steps in…

Songtham Tung

Technical Account Manager | SF Native x BKK Resident 🇺🇲 🇹🇭

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store