Selected work

TG Starter Theme

A discontinued WordPress starter theme created to make bespoke theme development faster, cleaner, and more repeatable. It is kept here as a historical case study, not as a recommended foundation for new builds.

Role
Full Stack
Scope
2022 / Theme
Stack
HTML 5, CSS3, JavaScript, PHP
tg starter theme screenshot

TG Starter Theme

TG Starter Theme was a custom WordPress starter theme built around the way bespoke theme projects actually grow. It gave each project a cleaner foundation: structured components, predictable configuration, CLI generators, scoped assets, and performance-oriented defaults.

The project is now discontinued and is no longer actively developed or maintained. I keep it in the portfolio as a historical case study because it reflects the engineering priorities behind the work: repeatable structure, maintainable templates, controlled assets, and practical performance defaults.

For new WordPress projects, I would not start from this codebase today. The same principles still apply, but the tooling, dependency choices, and delivery model should be selected around the current project context.

Features

Helper Functions

The helper functions reduce repetitive theme markup and keep common WordPress patterns easier to read. They are designed to make templates cleaner without hiding the underlying logic from the developer.

Component Rendering

Components can carry their own PHP, JavaScript, and SCSS files. The theme only loads what a component needs, which keeps pages lighter and makes the codebase easier to navigate.

Dependency Management

The dependency system avoids loading scripts globally when they only belong to specific components or templates. That makes the frontend more intentional and reduces unnecessary payload.

CLI Generators

The CLI generates components, pages, archives, singles, and common template combinations. It keeps file structure consistent and removes a lot of manual scaffolding from day-to-day development.

Live Reload and Asset Compilation

The development workflow includes live reload, Sass compilation, and JavaScript optimization. That makes local development faster while keeping production assets smaller.

SEO Defaults

The theme includes practical SEO and performance defaults so new projects start from a healthier baseline. It does not replace content strategy, but it does remove common technical mistakes from the starting point.

Webfont Optimization

The font tools convert and compress webfonts, then generate the CSS needed to load them properly. The goal is simple: custom typography without careless font payload.

CLI workflow

The theme included a small CLI to generate common WordPress theme files consistently. It reduced repetitive setup and helped keep components, archives, pages, and singles aligned across a project.

tg start - Start watchers and the development server with live reload.

tg generate:component - Generate a new component.

tg generate:archive - Generate a new archive template.

tg generate:page - Generate a new page template.

tg generate:single - Generate a new single template.

tg generate:combo - Generate new archive and single templates.

tg optimise:fonts - Optimises all fonts inside the ./static/fonts directory.

Architecture notes

The theme separated concerns across components, configuration, source assets, static assets, archive templates, page templates, partials, and single templates. That structure made the project easier to navigate than a traditional custom theme where most decisions collect in a few large files.

The most useful pattern was component ownership. A component could carry its own PHP, JavaScript, and SCSS, then load only when it appeared on a page. That kept template files readable and made frontend payloads more deliberate.

The same thinking applied to image helpers and functions.php. Responsive image markup was centralized behind a helper, while core configuration lived in dedicated files instead of turning functions.php into a catch-all.

Current status

TG Starter Theme is discontinued. It should be treated as an archived project and a record of past WordPress architecture work, not as an actively maintained starter theme.

The important part of the project was not the specific stack. It was the working model: clear boundaries, predictable generation, scoped assets, and performance considered from the first implementation pass.