Reinforced Learning

Tips and tricks we've picked up along the way.

ChatGPTLLMs

Using AI To Create Website Color Themes

You might wonder how to quickly and effectively choose colors that create a cohesive and aesthetically pleasing design. I'll explore how I used AI, specifically ChatGPT-4o, to solve this problem by leveraging color theory principles to generate color schemes mathematically.

Emma Gerigscott

Software Engineer

AWSPartnership

Olio Apps Commits to AWS Partnership in 2024

We have decided to grow our partnership with Amazon Web Services through the Amazon Partner Network, focusing on designing, prototyping, and building Generative AI solutions with Amazon Bedrock and serverless development on AWS.

JobsWork

A Survival Guide for Your Team's Newest Developer

Joining a new team can be daunting. This article serves as a guiding light for developers joining new software teams or companies and is meant to improve your onboarding experience. It goes through an entire walkthrough of what to expect between different milestones at your new company, not to mention a comprehensive checklist of what you should be focusing on during your onboarding process. Have a look!

Jacob Irwin-Cline

Software Engineer

PhilosophyInternship

Providing a Rewarding Software Internship

Providing an internship to junior developers comes with a wealth of challenges and rewards. I share tips on creating a well-rounded internship for juniors while reflecting on our most recent experience hosting interns at a software consultancy.

Stormi Hoebelheinrich

Software Engineer

APIsPatterns

Implementing REST Hooks

Does your API need a REST from all that polling? You can improve real-time communication between web services using your REST API and the REST Hooks pattern.

Stormi Hoebelheinrich

Software Engineer

RemoteCulture

Going Remote: Entering New Territory as a Company and a Developer

Over the past year, Olio Apps has made a commitment to changing our company culture around working remotely. We’d seen other teams enjoy success by going fully or partially remote, but for us, working outside the office felt like an inconvenience. We wanted to change that, and we knew that we had the technology to make it a reality.

Stormi Hoebelheinrich

Software Engineer

Prototyping

Prototyping vs. Production Development: How to Avoid Creating a Monster

In a typical software life cycle, most projects begin as a bouncing baby prototype and later develop into a strong, trusted production application. At these two distinct stages of software development, the priorities, pace, and coding practices can differ greatly. Understanding these nuances and properly planning your prototype to transition into a product can save you a lot of time and money. And by protecting your bottom line, it can increase your chances of project success.

Stormi Hoebelheinrich

Software Engineer

WellnessWell-being

Developer Wellness

Wellness or well-being is the state of being comfortable, healthy, or happy. This state of well-being can exist in one's life as a whole, as well as in each arena of a person's life, eg. they have a state of well-being in their social life, their home life, their emotional life, and their work life as say, a software developer.

Frank Meza

Software Engineer

Sitkamodule

Reduce Redux Boilerplate with Sitka

Sitka is a small but powerful framework for state management. It organizes your application into modules, each managing a logical area of state. It builds on top of Redux and Redux Saga, giving you all the benefits of those tools without the boilerplate.

Aron Racho & Frank Meza

Software Engineers

HackathonLearning

The Olio Apps Inaugural Hackathon

Recently, Olio Apps took a little break from our regularly scheduled programming (😜) to do some hacking. We broke off into teams two, designed and built projects over the course of a pizza-fueled "work" day.

Stormi Hoebelheinrich

Software Engineer

Immersive RealityVR

A-Frame TypeScript Toolkit: Creating WebVR with TypeScript

We love TypeScript. I’ll get into the reasons why later. And we love virtual reality. Being able to create WebVR experiences has been a focus at Olio Apps this year. This lead us to create a set of tools to help developers to make A-Frame experiences using TypeScript.

Stormi Hoebelheinrich

Software Engineer

Immersive RealityVR

Magic Leap — First Impressions

Here at Olio Apps, we have taken the next step into the world of augmented/mixed reality and added a Magic Leap to our catalog. This decision was driven by our interest in the mixed reality space and the possibilities of the domain.

Jon Walz

Software Engineer

Immersive RealityVR

A-Frame + Redux: Writing VR Experiences connected to Redux

At Olio Apps, we are eager to present our first tool for creating scalable WebVR applications. Our experience engineering web and native apps along with our motivation to develop in the virtual reality (VR) and mixed reality (MR) space has brought us to create aframe-typescript-redux.

Stormi Hoebelheinrich

Software Engineer

InternshipLearning

The Olio Apps Internship Experience

When Cory and I decided the make the transition from our previous career fields to development, one of largest deciding factors in picking a code school was career services and job preparation. We both chose Epicodus because it offered an internship as part of the schooling process, which is how we were both placed at Olio Apps.

GitAutomatic Formatting

Automatic Code Formatting for Partially-Staged Files

I wrote git-format-staged to apply an automatic code formatter or linter to staged files. It ignores unstaged changes, and leaves those changes unstaged. When run in a Git pre-commit hook git-format-staged guarantees that committed files are formatted properly, and does not clobber unstaged changes if formatting cannot be applied to working tree files cleanly.

Jesse Hallett

Software Engineer

Problem SolvingAlgorithms

Pyramid of Doom - or - My Problem Solving Algorithm

We recently had a new intern at Olio Apps and during the first couple days they were given a mini coding exercise to work through. By way of Friday afternoon banter, this was extended as a challenge to the rest of us devs to come up with our own solution. I wanted to write down my approach to solving this problem because it may be useful for some student, intern or Jr. dev preparing for an interview.

Siggy Hinds

Software Engineer

MakeMakefiles

The Lost Art of the Makefile

I work on a lot of Javascript projects. The fashion in Javascript is to use build tools like Gulp or Webpack that are written and configured in Javascript. I want to talk about the merits of Make.

Jesse Hallett

Software Engineer

TypeScriptType-Driven Development

Type-Driven Development with TypeScript

I am always interested in making my coding process faster and more robust. I want to be confident that my code will work as expected. And I want to spend as little time as possible debugging, testing, and hunting down pieces of code that I forgot to update when I make changes to a project.

Jesse Hallett

Software Engineer

Documentation

The Value of Code Documentation

Code documentation is the collection of easy to understand images and written descriptions that explain what a codebase does and how it can be used.

Frank Meza

Software Engineer

Pull RequestChecklist

Pull Request Checklist

Pull requests are an essential collaborative tool for modern software development. I wanted to capture the kinds of questions a developer should ask themselves before asking another developer for a peer review.

BenchmarkingPerformance

Benchmarking and Optimizing Slow JavaScript

While writing about optimizing data for performance, I rewrote my transformation function a few different ways and benchmarked the performance of each. Wow! The results were surprising.

APIsMocking

Faster Iteration with Mock APIs

We frequently work on front-ends along side other teams building APIs. Sometimes those APIs are not yet available. But deadlines and sprint demos are approaching. Are we to sit around twiddling our thumbs? Nope!

JavascriptMap

JavaScript ES6 Map and Reduce Patterns

Over the past couple of months I've started to become a little bit more serious in applying functional programming techniques to my favorite client side language, JavaScript. In particular I've discovered the joy of using Map and Reduce.

Technical DesignPhilosophy

Technical Design

At Olio Apps, we use the technical design process to understand a problem, and to formally articulate a solution that is possible to validate with oneself and with one's collaborators.

JavascriptFormdata

FormData Fetch Gotchas

A few gotchas with the interaction between the FormData and fetch APIs, for those used to $.ajax and xhr.

Ryan Broughan

Software Engineer

Interested in working with us?