Frank
Frank is an upcoming tool for web designers + developers built for scanning websites during the QA process. It has a host of features, such as searching for 'Lorem ipsum' placeholder text, checking for dead links, and the ability to link a Figma design and cross-reference any differences between the live site and the initial design.
I am building this alongside Andy from Ninefold and Jack from toki, who I had previously worked with at Unearthed. Andy is the brains behind the UX / UI design, Jack is the mastermind behind the marketing (and the initial idea of this project to begin with) and I am in charge of implementing Andy's design into the frontend, as well as architecting the backend.
I designed the backend with an event-driven architecture / CQRS in mind. This ensures traceability in the future and will help with scalability as the platform grows. Nest JS has a very powerful CQRS library which I leveraged in the build for the command handling side. I chose to use tRPC for querying, due to its end-to-end type safety and seamless integration with Tanstack Query. To tie the two together, along with the frontend, I created a Turbo monorepo which contains shared Zod schemas and Prisma generated outputs to ensure consistency and to adhere to DRY principles.
All of this is pushed through a CI / CD pipeline via an AWS SAM template + GitHub Actions workflow. This required quite a bit of work since the backend is deployed to AWS Lambda (which isn't over the moon when you're trying to bundle large Prisma + Chromium binaries), so I decided to split it into a few separate Lambda instances and had to do a fair bit of pruning of files inside the workflow to comply with the 250mb size limit.
All in all, this is a very exciting project to be a part of and has already garnered a fair bit of interest from web designers / developers that we have mentioned it to. We are on track to start beta testing in the early summer of 2026!
GET IN TOUCH!
No matter the size of your project, reach out today and let's explore how we can create a tailored solution together.
