2 days left to save up to $190: Join 1,000+ founders and investors at TechCrunch Founder Summit
Back to Tutorials
techTutorialintermediate

2 days left to save up to $190: Join 1,000+ founders and investors at TechCrunch Founder Summit

June 25, 202623 views4 min read

Learn to build a smart registration system for the TechCrunch Founder Summit that automatically calculates early bird pricing and manages attendee data using Python and Flask.

Introduction

In today's fast-paced tech landscape, staying connected with industry leaders and fellow entrepreneurs is crucial for growth. The TechCrunch Founder Summit offers an invaluable opportunity to network and learn from successful founders and investors. This tutorial will guide you through creating a smart registration system that tracks summit attendance and manages early bird pricing using Python and a simple web interface.

This practical project will teach you how to build a basic event management system that can handle:

  • Early bird pricing calculations
  • Attendance tracking
  • Registration data management

Prerequisites

To follow this tutorial, you'll need:

  1. Python 3.7 or higher installed on your system
  2. Basic understanding of Python programming concepts
  3. Knowledge of web development basics (HTML, CSS, JavaScript)
  4. Installed Flask web framework (can be installed via pip)
  5. Basic understanding of JSON data structures

Step-by-Step Instructions

1. Set Up Your Development Environment

First, create a new directory for our project and install the required dependencies:

mkdir techcrunch_summit
 cd techcrunch_summit
pip install flask

This creates a project folder and installs Flask, which we'll use to build our web interface.

2. Create the Main Application File

Create a file named app.py in your project directory:

from flask import Flask, render_template, request, jsonify
import json
from datetime import datetime

app = Flask(__name__)

# Sample data structure for summit registrations
summit_data = {
    "early_bird_deadline": "2026-06-26T23:59:00",
    "regular_price": 1000,
    "early_bird_price": 810,
    "registrations": []
}

@app.route('/')
def index():
    return render_template('index.html')

@app.route('/register', methods=['POST'])
def register():
    data = request.get_json()
    
    # Check if early bird deadline has passed
    deadline = datetime.fromisoformat(summit_data["early_bird_deadline"])
    current_time = datetime.now()
    
    if current_time > deadline:
        price = summit_data["regular_price"]
        status = "Regular Price"
    else:
        price = summit_data["early_bird_price"]
        status = "Early Bird Price"
    
    # Create registration record
    registration = {
        "id": len(summit_data["registrations"]) + 1,
        "name": data["name"],
        "email": data["email"],
        "price": price,
        "status": status,
        "timestamp": current_time.isoformat()
    }
    
    summit_data["registrations"].append(registration)
    
    return jsonify({
        "success": True,
        "message": f"Registration successful! You paid {status} of ${price}",
        "registration": registration
    })

@app.route('/registrations')
def get_registrations():
    return jsonify(summit_data["registrations"])

if __name__ == '__main__':
    app.run(debug=True)

This code sets up our Flask application with routes for registration, viewing registrations, and handling early bird pricing logic.

3. Create HTML Templates

Create a folder named templates in your project directory, then create index.html:

<!DOCTYPE html>
<html>
<head>
    <title>TechCrunch Founder Summit Registration</title>
    <style>
        body { font-family: Arial, sans-serif; max-width: 600px; margin: 0 auto; padding: 20px; }
        .form-group { margin-bottom: 15px; }
        label { display: block; margin-bottom: 5px; }
        input { width: 100%; padding: 8px; box-sizing: border-box; }
        button { background-color: #007bff; color: white; padding: 10px 20px; border: none; cursor: pointer; }
        button:hover { background-color: #0056b3; }
        .result { margin-top: 20px; padding: 15px; background-color: #f8f9fa; border-radius: 5px; }
    </style>
</head>
<body>
    <h1>TechCrunch Founder Summit 2026</h1>
    <p>Two days left to save up to $190! Early Bird rates expire on June 26 at 11:59 p.m. PT.</p>
    
    <form id="registrationForm">
        <div class="form-group">
            <label for="name">Full Name</label>
            <input type="text" id="name" name="name" required>
        </div>
        <div class="form-group">
            <label for="email">Email</label>
            <input type="email" id="email" name="email" required>
        </div>
        <button type="submit">Register Now</button>
    </form>
    
    <div id="result" class="result" style="display: none;"></div>
    
    <script>
        document.getElementById('registrationForm').addEventListener('submit', function(e) {
            e.preventDefault();
            
            const formData = {
                name: document.getElementById('name').value,
                email: document.getElementById('email').value
            };
            
            fetch('/register', {
                method: 'POST',
                headers: {
                    'Content-Type': 'application/json'
                },
                body: JSON.stringify(formData)
            })
            .then(response => response.json())
            .then(data => {
                document.getElementById('result').innerHTML = data.message;
                document.getElementById('result').style.display = 'block';
                
                // Reset form
                document.getElementById('registrationForm').reset();
            })
            .catch(error => {
                console.error('Error:', error);
            });
        });
    </script>
</body>
</html>

This HTML template creates a clean registration form that communicates with our Flask backend.

4. Run Your Application

Execute your Flask application by running:

python app.py

Visit http://localhost:5000 in your browser to see the registration form. The system automatically calculates pricing based on the deadline.

5. Test the Registration System

Fill out the registration form with your details. The system will automatically determine if you qualify for early bird pricing based on the deadline. You can also access the registration data by visiting http://localhost:5000/registrations.

6. Enhance the System

For production use, consider adding:

  • User authentication system
  • Database integration (SQLite, PostgreSQL)
  • Payment processing integration
  • Advanced analytics dashboard
  • Email confirmation system

Summary

This tutorial demonstrated how to build a smart registration system for the TechCrunch Founder Summit that automatically calculates early bird pricing and manages attendee data. The system uses Flask for the backend and HTML/CSS/JavaScript for the frontend, providing a complete web-based solution.

Key learning points include:

  1. How to implement time-based pricing logic in web applications
  2. Basic Flask routing and JSON handling
  3. Frontend-backend communication using fetch API
  4. Data persistence in simple Python applications

This foundation can be extended with more sophisticated features like database storage, user accounts, and payment processing to create a full-featured event management system.

Related Articles