Archived

HopePad

Full Stack Developer · 2023 · 1 week · 2 min read

Built a functional online scratchpad where users can leave inspirational messages for each other using Flask and MySQL

Overview

An online wall where users can write messages of encouragement for each other — a week-long experiment with Flask and Python web development

Problem

I wanted to explore Python web frameworks and build something meaningful that people could interact with in real time

Constraints

  • Self-taught Flask in one week
  • Minimal deployment budget
  • First time working with MySQL

Approach

Used Flask as a lightweight Python web framework with a MySQL backend and Tailwind-styled frontend, deployed on PythonAnywhere's free tier

Key Decisions

Choose Flask over Django

Reasoning:

Flask's minimal structure let me learn web framework fundamentals without the overhead of a full-stack framework. Having used React and Angular before, the MVC pattern was familiar — Flask let me focus on what was new.

Alternatives considered:
  • Django
  • FastAPI

Use MySQL for data storage

Reasoning:

MySQL was straightforward for storing and retrieving user messages. The schema was simple — a single table for messages — making it a good learning exercise for database integration.

Tech Stack

  • Flask
  • Python
  • MySQL
  • Tailwind CSS
  • JavaScript

Result & Impact

Learned the fundamentals of Python web development, database integration, and deployment in a compressed timeframe. The project reinforced that web framework patterns are transferable across languages.

Learnings

  • Web framework patterns (MVC, routing, templating) transfer across languages
  • Simple projects are powerful learning vehicles when timeboxed
  • Free-tier hosting is great for prototypes but limited for production

What I Built

HopePad is a simple message wall — users visit the page, type a message of encouragement, and it appears on the wall for others to see. No accounts, no complexity, just a clean space for leaving positive notes.

Challenges

Flask was a new web framework for me, but having been exposed to React.js and Angular.js, navigating the project structure of a typical Flask application wasn’t all that difficult — there were more similarities than differences between frameworks.

Demo

The project is still live at omgwhut.pythonanywhere.com.