All projects
toolProfessionalInternal tool

Internal Project Starter

A codemod-driven starter for web products with common authentication, administration, organization, and payment foundations.

Reusable project modules connecting into an abstract starter template.
Role
Senior Software Engineer
Date
2021–2024
Status
Internal
Context
Swovo, formerly Flatirons · Professional work
Built with
Next.js · NestJS · TypeScript · AWS · Amazon Cognito · Stripe · Codemods

tool

Full case study

About the project

The Internal Project Starter was a codemod-based way to begin new web products from a stronger foundation than an empty repository.

We already had an extended template with common product needs, so the goal was to make those pieces easier to select, configure, and reuse without copying a large project and deleting half of it afterward.

What it included

The starter covered things that appeared repeatedly in client work: Amazon Cognito integration, admin panels, organization structure, user management, and Stripe payment integrations. The main stack was Next.js, NestJS, TypeScript, and AWS.

These are not exciting features to rebuild at the beginning of every project. They are also important enough that rebuilding them quickly can create expensive mistakes.

Why codemods

Codemods gave us a way to turn a template into something more intentional. A new project could start with the pieces it needed while still producing normal code the team could understand and own.

The difficult part of a starter is not creating the first version. It is keeping the abstraction useful as real projects ask for slightly different things. The work taught me to be careful about what should be standardized and what should remain flexible.

I learned a lot about codemods, abstract syntax trees, and how TypeScript works underneath the code we normally write. Instead of only changing strings in files, I had to understand the structure the compiler sees and make transformations that preserved valid code.

That knowledge later helped me while developing Tua. The projects are very different, but the experience of reading, transforming, and reasoning about source code carried directly from this internal tool into my own language work.

Internal work

The source and documentation are private. The cover is original artwork made for this portfolio, not an image from the tool.

01 / 01

Internal Project Starter

Article image

Project gallery