UI/UX Case Study

A step-by-step process of taking an idea from wireframing to app launch

Newseon App — High Fidelity Prototypes

Design Process

  • Empathize: Define client needs; conduct user interviews
  • Define: Define problem statement
  • Ideate: Create brand guidelines
  • Prototype: Finalize brand guidelines and high-fidelity mockups
  • Launch: Soft launch; iterate before a wider Product Hunt launch

Empathize

Client Needs

The client wanted to launch an MVP on Product Hunt as soon as possible in order to validate the idea and the business model. This meant limited resources, a limited budget, and a much tighter design philosophy. The list of deliverables included:

  1. A polished Brand Guidelines document
  2. High-fidelity mockups of the mobile app (should…


Building Wealth

The cautionary tale of an overenthusiastic trader

Photo by Maxim Hopman on Unsplash

Nov 23rd was a tough day. I was drinking coffee next to my laptop trying to process how I lost $10K in a week. And all of it was my fault.

Making money is awesome. Making money by clicking just a few buttons — even more so. That’s what stock trading kind of feels like. Deceptively simple. Deceptive, being the key.

The year was 2017 and I had just started working for a Fortune 500 company in Toronto. I lived at home so there weren’t any real expenses to worry about and that meant I could look for ways to…


Golang Development, CODEX

Making REST API requests and handling responses

Photo by James Harrison on Unsplash

HTTP Requests are the bread and butter of any application. In this example, I will show you how you can make a GET/POST request using Golang.

We will use the jsonplaceholder.typicode.com API to make sample requests to.

Making a GET Request

package mainimport (
"io/ioutil"
"log"
"net/http"
)
func main() {
resp, err := http.Get("https://jsonplaceholder.typicode.com/todos/1")

if err != nil {
log.Printf("Request Failed: %s", err)
return
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
log.Printf("Reading body failed: %s", err)
return
}
// Log the request body
bodyString := string(body)
log.Print(bodyString)
}

Making a GET Request with Params

Let’s look at how we can add URL params…


Part 5 covers deploying your Stripe Application to Production using Heroku

Subscription Payments are the bread and butter of a SaaS application; it’s how you start generating revenue. In a well-implemented system, users need to first be able to change or cancel their plans, and second, undergo a trial phase to see if they would even like to pay for premium features. Typically, it’s a hassle to set these up. In this set of guides, we will go through all the steps required to build a complete Subscription Payments system for your SaaS app.

Source Code: https://github.com/bdcorps/stripe-subscriptions-nodejs

Live at: https://saasbase-pricing-advanced.herokuapp.com/

Part 1: Adding Basic and Pro subscription plans using Stripe

Part…


Part 4 covers accessing premium content based on a subscription plan

Subscription Payments are the bread and butter of a SaaS application; it’s how you start generating revenue. In a well-implemented system, users need to first be able to change or cancel their plans, and second, undergo a trial phase to see if they would even like to pay for premium features. Typically, it’s a hassle to set these up. In this set of guides, we will go through all the steps required to build a complete Subscription Payments system for your SaaS app.

Source Code: https://github.com/bdcorps/stripe-subscriptions-nodejs

Live at: https://saasbase-pricing-advanced.herokuapp.com/

Part 1: Adding Basic and Pro subscription plans using Stripe

Part…


Part 3 covers adding update and cancel plans via a Manage Billing Screen using Stripe

Subscription Payments are the bread and butter of a SaaS application; it’s how you start generating revenue. In a well-implemented system, users need to first be able to change or cancel their plans, and second, undergo a trial phase to see if they would even like to pay for premium features. Typically, it’s a hassle to set these up. In this set of guides, we will go through all the steps required to build a complete Subscription Payments system for your SaaS app.

Source Code: https://github.com/bdcorps/stripe-subscriptions-nodejs

Live at: https://saasbase-pricing-advanced.herokuapp.com/

Part 1: Adding Basic and Pro subscription plans using Stripe

Part…


Part 2 covers keeping track of Customer Billing information using Mongo and Stripe Webhooks

Subscription Payments are the bread and butter of a SaaS application; it’s how you start generating revenue. In a well-implemented system, users need to first be able to change or cancel their plans, and second, undergo a trial phase to see if they would even like to pay for premium features. Typically, it’s a hassle to set these up. In this set of guides, we will go through all the steps required to build a complete Subscription Payments system for your SaaS app.

Source Code: https://github.com/bdcorps/stripe-subscriptions-nodejs

Live at: https://saasbase-pricing-advanced.herokuapp.com/

Part 1: Adding Basic and Pro subscription plans using Stripe

Part…


Part 1 covers adding Basic and Pro subscription plans using Stripe

Subscription Payments are the bread and butter of a SaaS application; it’s how you start generating revenue. In a well-implemented system, users need to first be able to change or cancel their plans, and second, undergo a trial phase to see if they would even like to pay for premium features. Typically, it’s a hassle to set these up. In this set of guides, we will go through all the steps required to build a complete Subscription Payments system for your SaaS app.

Source Code: https://github.com/bdcorps/stripe-subscriptions-nodejs

Live at: https://saasbase-pricing-advanced.herokuapp.com/

Part 1: Adding Basic and Pro subscription plans using Stripe

Part…


Email Marketing

Engage and nurture your users with personalized messages

Automated email sequences are an incredible marketing tool for any startup. An email inbox is one of the few 1:1 marketing channels at your disposal. Use it well.

The Candymail NPM package allows you to send marketing email sequences directly from your Node.js server from a single JSON file. Think of it as a docker.yaml but for email marketing.

Let’s say we are building a brand new video editor for the web and looking to delight our new users. We can set up an Onboarding email sequence that welcomes our users and slowly introduces them to the platform.

Let’s get…


Landing page case study for a car salesman

Photo by LinkedIn Sales Navigator on Unsplash

At Three Times, we focus on building effective web development solutions to help our customers reach their target audience effectively.

This week we helped a car salesman bring his services to a website so he can deliver a personalized and online car buying experience to his clients — all handled without them having to go into the dealership.

We also streamlined his sales process, automating 75% of the manual workload by using Google Sheets, Calendly, and Mailchimp, combined together with Zapier. Read about how we did that in Part 2! (Coming Soon)

Project Objective

  1. To build a landing page that highlights the…

Sukhpal Saini

Build SaaS products — https://saasbase.dev/

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