Sculpted Goddess thumbnail

Sculpted Goddess.

From a CS50 final project to a modern, full-stack fitness platform

Sculpted Goddess started as a data-driven nutrition and fitness web application, built as the final project for Harvard's CS50x Introduction to Computer Science course. Years later, it became a vehicle for something more: a full architectural rebuild in Next.js and TypeScript, demonstrating how legacy applications can be modernised without losing their core purpose. The project tracks personal fitness data, calculates macronutrient needs, and lets users search and save recipes — all rebuilt on a foundation designed to last.
Back to portfolio

Year

2025

Type

Web Application

Stack

Next.js, TypeScript, SCSS, libSQL, API integration, Authentication, AdobeXD

Role

Designer and Developer

A CS50 final project built in Python and Flask

-- THE ORIGIN

Sculpted Goddess was created as the final project for Harvard's CS50x Introduction to Computer Science course — a nutrition and fitness tool built to help women set up personalised meal plans and work toward their fitness goals.
The original version was built with Python, Flask, SQL, JavaScript, HTML, and SCSS. It connected to the Edamam Recipe Search API and handled user authentication, a macronutrient calculator, and recipe search and saving — all server-side rendered. The design was created in Adobe XD before a single line of code was written.
The application worked, but over time it became increasingly difficult to maintain and extend. The Python knowledge faded, the API integration aged, and the architecture wasn't built to scale. That gap between the original idea and what the technology could actually support became the motivation for a complete rebuild.
The original setup had served its purpose, but came with real long-term limitations.
  • Python/Flask stack no longer actively maintained
  • Edamam API integration needed replacing with MealDB
  • Architecture not designed to scale or extend
  • Original Adobe XD design file lost — rebuild required recreating from scratch

Starting with design — then and now

-- DESIGN CONCEPT

The original Sculpted Goddess was designed in Adobe XD before any code was written — a deliberate, design-first approach that carried into the rebuilt version. The visual language needed to feel strong and intentional: a platform for women who are serious about nutrition and fitness, not a generic wellness app. Clean structure, clear hierarchy, and a confident aesthetic that communicates trust and precision.
Sculpted Goddess original Adobe XD design concept

Original design concept — Adobe XD

Rebuilding the platform on a modern stack

-- REBUILD & ARCHITECTURE

The rebuild was not a cosmetic update — it was a complete re-engineering of the application from the ground up. The goal was to keep the core product logic intact while replacing the technical foundation with something modern, maintainable, and scalable.
The new stack uses Next.js with TypeScript for server-side rendering and type safety, SCSS for styling, and libSQL for the database layer. The Edamam API integration was replaced with MealDB, a free and actively maintained recipe API. User authentication, recipe saving, and the macronutrient calculator were all rebuilt with the same feature scope — but with significantly cleaner architecture underneath.
The rebuild focused on architectural quality and long-term maintainability.
  • Migrated from Python/Flask to Next.js with TypeScript
  • Replaced deprecated Edamam API with MealDB integration
  • Rebuilt database layer using libSQL
  • Preserved all core features: recipe search, saving, macro calculator, contact form
  • Added full TypeScript coverage for type safety and developer confidence
  • Redesigned the user experience for clarity and mobile responsiveness

What the platform does

-- CORE FEATURES

Sculpted Goddess is built around four main features: a recipe search powered by the MealDB API with individual nutritional data per recipe, a personal recipe library where logged-in users can save and revisit their favourites, a macronutrient and BMI calculator that takes personal data and fitness goals as input, and a contact form for direct client enquiries.
The platform is open to browse for anyone, but signing up and logging in unlocks the full feature set — recipe saving, personal data, and macro tracking. This structure keeps the barrier to entry low while creating a meaningful reason to register.
Sculpted Goddess live — recipe search and nutrition features

The rebuilt platform live — recipe search, nutrition data, and personal macro tracking

From Flask to Next.js — what changed and why

-- TECHNICAL EVOLUTION

The technical improvements in the rebuild are not simply about switching frameworks. They reflect a fundamentally different approach to how the application is structured, typed, and maintained over time.
Note: Python and Flask are excellent tools for many use cases. The decision to rebuild in Next.js was driven by the specific goals of this project: demonstrating modern frontend architecture, improving long-term maintainability, and aligning the codebase with the stack I use for client work.

Original (Python / Flask)

  • Server-side rendering with Flask
  • SQL database, no type safety
  • Edamam Recipe API (now replaced)
  • Plain JavaScript, no TypeScript
  • Limited architecture scalability

Rebuilt (Next.js / TypeScript)

  • Next.js with server-side rendering
  • libSQL database with TypeScript throughout
  • MealDB API — free, maintained, flexible
  • Full TypeScript coverage
  • Clean, scalable frontend architecture
Lighthouse performance scores — Python/Flask before vs Next.js after

Performance · Python/Flask vs Next.js (Lighthouse)

A structured SCSS design system built for consistency across the application

-- DESIGN SYSTEM

Sculpted Goddess is styled through a structured SCSS architecture: colors.scss, fontSizes.scss, and breakPoints.scss are imported into a central constants.module.scss that exports all design tokens directly to JavaScript components. Spacing, typography, breakpoints, and colour values are defined once and consumed throughout the application — no magic numbers, no repeated hex codes.
The typography system uses two distinct typefaces with clear roles: Cinzel (serif) for h1 headings — uppercase, high-impact, and fitting for the brand — and Open Sans for all body text, labels, and navigation. Font sizes are defined across three explicit breakpoints (mobile, tablet, desktop) via CSS custom properties set in globals.scss, giving every text element a consistent, predictable scale across devices.
Sculpted Goddess design system — colour palette and responsive typography scale

Design system · SCSS colour tokens and responsive type scale

A personal project that became a professional case study

-- THE OUTCOME

Sculpted Goddess grew from a course assignment into a real demonstration of how I approach complex problems: starting with design, building with intention, and being willing to rebuild something entirely when the foundation no longer serves the product.
This project reflects exactly the kind of work I do for clients — modernising legacy applications, migrating to scalable architectures, and rebuilding products without losing the core business logic that made them valuable in the first place.
The rebuild resulted in:
  • A fully modernised stack built on Next.js and TypeScript
  • Improved performance and Core Web Vitals
  • A clean, maintainable codebase built to extend
  • Active, maintained API integration via MealDB
  • A demonstrable example of modern frontend architecture for client conversations

Working with a legacy codebase that needs modernising?
Back to portfolio