A behind-the-scenes look at DigitalSurgeons

Midjourney AI rendering of a daisy in a very artsy way.
ai

Q2 '23 - Webflow, AI

The team experimented with Webflow + Next backend to ship a lightweight AI app.

Launching

  • Launched the ai-powered creative-director app, heydaisy.app.
    • OpenAI's GPT-3.5-turbo API powers the content generation.
    • Next's API endpoints powers the backend running on Vercel.
    • The API runs on Vercel's Edge network for the best performance.

Exploring

  • Vercel's new AI package
    • Why does npm i ai matter?
      • Mini ai-powered apps like dAIsy will be easier than ever to ship.
      • The barrier for teams to build internal ai-powered apps is getting lower by the day.
  • OpenAI's new functions API
    • How does the functions API change things?
      • Chaining API calls between OpenAI and other services is now easier than ever.
      • Getting robust JSON reponses back from OpenAI is greatly simplified.
MidJourney AI rendering of a computer chip in blue and red with futuristic elements.
ai

Q1 '23 - New SaaS CMS platforms of choice.

We've been big fans of headless sites for the past several years. We're committing further to this no-cloud vision by moving away from CraftCMS and manual server configuration/management, to platforms like Builder.io, Hygraph, and Webflow for SaaS CMS experiences.

With Next + Vercel being our stack of choice, we are beginning to test Turborepo out on projects. It has strong performance and should streamline projects hosted on Vercel.

Dropping

  • CraftCMS
    • Costs: Manual server configuration/management. Team needs to be familiar with PHP.
    • Benefits: Very affordable to run for the number of features it provides.
    • Consensus: The time spent managing servers and the requirement for web developers to also know PHP made CraftCMS expensive in the big picture.

Embracing

MidJourney AI rendering with a firey rainbow colored crystal emerging from the ground.
ai

Q1 '22 - Moving from Vue + Nuxt to React + Next.

Vue has been a popular choice among the team; however, after spending the past year with both Vue/Nuxt and React/Next projects in parallel, we've decided to go all-in on React/Next.

Reasons:

  • React's popularity simply makes it easier to find developers. Opening up DS's team expansion options.
  • Our headless hosting platform of choice is Vercel, we ran into obscure issues with Vue/Nuxt on Vercel that impacted our ability to deliver stable web experiences. React/Next is a first-class citizen on Vercel.

Dropping

  • Vue + Nuxt

Embracing

  • React + Next
AI art of firey lava contained in a glass ball that is sitting on glowing coals.
ai

CraftCMS 3 — Modules and Plugins

Cory talks about the key updates in CraftCMS 3, focusing on:

  • The update to Yii 2
  • Transition to composer-based package management
  • Yii's centralized "App" structure adoption

Cory discusses the differences between modules (native Yii modules accessing CraftCMS services) and plugins (extensions on modules with extra features). He offers guidance on when to use each based on factors like code reusability, quick functionality, and project-specific code.

Read about CraftCMS 3 on Medium (4 min read)

Written by Cory Zibell, Technology Lead at Digital Surgeons.

AI art of rainbow colored transparent blocks stacked randomly in a dimly lit room.
ai

Empowering Developers & Publishers with Next.js, GraphQL, & Prismic

Adam shares the team's experience integrating Next.js and GraphQL with Prismic. Prismic's innovative "content slicing" feature allows for the reuse of custom components.

The team utilized Prismic's GraphQL API and Integration Fields feature for syncing Eventbrite data. To enhance performance, we tapped into Next.js' data prefetching capabilities, providing a nimble, yet dynamic user experience.

The team has open-sourced the ThinkFWD codebase, offering a glimpse into our approach and solutions.

Read about Prisimic and serverless on Medium (4 min read)

Written by Adam Soffer, Software Engineer at Digital Surgeons.

AI art of an isometric shop with neon lighting.
ai

The Most Accessible Colors

Cory expresses his preference for named CSS colors over hex values, citing their human-centric nature and mental accessibility. Cory shares his recent discovery of an online tool that generates accessible color schemes and talks about the creation a GitHub repo and NPM package combining this tool and named CSS colors.

Read about accessible colors on Medium (1 min read)

Written by Cory Zibell, Technology Lead at Digital Surgeons.

MidJourney AI rendering of a splash of orange and navy paint in an aesthetically pleasing way.
ai

Simple Cache Busting/File Revving with MD5 and Server Rewrites

Dan's article provides an in-depth analysis of "cache busting", a technique for forcing users to download the latest versions of scripts, styles, and images. He discusses the conventional method of implementing cache busting via query parameters and its potential to limit optimal website performance due to its inability to account for proxies between servers and users' browsers.

Read about cache busting on Medium (5 min read)

Written by Dan Poulin, Chief Technology Officer at Digital Surgeons.

MidJourney AI abstract rendering of a circle-shaped thing with colorful lights in it and high tech it's looking. Looks liek the Apple HQ lit up at night if it was made of giant, rainbow-colored confetti.
ai

How to set up a local development environment for serverless Next.js apps on Now v2 with Node.js lambda functions

Jake explains how to deploy serverless applications and lambda functions using Now v2 and provides tips for running a Next.js app with Node.js lambda functions locally. He also shows how to handle absolute URLs both locally and on live deployments, using the next-absolute-url module.

Read about serverless, Next and lambdas on Medium (5 min read)

Written by Jake Burden, Software Engineer at Digital Surgeons.

MidJourney AI rendering of a colorful topological map that looks very techy.
ai

WKT, GEOJSON, and Google Maps

Jake tackles visualizing Connecticut voting districts on Google Maps by converting "well-known text" (WKT) multipolygon strings from public datasets into GEOJSON using Esri's terraformer-wkt-parser. He incorporates the GEOJSON into Google Maps, adjust the scheme to fit Google Maps, and find the visual center of the multipolygon string using Mapbox's polylabel, resulting in successful data layer rendering.

Read about WKT, GEOJSON, and Google Maps on Medium (5 min read)

Written by Jake Burden, Software Engineer at Digital Surgeons.