Personal Live

Church Camp Website

Full stack web application

The church camp website home page shown on a laptop

What it does

A registration and payment platform for an annual church camp. Campers create an account, sign in, register for the camp and pay their fees online in one flow, instead of the organisers collecting sign-ups and payments by hand.

The frontend is a React single-page application, with Supabase providing authentication and data storage. Server-side logic runs through Supabase Edge Functions using Deno, providing a secure backend layer for operations such as communicating with the Nets Easy API without exposing sensitive credentials or payment logic to the browser.

Why I built it

Camp registration used to mean spreadsheets, manual follow-up and chasing payments. The goal was to give organisers one place where sign-ups and payment status live together, and to give campers something that takes a couple of minutes on a phone.


What I built

  • Built the React frontend: registration flow, authenticated pages and payment screens
  • Modelled campers and registrations in Supabase and wired up authentication
  • Developed Deno-based Supabase Edge Functions for server-side logic and communication with external services
  • Integrated the Nets Easy API through the server-side layer so payment operations and credentials remain outside the frontend
  • Handled the states that a payment flow actually produces — pending, completed and abandoned checkouts

Technical challenges

  • A payment integration is not a single request. The application has to cope with a camper leaving mid-checkout, refreshing the page, or paying successfully while the callback arrives late — so registration status had to be driven by the provider rather than assumed.
  • Separating browser and server responsibilities so sensitive credentials and payment operations remain inside Deno-based Edge Functions rather than being exposed to the client.
  • Designing a flow that works for a non-technical audience of all ages, on whatever device they happen to own.

Results

  • Campers can register and pay online in a single session, without any manual step in between
  • Organisers see registrations and payment status in one place instead of reconciling lists by hand
  • The site is live and in use for the annual camp

More projects

All projects
  • Visualisation of results produced by the Group Formation Algorithm
    Academic Completed

    Group Formation Algorithm

    Bachelor’s thesis project

    A constraint-based optimisation algorithm that creates fair and balanced teams based on participants’ skills, backgrounds, and grouping requirements, developed for an annual church camp as my bachelor’s thesis.

    • Python
    • Gurobi
    View project
  • Custom-built autonomous Connect Four robot with a motorised carriage and disc dispenser
    Academic Completed

    Autonomous Connect Four Robot

    Robotics, embedded systems & mechanical design

    Designed and built a physical Connect Four robot that detects a human player's moves, chooses its own response, and autonomously positions and dispenses game pieces.

    • C++
    • Arduino
    • Fusion 360
    • 3D
    View project
  • The Sukkermap interactive school map interface
    Academic Completed

    Sukkermap

    Map navigation website

    An interactive indoor map that helps students at a Danish gymnasium find their way around the school, built as a co-developer.

    • JavaScript
    • HTML & CSS
    • p5.js
    View project