Brought a 20-year-old LAN party community back online. And kept the memories.

ploynt, once ProjectLAN.de, started in 2006 as a German magazine and community for LAN parties, and went quiet in 2011. Fifteen years later its database turned up on an old hard drive. I rebuilt the whole place from that dump: every article, forum thread and LAN party kept, and new tools for the people who still put on LAN parties today.

Role
Just me. Design, build, data migration and hosting.
Timeline
September 2026: 546 commits and 45 releases in 23 days.
Stack
Nuxt 4, Laravel 13, MySQL, Cloudflare Workers
Client
ploynt · Community platform · 2026
ploynt.com
ploynt home page with a lead story about LAN parties in 2026 and the main navigation for finding and planning LAN parties
Back after 15 yearsThe home page today: the freshest story up top, the archive labelled as an archive.
"Somewhere in those old forum posts are people I haven't spoken to in fifteen years. I wasn't quite ready to delete them."

I joined ploynt in June 2006 and stayed for years: 720 news posts and articles, 255 LAN parties added to the calendar. When the database resurfaced, deleting it felt like throwing away a box of letters.

But an archive you can only look at is a museum. I wanted ploynt to be useful again: for old members finding their posts and the LANs they went to, and for the crews still putting on LAN parties in 2026 who need somewhere to list them, plan them and get people through the door.

Torsten · Brisbane

// By the numbers

  • 884LAN parties in the calendar, the first one from 2006
  • 4,107member accounts in the archive, 1,010 of whom ever posted. History, not active users
  • 9,022forum posts kept, plus 8,225 comments and 2,854 articles
  • 8,328photos in 360 galleries
01 // Before and after

The same LAN party, then and now.

orbit III in Nuremberg, November 2009. Same 250 seats, same €29 at the door, the same announcement word for word. The data didn't change; what the page does with it did. The date, town, seats and price come first, the venue sits on a map, and the organiser is one click away. The old listing had no guest list or photos to carry over, so the new page offers an “I was there” button instead of pretending.

The same event, orbit III - linked Spheres, on ploynt.com in 2026
orbit III - linked Spheres on the old ploynt.de, captured by the Wayback Machine in November 2009
BEFORE · ploynt.de, 2009AFTER · ploynt.com, 2026
02 // The hard parts

Twenty years of LAN parties, still in the database.

There was no working application left. Just two SQL dumps, one from 2010 and a 2012 top-up, and the old media folders. Turning that into a place people can use again was most of the work, and nobody sees it, so here it is.

Old forum conversations

Problem
Years of posts in BBCode, with smileys, video embeds from players that no longer exist, and text stored in old Windows encodings, some of it encoded twice.
What I did
I ported the original BBCode parser so posts render the way they always did. HTML gets escaped first, YouTube tags become embeds, dead Flash players become a short “video no longer available” note, and the encoding is repaired on import.
Result
9,022 forum posts in 1,255 threads read the way they were written, the original smileys included.

Event history

Problem
LAN parties lived in two tables that didn't agree, organisers were loosely attached, and not one of the 732 events knew its predecessor.
What I did
Events are matched across both tables by title and start time, with venues, organisers, tournaments and guest lists attached. A series linker groups editions by name, ignoring only the edition marker at the end (numbers, Roman numerals, #10, '07). Anything it isn't sure about goes to a human. Old LANs keep their real date in activity feeds, so a 2009 party never shows up as new this week.
Result
Invite 35 in 2007 to Invite 87 in 2026 sit on one organiser page, the long gap included.

Members and memories

Problem
6,604 old accounts, no passwords worth keeping, and 43 email addresses shared by more than one account.
What I did
Passwords stayed behind on purpose. Sign up or reset with the same email, confirm it, and your old profile, posts and bylines re-attach. Shared addresses go to the account with the most history. The profile logbook is worked out from what you actually did each year. Nothing is stored and nothing is invented.
Result
My own profile reads: 2011, last sign of life. 2012 to 2025, fourteen years of silence. 2026, comeback.

Photographs and old links

Problem
Thousands of gallery images with duplicates among them, and fifteen years of links to ploynt.de pages that no longer exist.
What I did
Images are de-duplicated by content, with thumbnails taken from the original size folders. The importers fill a redirect table, and old-style addresses are looked up there and answered with a permanent redirect.
Result
8,328 photos in 360 galleries, and an old link from a forum or Google lands on the right page.
03 // One screen, closely

The LAN planner, annotated.

Will the hall take 80 people, and will the power hold? Crews used to answer that with a tape measure and three spreadsheets. The planner is one plan instead. This is the public demo: Turnhalle Nord in Kassel, 80 seats.

The ploynt LAN planner demo on the power and network step: a 2D floor plan with table blocks, power distributors, switches and the escape route
  1. 1Seven questionsHow many fit, what shape is the hall, who sits where, is there enough power, does it add up, what is missing, and how it becomes a LAN.
  2. 22D, 3D and ten layersSeats, areas, escape routes, furniture, circuits, distributors, network and both cable runs. Each step switches on the layers it is about.
  3. 3Circuits from the seat countEvery table block gets its load and every distributor its share. V-B carries 9.9 of 11 kW, so it is flagged.
  4. 4Network as its own layerSwitches are sized from the port count at 48 ports each. Cable runs go at right angles, so their length is what you will actually lay.
  5. 5Escape route kept clearThe planner keeps the main route to the emergency exits free at the width the rules ask for. A cable across it is flagged unless it has a bridge.
  6. 6Findings where they happenEach step lists what it found. “Show in plan” jumps to the spot with the right layers switched on.
The demo hall in 3D, with table blocks, distributors and the emergency exits labelled
The same plan in 3D. Turn it, or stand at eye level in the hall. Drawn from the same data as the 2D plan.
Step one of the planner: four inputs and a first estimate of 80 people, possible but tight
A first answer from four inputs. “80 people: possible, but tight.”
The budget step of the LAN planner
61 guests to break even. Slide the ticket price and the break-even moves with it.
03b // Behind the planner

Behind every floor plan, a small electrical headache.

A LAN planner isn't a drawing tool. Add a block of tables and the seat count changes, and with it the load, the circuits, the distributors, the switch ports, the electricity bill and the price per seat. So there is one plan document and one place that does the arithmetic. The floor plan, the 3D view, the budget and the check are views of it, and none of them keeps numbers of its own.

  1. 01Power by the rules of the country. Germany: 230 V on a 16 A breaker at 80 % continuous load, so 2,900 W, five gaming seats per circuit and nine per 30 mA RCD. US: 120 V at 20 A under the NEC, so 1,920 W and three seats. An American GFCI trips at 4 to 6 mA, so the planner asks whether you have one rather than claiming you must.
  2. 02Escape routes with real numbers. German widths come from the assembly-venue regulation, stepped by headcount. US widths follow the building code at 0.2 inches per person, with at least 44 inches for an aisle and 32 for a door, using the stricter figure for halls without sprinklers.
  3. 03Metres inside, feet on screen. Units convert only on screen and at the keyboard, so two versions of a plan never drift apart through rounding. Currencies are never converted, only relabelled, because an exchange rate isn't a constant.
  4. 04A check, not an approval. 27 rules turn the plan into a list: what to sort out before you book, what to think about, what's already fine. Safety warnings are written without jokes. Everything else gets Ploynti, the mascot.
The planner's check step: one item to sort before booking, distributor V-B at 90 % with 9.9 of 11 kW planned, and four things to think about
04 // Little moments

Little moments that make it feel alive.

Real screens from ploynt.com, no mock-ups. Most of them exist because the archive had a story in it that deserved a better page.

LAN party map of Germany showing upcoming events next to a list with countdown badges
The next LAN first. The map opens on what is coming up, each card counting down the days.
Time travel mode: the map of Germany in October 2007, dense with LAN parties, next to a month-by-month histogram
Then twenty years of it. Time travel replays the scene month by month. The peak: October 2007, with 41 LAN parties.
Profile logbook: 2006 joined, 2007 strongest year, 2011 last sign of life, 2012 to 2025 silence, 2026 comeback
A profile that remembers. Worked out from what you did here, so fourteen quiet years show up as exactly that.
A member's LAN history: 18 LAN parties attended, by year and on a map
Where you were there. The LANs you went to and the ones you added, by year and on a map. Missing one? Tick it on the event page.
Organiser page for LAN-Team e.V. with a bar chart of events per year and the Invite series from 2007 to 2026
Crews get a page. LAN-Team e.V. runs from Invite 35 in 2007 to Invite 87 in 2026, the gap in between included.
Profile header with a badge showcase and stats: 255 LANs added, 720 news posts and articles, 18,894 PLoints
PLoints and badges. Twelve disciplines, five tiers each, all worked out from the archive. Nobody has to apply.
05 // After launch

Twenty years old, and still a work in progress.

Every release is written up by hand on a public changelog: 45 of them in the first 23 days. Organisers keep asking for things, and the most recent request came from the US.

Read the changelog: /changelog ↗
  1. 8 SEP · 1.0First commit: the Laravel API and the Nuxt front end.
  2. 9 SEP · 1.1Forum, comments, LAN parties, galleries and messages come back to life.
  3. 11 SEP · 1.3The site speaks English too.
  4. 19 SEP · 2.3Guests upload their own photos straight from the LAN party page.
  5. 20 SEP · 3.0A share card, a ready-made Discord post and a QR code for every LAN.
  6. 21 SEP · 3.1The LAN planner.
  7. 24 SEP · 4.0Organiser pages and rank badges.
  8. 30 SEP · 4.3The planner learns feet, inches and dollars, and the map reaches Portland, Oregon.
06 // Decisions

Which tools I picked, and why.

Nuxt, server-rendered, on Cloudflare
Twenty years of articles and LAN parties only matter if search engines can find them. Every page arrives complete, served from the edge.
Laravel API on a small Hetzner box
Moderation, email, the importers and the plan documents all live in one place.
Read-only legacy connections
The importers never write to the old dumps, and every step can run again from scratch without creating duplicates.
Claude for imports from a link
Paste a LAN party’s website and Claude drafts the entry. It never saves anything; an admin reviews the draft first.
MCP connector
AI assistants can submit LAN parties and article drafts, through the same moderation queue as everyone else.
// Open for work

Got a community sitting in an old database nobody dares to touch?

I'll move it to something modern without losing your members, your history or your old links. And if there's a hall full of people at the end of it, even better.

Start a conversation