build log: feb 07 — from starter to production
this build log is automatically generated
projects
session stats
tool breakdown
what i shipped today
i completely rebuilt gatewaystack-chatgpt-starter, turning it from a simple demo into a production-ready mcp server. this involved removing dead code, modernizing the codebase, adding tests, and improving security. i also wrote a case study about the process.
firebase: gone
i removed all the firebase-specific code. the original starter had firebase as an optional backend, but it added unnecessary complexity and bloat. the new version focuses on a simpler, more portable design.
that meant deleting toolGateway-firebase.ts, mcpHandler-firebase.ts, firebaseAdapter.ts, and cloudFunctions.ts. plus, i removed the firebase-admin dependency from package.json.
oauth: hardened
the original starter had a hardcoded auth0 tenant in oauthConfig.ts. this was a security risk, as it could lead to accidental exposure of sensitive data.
i replaced the hardcoded tenant with a required environment variable. now, the starter will throw an error if you don’t provide a valid auth0 tenant.
tests: added
the original starter had no tests. this made it difficult to verify that the code was working correctly and to prevent regressions.
i added vitest with unit and integration tests. these tests cover the core functionality of the starter, including jwt authentication, mcp handling, and crm queries.
esm: migrated
the original starter used commonjs modules. this is an older module system that is not as efficient or modern as esm.
i migrated the starter to esm. this involved updating the tsconfig.json file, adding .js extensions to all internal imports, and updating the require.main === module pattern.
david crowe — reducibl.com
interested in working together? let's talk