Hackathon guide

Hack for Humanity London. Build the planning tools your community needs.

Pick a real problem from your community. Plan it with a ready-made Timefold model, or build your own with an AI agent, then ship an app people can use. One day, teams of two to five.

Corgi Cafe

74 Great Eastern St, London EC2A 3JL

Thursday, October 29, 2026

09:00 to 15:00 GMT

With The AI Collective

Hosted by The AI Collective with Timefold.

The day

Six hours to get to a working solution

09:00

Briefing

Problem briefing and a walkthrough of both build options. Teams form.

09:15

Hack

Five hours to build your model and your app.

13:15

Lunch is served

Hacking continues.

14:15

Demos and judging

Five minutes per team, live. Judges score, the room votes.

15:00

Close

Winners announced.

What you'll build

Build an app people can use, with Timefold as the optimization engine

Somewhere near you, a hospital is struggling to plan its staff rotas fairly. A food bank is working out who drives where. A volunteer group is juggling too many people and too few time slots.

‍

These are all planning problems. Pick one from your own community and build an app that solves it, with Timefold doing the planning. A website, a mobile app, an AI agent workflow: the form is up to you.

The app

Whatever people in your community use: a website, a mobile app, an AI agent workflow that calls the model, a chatbot. Any language or framework works. A single HTML page is enough.

The planning model

The engine behind the app. It takes your data and returns the best plan it can find. Use a ready-made model or build your own.

Realistic data

Made-up but believable people, places, time slots, and rules from your community, at the size of the real problem.

How Timefold works

Your data goes in, the best plan comes out

01

You describe the problem

What gets planned, what each thing can be assigned to, and the rules, sent as JSON. Hard constraints never break. Soft constraints are preferences.

02

Timefold searches

It tries many possible plans, scores each one against your constraints, and keeps the best. The longer it runs, the better the plan gets. It runs in the background, and you can stop it whenever the plan is good enough.

03

You get the best plan back

The assignments as JSON, with a score that says how good the plan is, such as 0hard/-12soft. 0hard means every hard constraint holds, and closer to 0soft is better. Your app shows the plan to people.

Illustrative request
POST /rotas
{
  "volunteers": [
    { "name": "Amira", "skills": ["driving"], "maxHours": 6 },
    { "name": "Tom",   "skills": ["packing"], "maxHours": 4 }
  ],
  "shifts": [
    { "id": "sat-09", "start": "09:00", "end": "12:00", "skill": "driving" },
    { "id": "sat-13", "start": "13:00", "end": "16:00", "skill": "packing" }
  ]
}
What the model sends back
200 OK
{
  "assignments": [
    { "shift": "sat-09", "volunteer": "Amira" },
    { "shift": "sat-13", "volunteer": "Tom" }
  ],
  "score": "0hard/0soft"
}

At the end of the day, you demo the app live: solve a realistic dataset, change something, and show the plan adapt.

Problem ideas

Community planning problems, with the constraints that make them interesting.

The best projects start from a problem someone on the team has seen up close. If you need a starting point, these are all planning problems a morning is enough for.

Employee scheduling

Fair rotas for a care team or hospital ward

What gets planned: shifts, each assigned to a staff member.

/
Hard: each shift has someone with the required skill or qualification.
/
Hard: minimum rest time between two shifts.
/
Soft: spread nights and weekends fairly.
/
Soft: respect people's preferred days off.
/
Start with option A with Employee Shift Scheduling, or option B from the employee scheduling quickstart.
Vehicle routing

Food-rescue and grocery deliveries

What gets planned: pick-ups and drop-offs, each assigned to a driver and a position in their route.

/
Hard: each stop is visited inside its time window.
/
Hard: a van never carries more than its capacity.
/
Soft: minimize total driving time.
/
Soft: chilled food goes on the shortest routes.
/
Start with option A with Field Service Routing, or option B from the vehicle routing quickstart.
School timetabling

Practice schedules for a local sports club

What gets planned: practice sessions, each assigned to a pitch and a time slot.

/
Hard: one team per pitch at a time.
/
Hard: a coach can't run two sessions at once.
/
Soft: younger teams train earlier in the evening.
/
Soft: each team gets the same number of slots on the good pitch.
/
Start with option B, from the school timetabling quickstart.
Employee scheduling

Volunteer sign-ups for a community event

What gets planned: volunteer tasks, each assigned to a volunteer.

/
Hard: volunteers only work when they said they're available.
/
Hard: tasks that need a DBS check go to someone who has one.
/
Soft: friends who asked to work together are paired.
/
Soft: nobody works more than their chosen number of hours.
/
Start with option A with Employee Shift Scheduling, or option B from the employee scheduling quickstart.
Vehicle routing

Lifts to medical appointments

What gets planned: patient journeys, each assigned to a volunteer driver.

/
Hard: patients arrive before their appointment time.
/
Hard: wheelchair users only ride in accessible vehicles.
/
Soft: minimize waiting time for patients.
/
Soft: the same driver takes a regular patient where possible.
/
Start with option A with Pick-up and Delivery Routing, or option B from the vehicle routing quickstart.
Meeting scheduling

Room bookings for a community center

What gets planned: activities, each assigned to a room and a time slot.

/
Hard: room capacity fits the group.
/
Hard: no two activities in one room at once.
/
Soft: noisy and quiet activities aren't next door at the same time.
/
Soft: regular groups keep their usual room.
/
Start with option B, from the meeting scheduling quickstart.

Each of these maps to a type of problem Timefold already handles at scale, so your agent has plenty to work with. The suggested starting points are just that: if your version of the problem has rules a ready-made model can't express, build your own.

Teams

Teams of two to five, formed on the day.

Arriving alone is normal: most people do.

Opening briefing

How teams form

/
Anyone with a problem in mind pitches it in one or two sentences.
/
People join the problem they care about most.
/
Organizers balance teams that are too big or too small.
/
By the time hacking starts, every team has a problem, a name, and a table.
/
Already know who you want to work with? That's fine, as long as the team has two to five people and you build the project on the day.
Rules

What every project needs to qualify.

Every project needs to follow these rules to be judged. If something isn't covered, ask an organizer before you build it.

01

Help people locally

Your project solves a real planning problem in a local community, with the purpose of benefiting people.

02

Use Timefold for the planning

Your solution includes a Timefold planning model that produces the plan: a ready-made model on the Timefold Platform, or your own.

03

AI agents are welcome

Use Claude Code, Codex, or any other agent as much as you like. Your team is responsible for everything you build, so understand what your code does.

04

Open tools and data are fine

Starter projects, open-source libraries, and public datasets are allowed. Credit them.

05

No real personal data

Don't use names, addresses, health details, or other personal data of real people. Use made-up or anonymized data.

06

Follow the code of conduct

All attendees agree to The AI Collective's code of conduct and privacy policy.

Disqualification

The organizers can disqualify a project that breaks these rules, for example one that uses real personal data. Teams get a chance to explain before any decision.

Two ways to build

Use a ready-made model, or build your own.

Both give you a Timefold planning model behind a REST API. Pick one as a team.

Option A

Use a ready-made model

Call a model Timefold already runs in production. Fit your data to it, and spend the day on your app.

You need a free trial account. No Java.

Field Service Routing

Field Service Routing

Visits for people on the road

Employee Shift Scheduling

Employee Shift Scheduling

Shifts for staff and volunteers

Pick-up and Delivery Routing

Pick-up and Delivery Routing

Moving goods from A to B

Task Scheduling

Task Scheduling

Tasks for people over time

Option B

Build your own model

Describe your problem in plain language. PRD Chat turns it into requirements, and a quickstart gives you working code to adapt.

You need a JDK 21 or higher, Git, and an AI agent.

PRD Chat

PRD Chat

Use it online, or connect it to your agent as an MCP server

Quickstarts

Quickstarts

Working Timefold projects for scheduling and routing

Custom models can score highest on modeling the problem. Not sure which to pick? Each problem idea suggests an option, and mentors help at the briefing.

Setup

Get a model, then build the app.

Follow the steps for the option your team picked. Both end with a model you can call from your app.

Option A

Call a ready-made model

The Timefold Platform hosts ready-made planning models behind a REST API. The model's rules are already written and tested. Your job is to describe your problem in the shape the model expects.

Before you start

Prerequisites and API key

/
A free Timefold Platform trial account. Sign up at app.timefold.ai.
/
An AI coding agent, such as Claude Code or Codex, and Git.
/
No Java needed. Write your app in any language that can call a REST API.
/
Log in at app.timefold.ai and create an API key. Keep it out of your Git repository: put it in an environment variable or a local file that Git ignores.
/
Pick the model that fits your problem.

What gets planned

Fits problems like

Field Service Routing (FSR)

Visits, each assigned to a person or vehicle and a place in their route. Handles time windows, skills, travel time, and working hours.

Food-rescue rounds, home care visits

Employee Shift Scheduling (ESS)

Shifts, each assigned to an employee. Handles skills, availability, rest time, contracts, and fairness.

Care rotas, volunteer shifts at an event or a food bank

Pick-up and Delivery Routing (PDR)

Jobs that pick something up in one place and drop it off in another, each assigned to a vehicle. Handles time windows and vehicle capacity.

Lifts to medical appointments, moving donated goods between sites

Task Scheduling

Tasks, each assigned to a person and a start time. Handles skills, durations, and availability.

Repair jobs for a community workshop, prep tasks before an event

Each model has its own guide in the Timefold documentation at docs.timefold.ai, with the full request format and examples. The Platform also lists other models you can try. For questions about a model's input, output, or API, point your agent at docs.timefold.ai/llms.txt, which indexes the whole documentation for AI agents.

Know what the model can and can't do. A ready-made model supports a fixed set of rules, which you switch on and tune through the input. If a rule your problem needs isn't supported, say so in your demo, or switch to option B. Ask a mentor if you're unsure.

When the model returns a plan you trust, check it with the questions under option B, step 2, then build your app around it.

Option B, step 1

Prerequisites and the MCP server

You need a Java Development Kit (JDK), version 21 or higher, and an AI coding agent that supports MCP servers, such as Claude Code or Codex, and Git. Install the JDK with one method for your operating system.

Command

macOS, with Homebrew

brew install --cask temurin@21

Windows, with winget

winget install EclipseAdoptium.Temurin.21.JDK

Ubuntu or Debian

sudo apt install openjdk-21-jdk

Any OS, with SDKMAN

sdk list java to find a 21.x (or newer) Temurin identifier, then sdk install java <identifier>

If java -version shows an older version, your terminal is picking up a different JDK. Ask a mentor, or ask your AI agent to fix your JAVA_HOME.

You don't need Maven or Gradle separately. Most Java projects, including the Timefold quickstarts, ship a wrapper script (./mvnw or ./gradlew) that downloads the build tool for you.

Connect the MCP server

The Timefold MCP server, PRD Chat, gives your AI agent the Timefold knowledge and tools it needs to turn your description into requirements and a planning model. You only need to connect it once.

Get the server URL. Open prd.timefold.ai and copy the MCP server URL shown there. Use it wherever <MCP_SERVER_URL> appears below.

How to add the server

Claude Code

Run the Claude Code command from a terminal, inside your team's project folder. Start Claude Code with claude, then type /mcp. You should see timefold-prd listed as connected. If the server asks you to authenticate, follow the prompt from the /mcp screen.

Codex

Add the Codex config to ~/.codex/config.toml, then restart Codex. If your Codex version uses a different configuration format, check the Codex documentation or ask a mentor.

Other agents

Any agent that supports remote MCP servers over HTTP works. Add a server called timefold-prd with the URL from prd.timefold.ai.

Check that it works with the prompt in the Ask your agent block. If the agent lists the Timefold tools, you're ready to build your model.

What to try

The server doesn't show up

Check you ran the command in the right folder, then restart the agent.

The server shows as failed

Check the URL for typos and that the venue Wi-Fi is connected.

The agent ignores the tools

Mention the server by name in your prompt: "Use the timefold-prd MCP server to..."

Anything else

Raise a hand. A Timefold mentor will come to your table.

macOS, with Homebrew
brew install --cask temurin@21
Windows, with winget
winget install EclipseAdoptium.Temurin.21.JDK
Ubuntu or Debian
sudo apt install openjdk-21-jdk
Any OS, with SDKMAN
sdk list java              # find a 21.x (or newer) Temurin identifier
sdk install java <identifier>
Then check it worked
java -version
# openjdk version "21.0.x" or higher
Claude Code, in your team's project folder
claude mcp add --transport http timefold-prd <MCP_SERVER_URL>
Codex, in ~/.codex/config.toml
[mcp_servers.timefold-prd]
url = "<MCP_SERVER_URL>"
Ask your agent
Which tools does the timefold-prd MCP server give you?
Summarize what each one is for.
Option B, step 2

Build your model from a quickstart

A planning model knows what gets planned, what the options are, and which rules decide whether a plan is good. You describe those three things. Your agent and the MCP server turn them into a working Timefold model with a REST API, starting from a quickstart.

The Timefold quickstarts are complete, working Timefold projects, each with a REST API and a simple web page. Pick the one closest to your problem and use it as your team's base.

Start from

People assigned to shifts

Employee scheduling

Drivers visiting stops in order

Vehicle routing

Sessions assigned to a room or pitch and a time slot

School timetabling or meeting scheduling

Command

Clone the quickstarts

git clone https://github.com/TimefoldAI/timefold-quickstarts.git

Open the quickstart you picked

cd timefold-quickstarts/java/employee-scheduling

Run it

./mvnw quarkus:dev

Open http://localhost:8080 and solve the example data once, so you know the base works. Then copy the quickstart into your team's own repository and adapt it from there. Each quickstart's README has the exact steps.

Answer these questions first

Before you write a prompt, agree on the answers as a team.

01

What gets planned?

The things you assign: shifts, deliveries, practice slots.

02

What are the options?

What each thing can be assigned to: a volunteer, a driver and a time, a pitch and a time.

03

What are the rules?

Split them into hard and soft constraints.

Meaning

Example

Hard constraint

Must never break. A plan that breaks one is infeasible.

A driver can't be in two places at once.

Soft constraint

A preference. The model tries to break as few as possible.

Spread weekend shifts fairly between volunteers.

Start with three to five constraints. A small model that works beats a big one that doesn't. You can add more once the first version solves.

Questions about Timefold Solver? Use llms.txt. When your agent gets stuck on how to write a constraint or configure the solver, point it at docs.timefold.ai/llms.txt, which indexes the whole Timefold documentation for AI agents.

Test it like the people who'll use it

Once the model returns a plan, check it with whoever on the team knows the problem best.

Ask the model to explain itself. Ask your agent to show the score broken down by constraint. It's the fastest way to see why the model made a choice, and it makes a good demo moment.

Does the plan break any hard constraint?

If the score shows a negative hard number, something is infeasible. Ask the agent which constraint breaks and why.

Would a real person accept this plan?

If the answer is "no, because...", that "because" is a missing constraint.

Does it scale to a realistic size?

Try a dataset the size of the real problem, not just five items.

Common pitfalls

Rules that are really data

"Amira can only work Saturdays" is availability data on Amira, not a separate constraint per person.

Everything as hard constraints

If nothing can be bent, the model often finds no feasible plan. Make preferences soft.

Personal data

Use made-up names and addresses, as the rules require.

When the model returns a plan you trust, build your app around it. Next: read how the demo works.

Terminal
git clone https://github.com/TimefoldAI/timefold-quickstarts.git
cd timefold-quickstarts/java/employee-scheduling   # or the quickstart you picked
./mvnw quarkus:dev
Demo

There's no written submission. Your five-minute live demo is your entry.

The judges and the audience score what they see. Hacking stops when demos begin. Each team gets five minutes. The order is announced after lunch. When your time is up, the next team starts, so practice once with a timer.

Slides

What goes on your slides

/
First slide: your team name.
/
First slide: the names of everyone on the team.
/
First slide: the option you chose. For option A, the Timefold Platform model you called. For option B, the quickstart you started from and what you changed.
/
Last slide: credits for any starter projects, libraries, or datasets you used.
/
Last slide: a link to your code repository, if you want to share it.

Time

What to cover

The problem

1 minute

Who has it, where, and what it costs them today

The rules

1 minute

The three or four constraints that matter most

The live demo

2.5 minutes

Solve a realistic dataset, then change something and solve again

What's next

30 seconds

Who would use this on Monday, and what's missing

Show, don't tell. Judges score the working solution live. A small app that solves in front of the room beats a long explanation of a bigger one.

Judging

Half the score is the panel. Half is the room.

Each project's final score is 50% judges panel and 50% audience vote. Both parts are converted to 100 points, so they count equally.

50%

Judges panel

Four weighted criteria, scored one to five.

50%

Audience vote

Each team ranks its top three. Not your own team.

Judges panel (50%)

Each judge scores every project on four criteria, from one to five.

Weight

What judges look for

Community impact

30%

A real, local problem. Clear who benefits and how much it helps them.

Modeling the problem

30%

The plan follows the real-world rules of the problem. Hard and soft constraints are chosen sensibly, and the plan is feasible and makes sense. Custom constraints written for this community's specific rules score highest.

Working solution

20%

The model and the app work end to end, live, on realistic data.

Demo

20%

The problem, the solution, and the result are clear within five minutes.

Custom models can score highest on modeling. A well-configured ready-made model (option A) can score up to a three or four on modeling the problem. A five needs custom constraints written for your community's specific rules (option B).

Scores a one

Scores a three

Scores a five

Community impact

Generic problem, no clear user

A real problem, but the users and the benefit stay vague

A named kind of group with a problem the team understands first-hand

Modeling the problem

Toy rules, or the plan breaks hard constraints

A ready-made model, well configured, with the data mapped sensibly and a feasible plan

Custom constraints written for this community's specific rules, a feasible plan, and the team can explain a trade-off the model made

Working solution

Screenshots or mock-ups only

Works end to end, but on toy data or with manual steps

Live app calling the model, reacting to a change in the data

Demo

Hard to follow, runs over five minutes

Clear, but the result or the "why" gets lost

Problem, model, and result in five minutes, with one memorable moment

Audience vote (50%)

Each team votes once, as a team. After the last demo, agree on the three projects you'd most like to see used in your own community, rank them, and hand your top three to an organizer. You can't rank your own team. A first choice earns 3 ranking points, a second choice 2, and a third choice 1.

Ties

If two projects have the same final score, the one with more judges points wins. If they're still tied, the higher community impact score decides.

€500 in Amazon vouchers

The winning teams may also be invited to showcase their projects in The AI Collective's global newsletter, which reaches more than 300,000 subscribers.

Help and FAQ

Where to get help on the day, and answers to common questions.

Mentors

There's no online support channel. Timefold engineers walk around the room during the hacking time, so raise a hand or wave one down.

Documentation questions

Ask your agent, and point it at docs.timefold.ai/llms.txt.

Wi-Fi

Provided by Corgi Cafe. Network details are shared at the venue.

I don't code. Can I still join?
+

Yes. If you know a local problem inside out, you're as valuable to a team as the person writing code. You decide which rules matter and check whether the plan makes sense to real people.

Who owns what we build?
+

Your team does. Keep building it after the event, open-source it, or hand it to the community group it was built for.

Where can I learn more about Timefold?
+

Start with the Timefold documentation and the quickstarts. For your AI agent, use docs.timefold.ai/llms.txt.

Which option should my team pick?
+

If your problem is mostly routing or shift scheduling, option A gets you a strong plan fastest, and leaves more time for the app. If your problem has its own kind of rules, or doesn't fit either model, pick option B. Ask a mentor at the briefing if you're unsure.

Do I need to pay for the Timefold Platform?
+

No. Option A runs on a free trial account. Sign up at app.timefold.ai.

Hack for Humanity London

Thursday, October 29, 2026, 09:00 to 15:00 GMT, at Corgi Cafe, 74 Great Eastern St, London.