Mr Fogg’s Departure Board for Raspberry Pi
A custom fullscreen departure board app for Raspberry Pi, inspired by vintage railway signage and built in Next.js with Figma-led implementation, live rail data integration, kiosk-mode optimisation and a bespoke analog clock.

Project overview
This project involved designing and building a fullscreen digital departures board web app inspired by a vintage railway split-flap and station-board aesthetic. The goal was to create something visually distinctive enough for a hospitality venue or public-facing display, while still behaving like a practical live information screen in kiosk mode.
The app was built as a modern Next.js application with a server-side API route, a Figma-led implementation workflow and a layout tuned for 16:9 TV displays. It combines a heritage-style visual system with live rail departure data, automated pagination, status highlighting and a custom analog clock designed to match the board styling.
Rather than treating this as a generic dashboard, the work focused on recreating the feel of the Figma concept as closely as possible while also making the app stable enough to run continuously on a Raspberry Pi-powered Chromium kiosk. This kind of delivery sits closest to my work in front-end implementation, custom functionality development and ongoing technical support.
The challenge
The main challenge was combining pixel-accurate design work with real operational requirements. The interface needed to look refined and atmospheric, but also function reliably as a live departures display with minimal maintenance and no user interaction.
The board had to closely match a highly stylised vintage design, including ornamental details, unusual spacing and a heritage-inspired clock.
Real departure information needed to be normalised into a clean, readable board format without breaking the visual rhythm of the design.
The app needed to run fullscreen, refresh automatically, avoid unnecessary input requirements and behave safely when the network or upstream API failed.
The interface was intended for Raspberry Pi and Chromium kiosk usage, so the implementation had to stay visually rich without becoming heavy or unstable.
What was delivered
The project was delivered as a custom Next.js application using App Router, Tailwind CSS and TypeScript, with the interface implemented from a connected Figma file and refined through multiple visual correction passes. The work covered both front-end presentation and the supporting API layer required to fetch, cache and stabilise live departures data.
Built a 16:9, TV-ready board layout designed for fullscreen display with a dark heritage colour palette and strong visual hierarchy.
Used Figma MCP context, screenshots and asset extraction to align the live interface closely with the approved visual design.
Created a server-side
/api/departures endpoint to fetch National Rail data, normalise it and cache responses safely.Built a real-time updating analog clock styled to match the board, including multiple correction passes to improve hand alignment and visual fidelity.
Added timed page rotation, periodic refreshes and graceful fallback to cached data when live data is unavailable.
Tuned the app for no-scroll, no-mouse fullscreen usage with wake-lock support and lightweight client-side updates.
Core functionality included
A bespoke vintage-inspired board designed for large-format TV or monitor display.
A live updating station-style clock component integrated into the board header area.
Server-side data fetching through a dedicated API route prepared for Darwin/LDBWS credentials.
Departure responses are cached to reduce unnecessary upstream requests and improve resilience.
If the upstream feed fails, the board continues to show the most recent cached data or bundled fallback data.
The board rotates through multiple pages of rows automatically, keeping the display readable at a distance.
On-time, delayed, expected and cancelled services are styled differently to improve legibility and urgency.
The app supports fullscreen Chromium use on Raspberry Pi hardware with minimal operator interaction.
Key architecture decisions
A key decision was to build the project as a compact custom application rather than a CMS-driven site or a more complex dashboard platform. That kept the codebase focused, made kiosk behaviour easier to control and allowed the board to remain visually precise.
Another important architectural choice was separating live data concerns from presentation. The departures board itself remains a display layer, while data fetching, caching and fallback handling live behind a dedicated API route. That separation makes the board easier to maintain, easier to test and safer to run in environments where live transport feeds are not always reliable.
The app was built around Figma as the visual source of truth rather than relying on generic dashboard patterns.
Presentation components and live rail data logic were kept distinct to improve maintainability.
The board was designed around a 16:9 TV ratio to maintain consistent presentation in fullscreen environments.
Caching and fallback behaviour were included from the start so the board remains usable even during API failure.
Results and outcomes
The result is a custom digital departures board that feels visually distinctive and purpose-built rather than template-driven. It reproduces the atmosphere of the original design while also delivering the practical behaviour needed for a public-facing screen.
The final implementation supports live departures, automated updates, pagination, status signalling and kiosk display behaviour in a single focused application. It also created a reusable foundation for similar venue, hospitality or transport-themed display systems in future.
The interface was closely aligned to the supplied Figma layout, spacing, palette and ornamental details.
The board is ready to consume National Rail departure data through a structured server-side route.
Auto-refresh, page rotation and screen-friendly behaviour support long-running unattended display use.
Delays, expected times and cancellations are surfaced more clearly through colour and motion treatment.
Cached and sample data paths prevent the board from collapsing when live data is temporarily unavailable.
The project now has a clean component structure that can be extended for arrivals boards, venue signage or other display systems.
Technology used
The project was built with Next.js App Router, TypeScript and Tailwind CSS, using a custom server-side API route for data fetching and in-memory caching. The interface was implemented against a connected Figma file using MCP-based design context and asset extraction, and prepared for National Rail Darwin/LDBWS integration and Raspberry Pi Chromium kiosk deployment.
The work overlaps most closely with theme and front-end implementation, custom development and technical support for long-term maintenance.
Next steps
This project demonstrates how a design-led display interface can still be engineered as a reliable operational product. The next logical step would be to connect production National Rail credentials, deploy to the target kiosk hardware and complete final QA on the physical screen environment.
From there, the same platform could be extended into arrivals boards, event signage, hospitality wayfinding or branded display systems for transport-adjacent venues. If you need a custom display interface, kiosk application or design-led front-end system, the most relevant starting points are usually front-end implementation, custom development and ongoing technical support.
Looking for similar outcomes? Start with Theme Development and browse more project examples.
Need Similar Results?
Let's discuss how I can help scale your website with a custom solution.
Newsletter
Get useful WordPress emails
Practical fixes, cleaner SEO wins, and lessons from real builds.
About This Project
This case study showcases my expertise in web development, demonstrating how I help UK businesses achieve their digital goals through custom solutions, performance optimization and strategic implementation. If you need a similar approach, explore Theme Development and practical implementation guides.
Keep exploring
Quick paths to related services, practical guides and real project examples, curated to help visitors move from curiosity to action.
Related services
Relevant case studies
Related guides
20 mistakes clients make using WordPress
Many WordPress websites underperform because of avoidable issues like poor hosting, missed updates, weak SEO s...
How I Built a Real-Time Investment Portfolio Tracker in Google Sheets
A custom Google Sheets portfolio tracker that combines live stock and crypto pricing, automated trade handling...
What a £1k Website Should Actually Include
A £1,000 website can be a smart investment if the scope is realistic, the messaging is clear and the fundament...
Want Similar Results for Your Business?
Let's discuss how I can help scale your website with a custom solution tailored to your business needs. From performance optimization to complete redesigns, I deliver results that drive growth.
Free 30-minute consultation • No commitment required • For business ready
