Skip to content

Comments

ENG-8877: Low code page#1760

Open
carlosabadia wants to merge 3 commits intomainfrom
carlos/low-code-page
Open

ENG-8877: Low code page#1760
carlosabadia wants to merge 3 commits intomainfrom
carlos/low-code-page

Conversation

@carlosabadia
Copy link
Collaborator

No description provided.

@linear
Copy link

linear bot commented Feb 23, 2026

@greptile-apps
Copy link
Contributor

greptile-apps bot commented Feb 23, 2026

Greptile Summary

Adds a new "Low Code Migration" marketing page at /migration/low-code with hero, company testimonials, and comparison sections. Updates the navbar "Switch from No Code" link to point to this new page. Also removes pricing_cards from the hosting page as an incidental cleanup.

  • Placeholder content throughout: The quotes section (quotes.py) has all 4 companies showing identical OpenSea data, and the comparison section (compare.py) has all 5 categories using the same pros/cons text. The cons column even contains positive statements ("No limits on complexity", "Customizable templates"). This page is not ready for production as-is.
  • TypedDict mismatch: CompanyInfo TypedDict is missing the image field that is present in all data entries.
  • Misplaced copy: The compare section subtitle reads like a careers page blurb rather than migration comparison copy.
  • Structural code is solid: The page routing, component composition, asset organization (light/dark SVGs), and navbar integration all follow existing codebase patterns correctly.

Confidence Score: 2/5

  • The code structure is sound but the page ships with extensive placeholder content that would be visible to users.
  • While the technical implementation (routing, component structure, asset management) is correct, the page has pervasive placeholder content: identical testimonials for all 4 companies, identical pros/cons for all 5 comparison categories, cons that read as pros, and a misplaced careers-page subtitle. There's also a TypedDict type mismatch. These issues mean the page would display clearly unfinished content to users.
  • pcweb/pages/migration/low_code/views/quotes.py (placeholder data and TypedDict mismatch), pcweb/pages/migration/low_code/views/compare.py (placeholder pros/cons and wrong subtitle copy)

Important Files Changed

Filename Overview
pcweb/pages/migration/low_code/init.py New page definition at /migration/low-code with proper meta tags, navbar, and layout composition. Structure follows existing patterns.
pcweb/pages/migration/low_code/views/init.py Standard re-export module for the three view components.
pcweb/pages/migration/low_code/views/hero.py Hero section with floating logos and CTA. Clean implementation with proper dark mode support and responsive classes.
pcweb/pages/migration/low_code/views/quotes.py Company testimonials section has two issues: CompanyInfo TypedDict is missing the image field, and all 4 company entries contain identical OpenSea placeholder data.
pcweb/pages/migration/low_code/views/compare.py Comparison section has all 5 categories using identical placeholder pros/cons, cons list contains positive statements, and the subtitle text appears copied from a careers page.
pcweb/pages/init.py Adds import for the new low_code_migration_page. Clean addition.
pcweb/pages/hosting/hosting.py Removes pricing_cards import and call from the hosting page. The file still exists on disk — may be intentional cleanup or incidental.
pcweb/views/marketing_navbar.py Changes "Switch from No Code" link from use_cases_page.path to hardcoded "/migration/low-code". Hardcoding avoids a circular import with the new page.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A["/migration/low-code route"] --> B["low_code_migration_page()"]
    B --> C["marketing_navbar()"]
    B --> D["main content"]
    D --> E["hero()"]
    D --> F["quotes()"]
    D --> G["divider()"]
    D --> H["compare()"]
    D --> I["divider()"]
    D --> J["footer_index()"]

    E --> E1["Floating logos grid"]
    E --> E2["CTA: Book a Demo dialog"]

    F --> F1["companies_column()"]
    F --> F2["quote_card() via rx.match"]
    F1 -->|"ClientStateVar"| F2

    H --> H1["comparison_cards()"]
    H1 --> H2["5x pros_cons_cards()"]

    K["Navbar: Solutions > Migration"] -->|"hardcoded /migration/low-code"| A
Loading

Last reviewed commit: a46ebb2

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

28 files reviewed, 4 comments

Edit Code Review Agent Settings | Greptile

@Alek99
Copy link
Member

Alek99 commented Feb 24, 2026

Here's the restructured copy with 2-3 pro-Reflex bullets on the left and 2-3 anti-no-code bullets on the right for each section:


Full Control Without the Ceiling

Reflex:

  • Write real Python — no ceiling on what you can build
  • Handle custom logic, complex data flows, and performance optimization natively
  • Build anything a full-stack app can do

Bubble, Retool, Webflow, etc.:

  • Get you to v1 fast, then you hit walls
  • Custom logic and complex data flows require ugly workarounds
  • Platform limitations dictate what's possible, not your requirements

You Own Your Code

Reflex:

  • It's your Python code — deploy it anywhere
  • Full version control with Git
  • Never hostage to a platform's pricing or shutdown

Bubble, Retool, Webflow, etc.:

  • Your app lives on their infrastructure in their proprietary format
  • Vendor lock-in makes migration painful or impossible
  • Pricing changes or platform shutdowns put your app at risk

Python Ecosystem Access

Reflex:

  • Use libraries you already know — pandas, scikit-learn, whatever
  • Build internal tools or customer-facing apps in one language
  • Leverage the entire Python ecosystem with no restrictions

Bubble, Retool, Webflow, etc.:

  • Limited to the platform's pre-built integrations
  • Can't tap into Python's ML, data science, or backend libraries
  • Forces non-JS developers to learn new tools or work around limitations

Scales with Complexity

Reflex:

  • Auth flows, real-time features, complex state management — all native
  • Handles growing complexity because it's just code
  • No artificial boundaries on what you can build

Bubble, Retool, Webflow, etc.:

  • Great for simple CRUD apps and dashboards, then it breaks down
  • Once you need real complexity, you're fighting the tool instead of building
  • Workarounds pile up and become unmaintainable

Team Collaboration & Engineering Practices

Reflex:

  • Fits into normal engineering workflows — Git, PRs, CI/CD
  • Code review and automated testing work out of the box
  • Your whole team can collaborate using standard dev practices

Bubble, Retool, Webflow, etc.:

  • Version control is difficult or impossible
  • Code review and testing are afterthoughts at best
  • Engineering best practices don't apply to proprietary drag-and-drop formats

@Alek99
Copy link
Member

Alek99 commented Feb 24, 2026

on left side

Title: "How You Benefit With Reflex vs. Other Approaches"
Subtitle: "No-code tools get you started fast, but Reflex lets you finish. Here's how Reflex compares to platforms like Bubble, Retool, and Webflow."

@Alek99
Copy link
Member

Alek99 commented Feb 24, 2026

Bubble, Retool, Webflow, etc.

change these to Retool, Streamlit, Plotly Dashs, Power BI

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants