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:
- Python 3.7 or higher installed on your system
- Basic understanding of Python programming concepts
- Knowledge of web development basics (HTML, CSS, JavaScript)
- Installed Flask web framework (can be installed via pip)
- 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:
- How to implement time-based pricing logic in web applications
- Basic Flask routing and JSON handling
- Frontend-backend communication using fetch API
- 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.



