Your Cart

Specializing in Innovative Software Development

Building products that people love

Innovative software developer and product manager with a proven track record of driving cutting-edge solutions that elevate user experiences and deliver exceptional results.


Revolutionizing Software Development Through Innovation

Competitive Advantage

Gaining the Competitive Edge

Machine Learning

 Proactively adopting and integrating emerging technologies, such as machine learning and artificial intelligence, to enhance software functionality, improve efficiency, and gain a competitive edge in the market.


 Employing agile software development practices to accelerate project timelines, improve collaboration, and deliver solutions faster than competitors.


Focusing on understanding customer needs and preferences to develop tailored software applications that exceed expectations, enhance customer satisfaction, and drive loyalty.

Continuous Innovation

Encouraging a culture of innovation, experimentation, and continuous improvement to stay ahead of industry trends and provide customers with cutting-edge software solutions.


Passionate about customer facing technologies, web tools and open source development. Interested in Security, DevOps, and Software Architecture.


From Concept to Creation

Alternative to Netlify and Vercel

Problem: Paying per user is getting expensive for a service that just hosts some static files. It’s not 2010 anymore so who wants to deal with nginx configs? Well luckily for you there’s a couple great solutions Cloudflare Pages Essentially a 1 for 1 replacement for Netlify and Vercel, plus it has a great free tier and then goes up to $20/month for more concurrent builds. It has build previews for all your pull requests, GitHub integration and you can

Read More »

Leetcode 1920. Build Array from Permutation in Golang We need to loop through the nums array and fill in a new array in the proper order. func buildArray(nums []int) []int { // Create a new array of the same size as nums ans := make([]int, len(nums)) // Loop through nums for index, _ := range nums { // Fill in the new array with the proper value from nums, // taken from the question ans[index] = nums[nums[index]] } return ans}

Read More »

Simple Input Form in React

Here’s how to create a basic form that takes in some user input and sends it off to a backend server. I’ve kept the sample up to date for React’s best practices in 2021, along with some comments to help you customize it for your needs. import React, { useState, useEffect } from “react”;import * as ReactDOM from ‘react-dom’const axios = require(‘axios’);const App = () => { // One state variable will hold the users input, and one for //

Read More »

Fixing “change_email script does not exist” on Auth0

If you’re seeing that error then you probably have a custom DB connection on Auth0, and the problem is that Auth0 could change the email for the user, but they don’t know how to change it on your database. The solution is to write a script showing Auth0 how to do it, similar to the login, create, verify scripts you have on the Database -> Custom Database page. Since this is a one time update, you can use the handy

Read More »

15 minute recap of a Defcon Talk on Containers

The talk is  “An Attacker Looks at Docker: Approaching Multi-Container Applications“ by Wesley McGrew and can be found here. My presentation at TASK Google Slides – create and edit presentations online, for free. Create a new presentation and edit with others at the same time. Get stuff done with or without an internet connection. Use Slides to edit PowerPoint files. Free from Google. create and edit presentations online, for free. Summary of the Content What is Docker? Docker is a

Read More »

Setting up Docker on your Computer

For Windows and Mac OS X there’s an easy new application called Docker Desktop that will contain everything you need, download it here. For Linux, just follow the guides here. If you want a GUI on Linux, and I would highly recommend it, install Portainer by running the following commands after installing docker: $ docker volume create portainer_data$ docker run -d -p 8000:8000 -p 9000:9000 –name=portainer –restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer Testing Docker After you’ve successfully installed Docker Desktop,

Read More »