{"schema":"punfyre.public-discovery.v1","siteId":"punfyre-website","origin":"https://punfyre.be","name":"Punfyre","version":"288670bb2c942956e71a95db8dba92c7e3fa62d24c2e83e287af95e49cb044ee","defaultLocale":"en","locales":["en"],"records":[{"id":"page.about","locale":"en","kind":"about","canonicalUrl":"https://punfyre.be/en/about","title":"We develop software that earns trust","summary":"A small software studio in Wevelgem, Belgium. We develop our own products, and the software other companies come to us for.","text":"About Punfyre\nWe develop software that earns trust\nA small software studio in Wevelgem, Belgium. We develop our own products, and the software other companies come to us for.\nWevelgem, Belgium\nOur own products in production\nLed hands-on by Levi Van Zele\nWhat we do\nFor you, and for us\nEach side feeds the other: what we learn from our own products goes straight into the software we develop for you.\nServices\nSoftware for you\nAn app, an automation, an internal tool, a whole platform, all on Forge so your budget goes where it counts.\nSee our services\nProducts\nOur own products\nSoftware we own and run ourselves, like our personal-safety app Alarmira.\nSee our products\nWhere we come from\nWe exist to make software feel human\nBelgian studio, Wevelgem\nFounder-led\nOwn products and client work\nHealthcare, safety, care\nSimply put, our mission is to improve lives through people-friendly solutions.\nPunfyre is a design- and product-driven studio. We create digital tools with clarity, care, and purpose, and focus on real problems where trust, usability, and simplicity matter most, like healthcare, safety, and care coordination.\nWe are a lean, independent team that ships with precision, grounded in empathy and guided by purpose. The result is human-friendly software that truly fits the people who use it.\nHow we work\nCurious how we actually work?\nFrom the first conversation to a handover that holds, our approach is deliberate. See how a project runs with us, and what we deliver.\nSee how we work\nWhat we believe\nThe principles behind our work\nThe ideas we come back to, whatever we're making.\nDesign for real people\nWe start from the person using it, and keep them the foundation at every step.\nBuild with purpose and care\nEvery detail is intentional. Tools should be dependable and a pleasure to use.\nBuilt to grow and adapt\nTechnology that scales and adapts, without giving up simplicity or performance.\nModular and consistent\nA component-based approach keeps everything maintainable and consistent across screens.\nClarity in every word\nThoughtful wording is part of the design, chosen to support trust and understanding.\nUsable by everyone\nEasy to use for everyone, whatever their ability or background.\nWho you work with\nLevi Van Zele\nFounder & CEO · Product and tech lead\nLevi founded Punfyre and leads both product and engineering. From the first sketch to the code that ships, he is who you deal with directly, with no account manager in between.\nPlan a short call More about Levi\nLet's build something that lasts\nTell us what you're working on. We'll come back with a clear read on where to start.\nGet in touch","contentMode":"full","sections":[]},{"id":"page.advisory","locale":"en","kind":"service","canonicalUrl":"https://punfyre.be/en/advisory","title":"Advisory & audits","summary":"","text":"Advisory & audits","contentMode":"metadata","sections":[]},{"id":"page.agents","locale":"en","kind":"page","canonicalUrl":"https://punfyre.be/en/agents","title":"Access for AI assistants","summary":"Search and read our published content with canonical sources, in Dutch, English and French.","text":"Access for AI assistants\nSearch and read our published content with canonical sources, in Dutch, English and French.\nConnect with MCP\nAdd this URL as a remote MCP server in a compatible assistant. It uses Streamable HTTP and public read-only access, without an account.\nhttps://punfyre.be/mcp\nAvailable tools\nsearch_site\nSearch public pages with a query, language and optional category.\nread_page\nRead a page ID from search results, optionally selecting a section.\nlist_topics\nList the public content categories available in a language.\nUse your browser assistant\nWhere WebMCP is supported, your browser assistant can search, read and open public pages. Search results appear in the same search interface you use yourself. The usual website navigation remains available in every browser.\nSources and bulk reading\nResults include a canonical citation and language. Pages that provide catalog metadata instead of full text are marked accordingly. Public content snapshots are available below; protected downloads and signed-in content keep their existing access requirements.\nNL · JSON\nEN · JSON\nFR · JSON\nllms.txt\nSitemap · XML","contentMode":"full","sections":[]},{"id":"page.articles","locale":"en","kind":"collection","canonicalUrl":"https://punfyre.be/en/articles","title":"Articles","summary":"","text":"Articles","contentMode":"metadata","sections":[]},{"id":"page.articles.a-technology-roadmap-for-business-decisions","locale":"en","kind":"article","canonicalUrl":"https://punfyre.be/en/articles/a-technology-roadmap-for-business-decisions","title":"A technology roadmap that helps business decisions","summary":"Build a technology roadmap around business outcomes, dependencies and a realistic commitment horizon. Make decisions clearer instead of filling a timeline.","text":"Foundations\nA technology roadmap that helps business decisions\nUpdated Sep 24, 2026 · 3 min read\nA roadmap can look reassuring while saying very little. There are coloured boxes, dates and enough items to keep a team busy for a year. What is missing is the connection between those boxes and the decisions the business needs to make.\nIn short\nA roadmap is a sequence of choices, not a list of promises with dates.\nMake dependencies and assumptions visible before committing capacity.\nReview progress against the business problem, not just completed tickets.\nStart with the change you want to see\nA request such as customer portal is a proposed solution, not yet an outcome. Ask what should become easier, for whom and how you will know. Perhaps the real problem is customers phoning to ask about order status. That gives you something to investigate before committing to a portal, an integration and a new support process.\nFor each proposed initiative, write the problem, the expected change and the evidence behind it. Then name the person who can decide whether that change matters enough. A technical roadmap needs business ownership as much as technical understanding.\nA useful sequence makes the next decision clearer.\nPut dependencies beside the work\nA small feature can depend on an unreliable data feed, access held by a supplier or a decision nobody has made about support. Those dependencies deserve a place on the roadmap. Otherwise a neat sequence hides the reasons the team cannot follow it.\nWhat must be true before this work can start?\nWhich assumption would change the scope or the value?\nWho can unblock it, and when do we need their answer?\nWhat is the smallest useful thing we could learn or deliver first?\nUse a short commitment horizon\nNear-term work can be specific because the team understands it. Further-out work should become less precise as uncertainty increases. A now, next and later view can be more honest than assigning a date to every idea. Where a date is externally fixed, expose the scope and capacity trade-offs around it.\nA commitment also consumes the space for other work. Keep room for maintenance, support and the small discoveries that arise during delivery. If the plan assumes every hour is feature development, normal operations will look like a permanent exception.\nReview outcomes, not only movement\nAt a roadmap review, ask what changed for the user or the business. Finishing the order-status interface is not the same as reducing avoidable enquiries. The result may tell you to improve the data, simplify a step or stop investing in an idea. None of that is failure if the roadmap was meant to help you decide.\nOne shared version of the decision\nManagement and the delivery team should be able to tell the same story: what we are trying to achieve, what we have chosen for now and what remains uncertain. A short decision log helps when an older conversation gets remembered as an unconditional promise.\nThis connection between priorities and technical work is part of our fractional CTO role. For the delivery rhythm around the roadmap, read how we work with Kanban.\nPut it into practice Project scope estimator Pick what you need and get an indicative size and timeline. Use the tool\nKeep reading\nDelivery\nThe hidden cost of a fixed-price project\nA fixed price feels like control. On genuinely new work it quietly buys you the wrong thing, on time and on budget.\nRead more 2 min read\nDelivery\nWhat does a fractional CTO actually do?\nA practical look at the decisions, follow-through and working agreements behind part-time technical leadership.\nRead more 3 min read\nFoundations\nStaying agile without losing the long-term view\nAgile and a long-term plan sound like opposites. Held together, they keep fast work from painting you into a corner.\nRead more 2 min read\nBack to articles\nFacing something similar?\nThis is how we work. If the challenge in this article sounds familiar, tell us about yours and we'll give you a straight, useful answer.\nTalk to us","contentMode":"full","sections":[{"id":"start-with-the-change-you-want-to-see","heading":"Start with the change you want to see","text":"A request such as customer portal is a proposed solution, not yet an outcome. Ask what should become easier, for whom and how you will know. Perhaps the real problem is customers phoning to ask about order status. That gives you something to investigate before committing to a portal, an integration and a new support process.\nFor each proposed initiative, write the problem, the expected change and the evidence behind it. Then name the person who can decide whether that change matters enough. A technical roadmap needs business ownership as much as technical understanding.\nA useful sequence makes the next decision clearer."},{"id":"put-dependencies-beside-the-work","heading":"Put dependencies beside the work","text":"A small feature can depend on an unreliable data feed, access held by a supplier or a decision nobody has made about support. Those dependencies deserve a place on the roadmap. Otherwise a neat sequence hides the reasons the team cannot follow it.\nWhat must be true before this work can start?\nWhich assumption would change the scope or the value?\nWho can unblock it, and when do we need their answer?\nWhat is the smallest useful thing we could learn or deliver first?"},{"id":"use-a-short-commitment-horizon","heading":"Use a short commitment horizon","text":"Near-term work can be specific because the team understands it. Further-out work should become less precise as uncertainty increases. A now, next and later view can be more honest than assigning a date to every idea. Where a date is externally fixed, expose the scope and capacity trade-offs around it.\nA commitment also consumes the space for other work. Keep room for maintenance, support and the small discoveries that arise during delivery. If the plan assumes every hour is feature development, normal operations will look like a permanent exception."},{"id":"review-outcomes-not-only-movement","heading":"Review outcomes, not only movement","text":"At a roadmap review, ask what changed for the user or the business. Finishing the order-status interface is not the same as reducing avoidable enquiries. The result may tell you to improve the data, simplify a step or stop investing in an idea. None of that is failure if the roadmap was meant to help you decide."},{"id":"one-shared-version-of-the-decision","heading":"One shared version of the decision","text":"Management and the delivery team should be able to tell the same story: what we are trying to achieve, what we have chosen for now and what remains uncertain. A short decision log helps when an older conversation gets remembered as an unconditional promise.\nThis connection between priorities and technical work is part of our fractional CTO role. For the delivery rhythm around the roadmap, read how we work with Kanban.\nPut it into practice Project scope estimator Pick what you need and get an indicative size and timeline. Use the tool"}],"publishedAt":"2026-09-24"},{"id":"page.articles.accessibility-in-practice","locale":"en","kind":"article","canonicalUrl":"https://punfyre.be/en/articles/accessibility-in-practice","title":"Software isn't human-friendly until it's accessible","summary":"We promise human-friendly software. That claim is empty if part of the humans can't use it.","text":"Design\nSoftware isn't human-friendly until it's accessible\nUpdated Jun 29, 2026 · 2 min read\nWe describe our work as human-friendly software, and that claim is empty if part of the humans cannot use it. Accessibility is not a niche concern: beyond permanent impairments, everyone is situationally limited sometimes, one hand holding a child, bright sunlight on a screen, tired eyes at the end of a night shift. Software that holds up in those moments is simply better software.\nIn short\nHuman-friendly is an empty claim if part of the humans can't use it.\nBuilt in from the start it is nearly free; retrofitted it is expensive.\nAlmost everything accessibility asks for makes the product better for everyone.\nBuilt in, not bolted on\nReal contrast, full keyboard navigation, visible focus, honest labels on every control, and structure a screen readerSoftware that reads the screen out loud, used by people who are blind or have low vision. can make sense of: none of this is hard when it is part of the work from the start, and all of it is expensive to retrofit. We also respect people's own settings, like reduced motion, because the product should adapt to the person, never the other way around.\nAccessible is just better design\nAlmost everything accessibility asks for helps everyone. Clear labels help the distracted as much as the blind, forgiving forms help the hurried as much as the motor-impaired, and calm layouts help every single user. Treating accessibility as a design constraint makes the product sharper, not duller.\nHow we test it\nAccessibility claims are cheap; checks are what count. Ours are unglamorous, and run in order:\nNavigate the whole flow with only a keyboard, no mouse allowed.\nRun a screen readerSoftware that reads the screen out loud, used by people who are blind or have low vision. over the critical paths and listen to what it actually says.\nVerify contrast against the WCAG thresholds with a checker, not by eye.\nLoad the product with the settings real people use: larger text, reduced motion, dark mode.\nTen minutes of that finds what a complianceBeing able to show on paper that you meet the rules that apply to you. PDF never will.\nRegulation is moving the same way, with European accessibility rules now covering ever more digital services. But that is not the reason to do it. The reason is the promise in the phrase human-friendly: software for people, and people come in every variety.\nKeep reading\nDesign\nDesigning software people actually want to use\nGood design isn't decoration. It's the difference between software that helps and software people quietly work around.\nRead more 2 min read\nHealthcare\nBuilding healthcare software that stays calm on a busy day\nThe clarity a care team needs on its busiest afternoon rarely survives a long feature list. Here is how we protect it.\nRead more 2 min read\nDesign\nWhen software needs to press a real button\nA small button dock brings mechanics, firmware and TypeScript together. The interesting part is what happens between a command and a press.\nRead more 3 min read\nBack to articles\nFacing something similar?\nThis is how we work. If the challenge in this article sounds familiar, tell us about yours and we'll give you a straight, useful answer.\nTalk to us","contentMode":"full","sections":[{"id":"built-in-not-bolted-on","heading":"Built in, not bolted on","text":"Real contrast, full keyboard navigation, visible focus, honest labels on every control, and structure a screen readerSoftware that reads the screen out loud, used by people who are blind or have low vision. can make sense of: none of this is hard when it is part of the work from the start, and all of it is expensive to retrofit. We also respect people's own settings, like reduced motion, because the product should adapt to the person, never the other way around."},{"id":"accessible-is-just-better-design","heading":"Accessible is just better design","text":"Almost everything accessibility asks for helps everyone. Clear labels help the distracted as much as the blind, forgiving forms help the hurried as much as the motor-impaired, and calm layouts help every single user. Treating accessibility as a design constraint makes the product sharper, not duller."},{"id":"how-we-test-it","heading":"How we test it","text":"Accessibility claims are cheap; checks are what count. Ours are unglamorous, and run in order:\nNavigate the whole flow with only a keyboard, no mouse allowed.\nRun a screen readerSoftware that reads the screen out loud, used by people who are blind or have low vision. over the critical paths and listen to what it actually says.\nVerify contrast against the WCAG thresholds with a checker, not by eye.\nLoad the product with the settings real people use: larger text, reduced motion, dark mode.\nTen minutes of that finds what a complianceBeing able to show on paper that you meet the rules that apply to you. PDF never will.\nRegulation is moving the same way, with European accessibility rules now covering ever more digital services. But that is not the reason to do it. The reason is the promise in the phrase human-friendly: software for people, and people come in every variety."}],"publishedAt":"2026-06-29"},{"id":"page.articles.ai-in-healthcare","locale":"en","kind":"article","canonicalUrl":"https://punfyre.be/en/articles/ai-in-healthcare","title":"What AI actually changes in healthcare","summary":"Past the hype and the fear, AI is quietly reshaping diagnostics, admin, and how patients follow their own care.","text":"Responsible AI\nWhat AI actually changes in healthcare\nUpdated Jul 19, 2026 · 2 min read\nHealthcare has embraced new technology for decades, from medical imaging to electronic records. AI is the next wave, and it is worth being clear-eyed about what it changes, past both the hype and the fear.\nIn short\nAI sharpens diagnostics and shrinks admin; used well, it supports clinicians.\nThe time it saves belongs to patients, not to more paperwork.\nIt narrows work; people decide the outcomes that touch a care path.\nSharper diagnostics\nTrained on large sets of medical images, modelsSoftware that has learned patterns from a large set of examples, and applies them to something new instead of following rules a person wrote. can flag patterns a tired human eye might miss and help predict how a condition may progress. Used well, this supports a clinician's judgement rather than replacing it.\nLess admin, more care\nMuch of a care worker's day goes to paperwork and logistics. AI can take on the repetitive parts, from filling forms to optimising routes for mobile teams, giving that time back to patients, who in turn get better tools to follow their own care.\nWhere it should not decide\nThe line we hold is between narrowing work and deciding outcomes. AI that pre-sorts a worklist or drafts a report saves real time; AI that decides who gets seen first, or whether a concern is dismissed, has crossed into judgements a person must own. Whenever a model's output touches a patient's care path, someone qualified reviews it, and the system is built so skipping that review is not even possible.\nThe promise is real, but so is the responsibility. In care especially, AI has to stay advisory, human-approved, and safe when it is uncertain, the same rules we hold ourselves to everywhere.\nKeep reading\nResponsible AI\nNot every solution needs AI\nWe build AI features for a living, which is exactly why we'll tell you when you don't need one.\nRead more 2 min read\nResponsible AI\nAI that helps without quietly taking over\nAI that assists is useful. AI that decides alone is a liability. The difference is a few concrete rules we never bend.\nRead more 2 min read\nResponsible AI\nTelling people AI is involved\nIf software drafts, sorts or suggests on your behalf, the people on the other end deserve one plain sentence about it. Here is how to write it, who owns the mistakes and what to settle before you publish.\nRead more 5 min read\nBack to articles\nFacing something similar?\nThis is how we work. If the challenge in this article sounds familiar, tell us about yours and we'll give you a straight, useful answer.\nTalk to us","contentMode":"full","sections":[{"id":"sharper-diagnostics","heading":"Sharper diagnostics","text":"Trained on large sets of medical images, modelsSoftware that has learned patterns from a large set of examples, and applies them to something new instead of following rules a person wrote. can flag patterns a tired human eye might miss and help predict how a condition may progress. Used well, this supports a clinician's judgement rather than replacing it."},{"id":"less-admin-more-care","heading":"Less admin, more care","text":"Much of a care worker's day goes to paperwork and logistics. AI can take on the repetitive parts, from filling forms to optimising routes for mobile teams, giving that time back to patients, who in turn get better tools to follow their own care."},{"id":"where-it-should-not-decide","heading":"Where it should not decide","text":"The line we hold is between narrowing work and deciding outcomes. AI that pre-sorts a worklist or drafts a report saves real time; AI that decides who gets seen first, or whether a concern is dismissed, has crossed into judgements a person must own. Whenever a model's output touches a patient's care path, someone qualified reviews it, and the system is built so skipping that review is not even possible.\nThe promise is real, but so is the responsibility. In care especially, AI has to stay advisory, human-approved, and safe when it is uncertain, the same rules we hold ourselves to everywhere."}],"publishedAt":"2026-07-19"},{"id":"page.articles.building-on-foundations","locale":"en","kind":"article","canonicalUrl":"https://punfyre.be/en/articles/building-on-foundations","title":"Why we never build the basics twice","summary":"Most of what a new product needs has been built a hundred times before. Spending your budget rebuilding it is the expensive mistake.","text":"Foundations\nWhy we never build the basics twice\nUpdated Jul 24, 2026 · 2 min read\nEvery digital product needs the same unglamorous parts: accounts, permissions, payments, data, hostingWhere the software actually runs: the servers and services that keep it online.. Rebuilding them from scratch for each project is slow, risky, and a poor use of your budget.\nIn short\nAccounts, payments, hosting: solved problems you should not pay to rebuild.\nPunfyre Forge blocks are hardened in the products we run ourselves.\nYour budget goes to the part that makes your product yours.\nInherit what already works\nWe start from Punfyre Forge, our own proven building blocks, hardened in the products we run ourselves. You inherit years of shipping and edge cases already found and fixed, instead of discovering them the hard way on your own timeline. And because those blocks keep living in our own products, an improvement or security fix made for one project reaches every product built on them.\nSpend where it makes you different\nWhen the foundation is already there, more of the work goes into the part only your product needs, the thing that makes it yours. That is where budget belongs, and it is also the part we most enjoy building.\nWhat the foundation actually covers\nAccounts and roles: sign-in, sessions, permissions, password recovery, the whole flow people judge you on first.\nMoney and documents: payments, invoices, files, and mail that arrives instead of landing in spam.\nOperations: hosting, monitoringAutomatically watching a running system, so problems get noticed before users report them., backups, and the localisation plumbing for a three-language country.\nNone of that list is your product. All of it can sink your product when it is rebuilt badly, which is exactly why it should not be rebuilt at all.\nWhen the blocks don't fit\nA foundation is a starting point, not a straitjacket. When a project genuinely needs something the blocks do not offer, we build that part custom on top, and when a block almost fits we improve the block rather than fork it. That discipline is what keeps the foundation trustworthy for the next project too.\nStarting from proven blocks is not about cutting corners. It is about refusing to pay twice for the plumbing, so the interesting problems get the attention they deserve.\nKeep reading\nFoundations\nThe quiet work that keeps software healthy\nSoftware doesn't stand still after launch, the world around it moves. Staying healthy takes small, steady, unglamorous work.\nRead more 2 min read\nFoundations\nWhen custom software is the wrong choice\nWe build custom software for a living. That's exactly why you should hear us out when we say: sometimes, don't.\nRead more 2 min read\nFoundations\nA technology roadmap that helps business decisions\nUseful roadmaps make choices and uncertainty visible. A crowded timeline does not do that on its own.\nRead more 3 min read\nBack to articles\nFacing something similar?\nThis is how we work. If the challenge in this article sounds familiar, tell us about yours and we'll give you a straight, useful answer.\nTalk to us","contentMode":"full","sections":[{"id":"inherit-what-already-works","heading":"Inherit what already works","text":"We start from Punfyre Forge, our own proven building blocks, hardened in the products we run ourselves. You inherit years of shipping and edge cases already found and fixed, instead of discovering them the hard way on your own timeline. And because those blocks keep living in our own products, an improvement or security fix made for one project reaches every product built on them."},{"id":"spend-where-it-makes-you-different","heading":"Spend where it makes you different","text":"When the foundation is already there, more of the work goes into the part only your product needs, the thing that makes it yours. That is where budget belongs, and it is also the part we most enjoy building."},{"id":"what-the-foundation-actually-covers","heading":"What the foundation actually covers","text":"Accounts and roles: sign-in, sessions, permissions, password recovery, the whole flow people judge you on first.\nMoney and documents: payments, invoices, files, and mail that arrives instead of landing in spam.\nOperations: hosting, monitoringAutomatically watching a running system, so problems get noticed before users report them., backups, and the localisation plumbing for a three-language country.\nNone of that list is your product. All of it can sink your product when it is rebuilt badly, which is exactly why it should not be rebuilt at all."},{"id":"when-the-blocks-don-t-fit","heading":"When the blocks don't fit","text":"A foundation is a starting point, not a straitjacket. When a project genuinely needs something the blocks do not offer, we build that part custom on top, and when a block almost fits we improve the block rather than fork it. That discipline is what keeps the foundation trustworthy for the next project too.\nStarting from proven blocks is not about cutting corners. It is about refusing to pay twice for the plumbing, so the interesting problems get the attention they deserve."}],"publishedAt":"2026-07-24"},{"id":"page.articles.building-with-end-users","locale":"en","kind":"article","canonicalUrl":"https://punfyre.be/en/articles/building-with-end-users","title":"Build care technology with the ward, not just for it","summary":"Care innovation rarely fails on the technology. It fails on adoption, and adoption is decided by the people you did or didn't involve.","text":"Healthcare\nBuild care technology with the ward, not just for it\nUpdated Jul 7, 2026 · 2 min read\nCare innovation rarely fails because the technology did not work. It fails because the people who were supposed to use it never made it theirs. The single most reliable way to prevent that is also the simplest: involve the end users from the start, and keep involving them.\nIn short\nCare innovation fails on adoption, and adoption is decided by involvement.\nMix roles, make criticism safe, use more than one method.\nThe loop stays open after launch: that is when real feedback starts.\nWhy involvement pays\nPeople on the floor surface needs no requirements document captures, and they spot unintended consequences while they are still cheap to fix. Just as important, being heard creates ownership: a tool people helped shape is a tool they will defend, which is often the difference between adoption and an expensive rollout nobody uses.\nHow to do it well\nGet the right mix of people around the table, not just management. In practice, a few habits make the difference:\nInvite the real users: nurses, planners, and where it fits, patients and family.\nMake it safe to be critical, because polite feedback is useless feedback.\nUse more than one method: a shadowing session reveals things an interview never will, and a rough prototypeA rough but working version, made to try an idea out before it is built for real. in someone's hands beats any slide.\nInvolve people across the whole arc, from framing the problem to testing to evaluating what shipped.\nWorking through a flow at the whiteboard: cheaper than discovering it after launch.\nWhen users disagree\nInvolve enough people and they will contradict each other: the planner wants density, the nurse wants calm, management wants both. That is not a failure of the process, it is the process surfacing a real tension early. We resolve it against the tool's purpose, in the open, and tell both sides what was chosen and why, because a decision people saw being made is one they can live with.\nKeep the loop open after launch\nGoing live is not the end of the collaboration, it is the moment the real feedback starts. The first weeks of actual use surface what every workshop missed, and acting on that quickly is what turns a decent launch into a tool people would not want taken away.\nBuilt this way, the software inherits the knowledge of the floor instead of an imagined version of it. That is what separates care technology that gets used from care technology that gets tolerated.\nKeep reading\nDesign\nYour users already know what to fix next\nThe people using your software every day know exactly where it hurts. The trick is making it effortless for them to tell you.\nRead more 2 min read\nHealthcare\nBuilding healthcare software that stays calm on a busy day\nThe clarity a care team needs on its busiest afternoon rarely survives a long feature list. Here is how we protect it.\nRead more 2 min read\nHealthcare\nWhy security can't be an afterthought\nIn healthcare a breach isn't just a headline. It's why security has to be built in, not bolted on after.\nRead more 2 min read\nBack to articles\nFacing something similar?\nThis is how we work. If the challenge in this article sounds familiar, tell us about yours and we'll give you a straight, useful answer.\nTalk to us","contentMode":"full","sections":[{"id":"why-involvement-pays","heading":"Why involvement pays","text":"People on the floor surface needs no requirements document captures, and they spot unintended consequences while they are still cheap to fix. Just as important, being heard creates ownership: a tool people helped shape is a tool they will defend, which is often the difference between adoption and an expensive rollout nobody uses."},{"id":"how-to-do-it-well","heading":"How to do it well","text":"Get the right mix of people around the table, not just management. In practice, a few habits make the difference:\nInvite the real users: nurses, planners, and where it fits, patients and family.\nMake it safe to be critical, because polite feedback is useless feedback.\nUse more than one method: a shadowing session reveals things an interview never will, and a rough prototypeA rough but working version, made to try an idea out before it is built for real. in someone's hands beats any slide.\nInvolve people across the whole arc, from framing the problem to testing to evaluating what shipped.\nWorking through a flow at the whiteboard: cheaper than discovering it after launch."},{"id":"when-users-disagree","heading":"When users disagree","text":"Involve enough people and they will contradict each other: the planner wants density, the nurse wants calm, management wants both. That is not a failure of the process, it is the process surfacing a real tension early. We resolve it against the tool's purpose, in the open, and tell both sides what was chosen and why, because a decision people saw being made is one they can live with."},{"id":"keep-the-loop-open-after-launch","heading":"Keep the loop open after launch","text":"Going live is not the end of the collaboration, it is the moment the real feedback starts. The first weeks of actual use surface what every workshop missed, and acting on that quickly is what turns a decent launch into a tool people would not want taken away.\nBuilt this way, the software inherits the knowledge of the floor instead of an imagined version of it. That is what separates care technology that gets used from care technology that gets tolerated."}],"publishedAt":"2026-07-07"},{"id":"page.articles.cloud-software-in-care","locale":"en","kind":"article","canonicalUrl":"https://punfyre.be/en/articles/cloud-software-in-care","title":"What the cloud actually buys a care organisation","summary":"Less server room, more care. The honest case for cloud software in healthcare, including what it doesn't fix.","text":"Healthcare\nWhat the cloud actually buys a care organisation\nUpdated Jul 28, 2026 · 3 min read\nCare organisations run on tight budgets and tighter staffing. Every hour spent worrying about a server in a closet is an hour that does not go to care. That, more than any technical argument, is the case for cloudRunning software on rented servers in a professional data centre instead of on hardware you buy and maintain yourself. software in healthcare.\nIn short\nCloud hosting is usually a security upgrade for care organisations.\nPay for the use you have, not the busiest imaginable day.\nIt does not move your accountability: ask providers the hard questions.\nNo server room to babysit\nWith cloud hostingWhere the software actually runs: the servers and services that keep it online., the hardware, patching, and backups are handled by people whose whole job is exactly that, in facilities that are physically secured and monitored around the clock. For sensitive data that is usually a security upgrade, not a compromise: few care organisations can match that level of operational discipline in-house.\nCapacity that follows demand\nCloudRunning software on rented servers in a professional data centre instead of on hardware you buy and maintain yourself. systems scale with actual use, up during busy periods, down when things are quiet, and you pay for what you use instead of buying hardware for the busiest imaginable day. For organisations with seasonal swings or growth plans, that flexibility shows up directly in the budget.\nWhat the cloud does not fix\nHonesty matters here: moving to the cloudRunning software on rented servers in a professional data centre instead of on hardware you buy and maintain yourself. does not fix a broken process, and it does not move your responsibility for the data. You still decide who can access what, and for sensitive care data it matters where that data lives and under which rules, with the GDPR as the floor rather than the ceiling, which is why we host it in Europe, under European law. The cloud changes who runs the machines. It does not change who is accountable.\nQuestions to ask any provider\nWhere does our data physically live, and under which country's law?\nWho on your side can access it, and how is that access logged?\nHow do backups work, and when did you last actually restore from one?\nIf we leave, how do we get everything out, in a usable format, at what cost?\nA provider comfortable with those four questions is a partner. One that gets vague on any of them is telling you something important, for free.\nDone well, the result is simple: less time and money spent on infrastructure, more of both left for the work the organisation actually exists to do.\nKeep reading\nHealthcare\nWhy security can't be an afterthought\nIn healthcare a breach isn't just a headline. It's why security has to be built in, not bolted on after.\nRead more 2 min read\nFoundations\nThe quiet work that keeps software healthy\nSoftware doesn't stand still after launch, the world around it moves. Staying healthy takes small, steady, unglamorous work.\nRead more 2 min read\nHealthcare\nBuilding healthcare software that stays calm on a busy day\nThe clarity a care team needs on its busiest afternoon rarely survives a long feature list. Here is how we protect it.\nRead more 2 min read\nBack to articles\nFacing something similar?\nThis is how we work. If the challenge in this article sounds familiar, tell us about yours and we'll give you a straight, useful answer.\nTalk to us","contentMode":"full","sections":[{"id":"no-server-room-to-babysit","heading":"No server room to babysit","text":"With cloud hostingWhere the software actually runs: the servers and services that keep it online., the hardware, patching, and backups are handled by people whose whole job is exactly that, in facilities that are physically secured and monitored around the clock. For sensitive data that is usually a security upgrade, not a compromise: few care organisations can match that level of operational discipline in-house."},{"id":"capacity-that-follows-demand","heading":"Capacity that follows demand","text":"CloudRunning software on rented servers in a professional data centre instead of on hardware you buy and maintain yourself. systems scale with actual use, up during busy periods, down when things are quiet, and you pay for what you use instead of buying hardware for the busiest imaginable day. For organisations with seasonal swings or growth plans, that flexibility shows up directly in the budget."},{"id":"what-the-cloud-does-not-fix","heading":"What the cloud does not fix","text":"Honesty matters here: moving to the cloudRunning software on rented servers in a professional data centre instead of on hardware you buy and maintain yourself. does not fix a broken process, and it does not move your responsibility for the data. You still decide who can access what, and for sensitive care data it matters where that data lives and under which rules, with the GDPR as the floor rather than the ceiling, which is why we host it in Europe, under European law. The cloud changes who runs the machines. It does not change who is accountable."},{"id":"questions-to-ask-any-provider","heading":"Questions to ask any provider","text":"Where does our data physically live, and under which country's law?\nWho on your side can access it, and how is that access logged?\nHow do backups work, and when did you last actually restore from one?\nIf we leave, how do we get everything out, in a usable format, at what cost?\nA provider comfortable with those four questions is a partner. One that gets vague on any of them is telling you something important, for free.\nDone well, the result is simple: less time and money spent on infrastructure, more of both left for the work the organisation actually exists to do."}],"publishedAt":"2026-07-28"},{"id":"page.articles.cybersecurity-for-sensitive-data","locale":"en","kind":"article","canonicalUrl":"https://punfyre.be/en/articles/cybersecurity-for-sensitive-data","title":"Why security can't be an afterthought","summary":"In healthcare a breach isn't just a headline. It's why security has to be built in, not bolted on after.","text":"Healthcare\nWhy security can't be an afterthought\nUpdated Jul 15, 2026 · 2 min read\nSecurity matters everywhere, but it matters more when a system holds sensitive, personal information: medical records, financial details. In healthcare a breach harms patients and the organisation both, so we treat security as part of the build, not a layer added at the end.\nIn short\nMost breaches exploit skipped basics, not exotic attacks.\nLayer your defences: access control, backups, encryption, cloud hosting.\nRehearse the bad day before you have one.\nThe basics, done consistently\nMost breaches don't need anything exotic; the patterns are well documented, OWASP's top ten among them. The organisations that stay out of trouble are the ones that do the unglamorous basics, every time:\nKeep systems patchedUpdated with the fixes the maker has published, the security ones above all. and up to date, so known holes are closed before someone walks through them.\nEnforce a strong password policy, with multi-factor authenticationSigning in with something extra next to the password, such as a code on your phone. so a stolen password is far less useful to an attacker.\nTrain the team to spot and avoid threats, because most attacks start with a person, not a machine.\nLimit access to sensitive data to the people who genuinely need it.\nDefence in depth\nNo single measure is enough. Strict access controls, regular backups in case of an attack, and encryptionScrambling data so it is unreadable without the key, both where it is stored and while it travels. of data in transit each close a different door. Cloud hostingWhere the software actually runs: the servers and services that keep it online. adds another layer, with servers that are physically secured and continuously monitored.\nRehearse the bad day\nA security plan that has never been practised is a document, not a capability. Restore a backup for real at least once, decide in calm times who calls whom when something looks wrong, and walk through the first hour of an incident before you are ever in one. Teams that have rehearsed contain a bad day; teams that have not improvise it.\nBeyond protecting data, this is about trust. A breach costs the confidence of patients and partners, and that's far harder to rebuild than any system. The systems we're proud of stay both defensible and easy to trust, day after day.\nKeep reading\nFoundations\nThe quiet work that keeps software healthy\nSoftware doesn't stand still after launch, the world around it moves. Staying healthy takes small, steady, unglamorous work.\nRead more 2 min read\nHealthcare\nWhat the cloud actually buys a care organisation\nLess server room, more care. The honest case for cloud software in healthcare, including what it doesn't fix.\nRead more 3 min read\nHealthcare\nBuilding healthcare software that stays calm on a busy day\nThe clarity a care team needs on its busiest afternoon rarely survives a long feature list. Here is how we protect it.\nRead more 2 min read\nBack to articles\nFacing something similar?\nThis is how we work. If the challenge in this article sounds familiar, tell us about yours and we'll give you a straight, useful answer.\nTalk to us","contentMode":"full","sections":[{"id":"the-basics-done-consistently","heading":"The basics, done consistently","text":"Most breaches don't need anything exotic; the patterns are well documented, OWASP's top ten among them. The organisations that stay out of trouble are the ones that do the unglamorous basics, every time:\nKeep systems patchedUpdated with the fixes the maker has published, the security ones above all. and up to date, so known holes are closed before someone walks through them.\nEnforce a strong password policy, with multi-factor authenticationSigning in with something extra next to the password, such as a code on your phone. so a stolen password is far less useful to an attacker.\nTrain the team to spot and avoid threats, because most attacks start with a person, not a machine.\nLimit access to sensitive data to the people who genuinely need it."},{"id":"defence-in-depth","heading":"Defence in depth","text":"No single measure is enough. Strict access controls, regular backups in case of an attack, and encryptionScrambling data so it is unreadable without the key, both where it is stored and while it travels. of data in transit each close a different door. Cloud hostingWhere the software actually runs: the servers and services that keep it online. adds another layer, with servers that are physically secured and continuously monitored."},{"id":"rehearse-the-bad-day","heading":"Rehearse the bad day","text":"A security plan that has never been practised is a document, not a capability. Restore a backup for real at least once, decide in calm times who calls whom when something looks wrong, and walk through the first hour of an incident before you are ever in one. Teams that have rehearsed contain a bad day; teams that have not improvise it.\nBeyond protecting data, this is about trust. A breach costs the confidence of patients and partners, and that's far harder to rebuild than any system. The systems we're proud of stay both defensible and easy to trust, day after day."}],"publishedAt":"2026-07-15"},{"id":"page.articles.delivery-that-lasts","locale":"en","kind":"article","canonicalUrl":"https://punfyre.be/en/articles/delivery-that-lasts","title":"Shipping software that still works after we hand it over","summary":"A launch is the easy part. The real test is whether the thing keeps running once the attention moves on.","text":"Delivery\nShipping software that still works after we hand it over\nUpdated Oct 11, 2026 · 3 min read\nPlenty of software works on launch day and quietly rots afterwards. We care more about the second year than the first week, because that is where the value of a product actually lives.\nIn short\nWe optimise for the second year, not the launch week.\nHandover is scoped from day one: access, runbook, decision log, open ends.\nShort cycles keep progress visible and course corrections cheap.\nAlarmira, the product we have run the longest: delivery only counts if it still works years later.\nScope for the handover from day one\nWe build knowing someone else will eventually run it, including your own team. Clear structure, honest documentation, and no clever tricks that only make sense to the person who wrote them. Automated testsChecks the computer runs by itself after every change, so something broken shows up in minutes instead of at a user. are part of the same promise: they let the next developer change things confidently instead of tiptoeing around code nobody dares to touch.\nIterate in the open\nShort cycles mean you always know where things stand and can change course early, while it is cheap. No big-bang reveal at the end, no surprises about what got cut, just steady visible progress you can plan around.\nWrite it down like you're leaving\nDocumentation fails when it tries to describe everything. We keep it to what the next person actually needs: how to run it, how to deployPutting a new version of the software live for real users. it, where the data lives, and the decisions that would otherwise get relitigated in a year. A short, true document beats a long, stale one every time, and updating it is part of finishing a change, not a separate chore that never happens.\nWhat a handover actually includes\nAccess and ownership: accounts, domains, credentials and billing transferred to you, nothing left dangling on our side.\nA runbookA short operations guide: how to deploy, back up, monitor, and what to do when something needs attention. for the routine work: deploying, backups, monitoring, and what to do when a dependency needs updating.\nThe decision log: why the system is shaped the way it is, so the next developer changes it deliberately instead of by accident.\nOpen ends, named: the shortcuts we took knowingly and what we would tackle next.\nMake the last day uneventful\nDelivery is not the moment we walk away. It is the moment the software has to stand on its own: accounts handed over, access transferred, and the team that inherits it confident about making the next change. Everything we do before that day is aimed at making it a quiet one. What happens after it is a quiet discipline of its own.\nKeep reading\nDelivery\nWhy our projects run on a board, not a plan\nA big plan written up front is out of date by week two. A visible kanban board and short cycles let us move with the project instead.\nRead more 2 min read\nFoundations\nThe quiet work that keeps software healthy\nSoftware doesn't stand still after launch, the world around it moves. Staying healthy takes small, steady, unglamorous work.\nRead more 2 min read\nDelivery\nReplacing a legacy system without stopping the business\nThe scariest projects are the ones where the old system everyone depends on has to go. Here's how we make them boring.\nRead more 3 min read\nBack to articles\nFacing something similar?\nThis is how we work. If the challenge in this article sounds familiar, tell us about yours and we'll give you a straight, useful answer.\nTalk to us","contentMode":"full","sections":[{"id":"scope-for-the-handover-from-day-one","heading":"Scope for the handover from day one","text":"We build knowing someone else will eventually run it, including your own team. Clear structure, honest documentation, and no clever tricks that only make sense to the person who wrote them. Automated testsChecks the computer runs by itself after every change, so something broken shows up in minutes instead of at a user. are part of the same promise: they let the next developer change things confidently instead of tiptoeing around code nobody dares to touch."},{"id":"iterate-in-the-open","heading":"Iterate in the open","text":"Short cycles mean you always know where things stand and can change course early, while it is cheap. No big-bang reveal at the end, no surprises about what got cut, just steady visible progress you can plan around."},{"id":"write-it-down-like-you-re-leaving","heading":"Write it down like you're leaving","text":"Documentation fails when it tries to describe everything. We keep it to what the next person actually needs: how to run it, how to deployPutting a new version of the software live for real users. it, where the data lives, and the decisions that would otherwise get relitigated in a year. A short, true document beats a long, stale one every time, and updating it is part of finishing a change, not a separate chore that never happens."},{"id":"what-a-handover-actually-includes","heading":"What a handover actually includes","text":"Access and ownership: accounts, domains, credentials and billing transferred to you, nothing left dangling on our side.\nA runbookA short operations guide: how to deploy, back up, monitor, and what to do when something needs attention. for the routine work: deploying, backups, monitoring, and what to do when a dependency needs updating.\nThe decision log: why the system is shaped the way it is, so the next developer changes it deliberately instead of by accident.\nOpen ends, named: the shortcuts we took knowingly and what we would tackle next."},{"id":"make-the-last-day-uneventful","heading":"Make the last day uneventful","text":"Delivery is not the moment we walk away. It is the moment the software has to stand on its own: accounts handed over, access transferred, and the team that inherits it confident about making the next change. Everything we do before that day is aimed at making it a quiet one. What happens after it is a quiet discipline of its own."}],"publishedAt":"2026-10-11"},{"id":"page.articles.design-for-real-use","locale":"en","kind":"article","canonicalUrl":"https://punfyre.be/en/articles/design-for-real-use","title":"Designing software people actually want to use","summary":"Good design isn't decoration. It's the difference between software that helps and software people quietly work around.","text":"Design\nDesigning software people actually want to use\nUpdated Jul 3, 2026 · 2 min read\nDesign does a lot of the quiet work in human-friendly software. A well-designed tool is intuitive and easy, which lifts not just the experience but the actual productivity of the people using it. We treat design as a core part of building, not a coat of paint at the end.\nIn short\nDesign is core build work, not decoration at the end.\nDesign for people under pressure: simple from the first minute.\nPrototype with real users before you polish anything.\nDesign for the people under pressure\nThe people who use serious software often work under time pressure, without the luxury of a long learning curve, a care worker between patients being the sharpest example. So it has to be simple from the first minute, not after a training day.\nInvolve the people who'll use it\nWe lean on user research, usability testing, and prototypesA rough but working version, made to try an idea out before it is built for real., and we bring real users into the process. That's how we make sure the thing fits how people actually work, rather than how we imagined they might.\nPrototype before you polish\nThe cheapest moment to be wrong is before anything is built. A clickable sketch in front of a real user answers more in twenty minutes than a week of internal debate, so we put rough versions in real hands early and let the awkward silences tell us what the design still owes. Polish comes after the shape is right, never instead of it.\nA coherent look and feel, consistent colour, type, and layout throughout, does the rest, flattening the learning curve so people can find their way without thinking about it. Good design isn't the finish; it's what makes the software genuinely usable.\nKeep reading\nDesign\nYour users already know what to fix next\nThe people using your software every day know exactly where it hurts. The trick is making it effortless for them to tell you.\nRead more 2 min read\nDesign\nSoftware isn't human-friendly until it's accessible\nWe promise human-friendly software. That claim is empty if part of the humans can't use it.\nRead more 2 min read\nDesign\nWhen software needs to press a real button\nA small button dock brings mechanics, firmware and TypeScript together. The interesting part is what happens between a command and a press.\nRead more 3 min read\nBack to articles\nFacing something similar?\nThis is how we work. If the challenge in this article sounds familiar, tell us about yours and we'll give you a straight, useful answer.\nTalk to us","contentMode":"full","sections":[{"id":"design-for-the-people-under-pressure","heading":"Design for the people under pressure","text":"The people who use serious software often work under time pressure, without the luxury of a long learning curve, a care worker between patients being the sharpest example. So it has to be simple from the first minute, not after a training day."},{"id":"involve-the-people-who-ll-use-it","heading":"Involve the people who'll use it","text":"We lean on user research, usability testing, and prototypesA rough but working version, made to try an idea out before it is built for real., and we bring real users into the process. That's how we make sure the thing fits how people actually work, rather than how we imagined they might."},{"id":"prototype-before-you-polish","heading":"Prototype before you polish","text":"The cheapest moment to be wrong is before anything is built. A clickable sketch in front of a real user answers more in twenty minutes than a week of internal debate, so we put rough versions in real hands early and let the awkward silences tell us what the design still owes. Polish comes after the shape is right, never instead of it.\nA coherent look and feel, consistent colour, type, and layout throughout, does the rest, flattening the learning curve so people can find their way without thinking about it. Good design isn't the finish; it's what makes the software genuinely usable."}],"publishedAt":"2026-07-03"},{"id":"page.articles.first-90-days-with-a-fractional-cto","locale":"en","kind":"article","canonicalUrl":"https://punfyre.be/en/articles/first-90-days-with-a-fractional-cto","title":"The first 90 days with a fractional CTO","summary":"A practical starting rhythm for fractional CTO support: understand the system, agree responsibilities, choose priorities and follow decisions into delivery.","text":"Delivery\nThe first 90 days with a fractional CTO\nUpdated Oct 15, 2026 · 3 min read\nA new technical leader can make an impressive entrance by naming everything that ought to change. That is not the same as understanding what the company needs. The first part of an engagement should make the situation clearer before making the plan larger.\nIn short\nStart by understanding the business, the system and the people, not by announcing a rewrite.\nAgree responsibilities and a short agenda before expanding the engagement.\nLook for better decisions and a more capable team, not a pile of documents.\nThe outline below is a useful way to think about the first few months, not a fixed delivery package. Available capacity, access and the state of the team change the pace. In an incident, some work must happen immediately. In a stable product, listening first may be the most useful contribution.\nFirst: understand the actual work\nTalk to management, developers and the people who support or use the product. Follow a recent change from request to production. Look at a real incident and a real customer problem. Documents help, but the way work moves often explains more than the architecture diagram.\nEstablish safe access and the current ownership of systems, credentials and suppliers. Identify urgent risks and existing commitments. The initial output should be a short shared view of what needs attention, what can wait and what is still unknown.\nThe sequence matters more than forcing every organisation into the same calendar.\nNext: choose a small working agenda\nAgree the decisions the role will own and the decisions that remain with you. Select a few priorities connected to the business, such as making a fragile release safer, clarifying a supplier dependency or turning an overloaded backlog into a manageable next step.\nWrite down the problem and the intended improvement.\nName the people responsible for the decision and the implementation.\nDefine what evidence will show the intervention helped.\nAgree availability, escalation and the next review.\nAvoid starting several structural projects just because the review uncovered them. A long list of sensible improvements can become the new source of uncertainty. Make the trade-off visible and finish something useful before widening the agenda.\nThen: follow the choices into delivery\nStay close enough to the implementation to discover when an assumption was wrong. Review the changed part of the system, the release path and the support implications. Keep decisions accessible to the team and management. A decision log should explain why a choice was made, not merely record that a meeting happened.\nAt the review: ask what became easier\nCan the team explain its priorities? Does management understand the current technical risks? Is one previously fragile change now safer to release? Can someone other than the usual expert do the task? These are more useful questions than counting recommendations or meetings.\nThe review may point to continuing the role, reducing involvement, adding implementation capacity or preparing an internal appointment. An engagement that learns it is no longer needed has not failed. The aim was a more capable organisation, not a permanent dependency.\nThe fractional CTO service page explains how we agree that involvement. You can also read Levi's professional experience before deciding whether to start a conversation.\nKeep reading\nFoundations\nA technology roadmap that helps business decisions\nUseful roadmaps make choices and uncertainty visible. A crowded timeline does not do that on its own.\nRead more 3 min read\nDelivery\nWhat does a fractional CTO actually do?\nA practical look at the decisions, follow-through and working agreements behind part-time technical leadership.\nRead more 3 min read\nDelivery\nShipping software that still works after we hand it over\nA launch is the easy part. The real test is whether the thing keeps running once the attention moves on.\nRead more 3 min read\nBack to articles\nFacing something similar?\nThis is how we work. If the challenge in this article sounds familiar, tell us about yours and we'll give you a straight, useful answer.\nTalk to us","contentMode":"full","sections":[{"id":"first-understand-the-actual-work","heading":"First: understand the actual work","text":"Talk to management, developers and the people who support or use the product. Follow a recent change from request to production. Look at a real incident and a real customer problem. Documents help, but the way work moves often explains more than the architecture diagram.\nEstablish safe access and the current ownership of systems, credentials and suppliers. Identify urgent risks and existing commitments. The initial output should be a short shared view of what needs attention, what can wait and what is still unknown.\nThe sequence matters more than forcing every organisation into the same calendar."},{"id":"next-choose-a-small-working-agenda","heading":"Next: choose a small working agenda","text":"Agree the decisions the role will own and the decisions that remain with you. Select a few priorities connected to the business, such as making a fragile release safer, clarifying a supplier dependency or turning an overloaded backlog into a manageable next step.\nWrite down the problem and the intended improvement.\nName the people responsible for the decision and the implementation.\nDefine what evidence will show the intervention helped.\nAgree availability, escalation and the next review.\nAvoid starting several structural projects just because the review uncovered them. A long list of sensible improvements can become the new source of uncertainty. Make the trade-off visible and finish something useful before widening the agenda."},{"id":"then-follow-the-choices-into-delivery","heading":"Then: follow the choices into delivery","text":"Stay close enough to the implementation to discover when an assumption was wrong. Review the changed part of the system, the release path and the support implications. Keep decisions accessible to the team and management. A decision log should explain why a choice was made, not merely record that a meeting happened."},{"id":"at-the-review-ask-what-became-easier","heading":"At the review: ask what became easier","text":"Can the team explain its priorities? Does management understand the current technical risks? Is one previously fragile change now safer to release? Can someone other than the usual expert do the task? These are more useful questions than counting recommendations or meetings.\nThe review may point to continuing the role, reducing involvement, adding implementation capacity or preparing an internal appointment. An engagement that learns it is no longer needed has not failed. The aim was a more capable organisation, not a permanent dependency.\nThe fractional CTO service page explains how we agree that involvement. You can also read Levi's professional experience before deciding whether to start a conversation."}],"publishedAt":"2026-10-15"},{"id":"page.articles.fixed-estimates-and-innovation","locale":"en","kind":"article","canonicalUrl":"https://punfyre.be/en/articles/fixed-estimates-and-innovation","title":"The hidden cost of a fixed-price project","summary":"A fixed price feels like control. On genuinely new work it quietly buys you the wrong thing, on time and on budget.","text":"Delivery\nThe hidden cost of a fixed-price project\nUpdated Aug 26, 2026 · 2 min read\nWe're wary of fixed estimates for software, especially for anything new. Tie a project to a single number up front and you make change expensive, exactly when the freedom to change course is the point.\nIn short\nA fixed price makes change expensive exactly when changing course matters most.\nHonest estimates are ranges with their assumptions written down.\nFrequent delivery keeps you in charge of what gets built next.\nChange is the normal case\nOn real projects the requirements shift as everyone learns. Under a fixed scopeWhat is and is not part of the work that was agreed., every change has to be re-estimated and pushed to a later phase, so delivery becomes a few big milestones months apart instead of a steady flow of working software.\nFrequent delivery beats a big reveal\nShipping in small increments means feedback lands early, while it's still cheap to act on, and the work stays visibly on track. A fixed estimate pulls the other way: hold everything back, reconcile at the end, and hope it still fits.\nWhat an honest estimate looks like\nWe still estimate, we just refuse to pretend. An honest estimate is a range with its assumptions written down: what we think is simple, what we suspect is hairy, and which unknowns will move the number. As the project teaches us more, the range narrows in the open, instead of a fixed number quietly absorbing the risk as hidden padding.\nPriced as we go\nA fixed price gives a feeling of budget control, but it caps the project and usually costs more in the end, because the risk has to be priced in. We'd rather quote as we go, keep you in charge of what gets built next, and value responding to change over following a plan.\nKeep reading\nDelivery\nWhy our projects run on a board, not a plan\nA big plan written up front is out of date by week two. A visible kanban board and short cycles let us move with the project instead.\nRead more 2 min read\nFoundations\nWhen custom software is the wrong choice\nWe build custom software for a living. That's exactly why you should hear us out when we say: sometimes, don't.\nRead more 2 min read\nDelivery\nWhy we work with the door open\nA project you can't see into is a project you can't steer. Openness isn't a courtesy, it's how good software gets made.\nRead more 2 min read\nBack to articles\nFacing something similar?\nThis is how we work. If the challenge in this article sounds familiar, tell us about yours and we'll give you a straight, useful answer.\nTalk to us","contentMode":"full","sections":[{"id":"change-is-the-normal-case","heading":"Change is the normal case","text":"On real projects the requirements shift as everyone learns. Under a fixed scopeWhat is and is not part of the work that was agreed., every change has to be re-estimated and pushed to a later phase, so delivery becomes a few big milestones months apart instead of a steady flow of working software."},{"id":"frequent-delivery-beats-a-big-reveal","heading":"Frequent delivery beats a big reveal","text":"Shipping in small increments means feedback lands early, while it's still cheap to act on, and the work stays visibly on track. A fixed estimate pulls the other way: hold everything back, reconcile at the end, and hope it still fits."},{"id":"what-an-honest-estimate-looks-like","heading":"What an honest estimate looks like","text":"We still estimate, we just refuse to pretend. An honest estimate is a range with its assumptions written down: what we think is simple, what we suspect is hairy, and which unknowns will move the number. As the project teaches us more, the range narrows in the open, instead of a fixed number quietly absorbing the risk as hidden padding."},{"id":"priced-as-we-go","heading":"Priced as we go","text":"A fixed price gives a feeling of budget control, but it caps the project and usually costs more in the end, because the risk has to be priced in. We'd rather quote as we go, keep you in charge of what gets built next, and value responding to change over following a plan."}],"publishedAt":"2026-08-26"},{"id":"page.articles.fractional-cto-advisor-or-full-time","locale":"en","kind":"article","canonicalUrl":"https://punfyre.be/en/articles/fractional-cto-advisor-or-full-time","title":"Fractional CTO, advisor or full-time CTO?","summary":"Compare technical advice, fractional CTO support and a full-time CTO. Choose by responsibility, decision frequency and the continuity your team needs.","text":"Foundations\nFractional CTO, advisor or full-time CTO?\nUpdated Aug 22, 2026 · 3 min read\nThese options are often presented as three prices for the same service. They are not. Someone who reviews a decision, someone who helps own the decisions over time and someone who leads a technology organisation every day have different jobs. Choosing on day rate alone misses the more important distinction.\nIn short\nAdvice, ongoing leadership and full-time responsibility solve different needs.\nMatch the arrangement to decision frequency, continuity and the team's needs.\nA fractional CTO should help you recognise when the role needs to become internal.\nAn advisor helps you examine a question\nAdvice fits a bounded need: reviewing a system, assessing a supplier proposal or deciding whether an idea needs custom software. You bring the context, the advisor investigates and explains the options, and your organisation owns what happens next. That can be exactly enough.\nThe boundary should be visible. A good audit does not quietly become a promise to manage implementation forever. If the recommendations are clear and your team can act on them, you may not need an ongoing leadership arrangement.\nChoose by responsibility and continuity, not by title alone.\nA fractional CTO stays with an agreed responsibility\nThis fits when important technical decisions recur and the company needs continuity, but not a full-time leadership position. The involvement can connect management, developers and suppliers, keep the technical roadmap coherent and follow the choices through to delivery.\nPart-time only works when the agreement is realistic. Define availability, the decisions the person can make and the work that remains with your team. There must be a way to handle urgent issues between the agreed working periods. A small allocation cannot provide continuous presence by implication.\nA full-time CTO carries a different organisational load\nWhen daily leadership, recruitment, multiple teams, budget responsibility and organisational change need sustained attention, a full-time role may be the right answer. This is not a failure of the fractional model. It means the work has grown into a different job.\nAn external technical leader can help you define that position and prepare a handover. The organisation should own its decisions, documentation and relationships. Transition becomes harder if those have accumulated in a consultant's private inbox.\nAsk these questions before choosing\nIs the need one decision, a recurring set of decisions or a daily leadership function?\nWho will implement and support what is decided?\nHow much continuity and availability does the team actually need?\nWhich responsibilities must stay inside the company?\nWhen will we review whether the arrangement still fits?\nYou may need development capacity instead\nIf the direction is clear and the real problem is a lack of people to implement it, another leadership layer may slow things down. Scope the implementation work rather than buying a title to solve a capacity gap. The useful arrangement is the one that addresses the missing responsibility, not the most impressive label.\nOur advisory service and fractional CTO support describe those different starting points. Levi's professional profile sets out the experience behind the work.\nKeep reading\nFoundations\nWhen custom software is the wrong choice\nWe build custom software for a living. That's exactly why you should hear us out when we say: sometimes, don't.\nRead more 2 min read\nDelivery\nSigns your company needs technical leadership\nNot every delay calls for another developer. Sometimes the missing capacity is someone who can connect the decisions.\nRead more 3 min read\nDelivery\nWhat does a fractional CTO actually do?\nA practical look at the decisions, follow-through and working agreements behind part-time technical leadership.\nRead more 3 min read\nBack to articles\nFacing something similar?\nThis is how we work. If the challenge in this article sounds familiar, tell us about yours and we'll give you a straight, useful answer.\nTalk to us","contentMode":"full","sections":[{"id":"an-advisor-helps-you-examine-a-question","heading":"An advisor helps you examine a question","text":"Advice fits a bounded need: reviewing a system, assessing a supplier proposal or deciding whether an idea needs custom software. You bring the context, the advisor investigates and explains the options, and your organisation owns what happens next. That can be exactly enough.\nThe boundary should be visible. A good audit does not quietly become a promise to manage implementation forever. If the recommendations are clear and your team can act on them, you may not need an ongoing leadership arrangement.\nChoose by responsibility and continuity, not by title alone."},{"id":"a-fractional-cto-stays-with-an-agreed-responsibility","heading":"A fractional CTO stays with an agreed responsibility","text":"This fits when important technical decisions recur and the company needs continuity, but not a full-time leadership position. The involvement can connect management, developers and suppliers, keep the technical roadmap coherent and follow the choices through to delivery.\nPart-time only works when the agreement is realistic. Define availability, the decisions the person can make and the work that remains with your team. There must be a way to handle urgent issues between the agreed working periods. A small allocation cannot provide continuous presence by implication."},{"id":"a-full-time-cto-carries-a-different-organisational-load","heading":"A full-time CTO carries a different organisational load","text":"When daily leadership, recruitment, multiple teams, budget responsibility and organisational change need sustained attention, a full-time role may be the right answer. This is not a failure of the fractional model. It means the work has grown into a different job.\nAn external technical leader can help you define that position and prepare a handover. The organisation should own its decisions, documentation and relationships. Transition becomes harder if those have accumulated in a consultant's private inbox."},{"id":"ask-these-questions-before-choosing","heading":"Ask these questions before choosing","text":"Is the need one decision, a recurring set of decisions or a daily leadership function?\nWho will implement and support what is decided?\nHow much continuity and availability does the team actually need?\nWhich responsibilities must stay inside the company?\nWhen will we review whether the arrangement still fits?"},{"id":"you-may-need-development-capacity-instead","heading":"You may need development capacity instead","text":"If the direction is clear and the real problem is a lack of people to implement it, another leadership layer may slow things down. Scope the implementation work rather than buying a title to solve a capacity gap. The useful arrangement is the one that addresses the missing responsibility, not the most impressive label.\nOur advisory service and fractional CTO support describe those different starting points. Levi's professional profile sets out the experience behind the work."}],"publishedAt":"2026-08-22"},{"id":"page.articles.healthcare-technology","locale":"en","kind":"article","canonicalUrl":"https://punfyre.be/en/articles/healthcare-technology","title":"Building healthcare software that stays calm on a busy day","summary":"The clarity a care team needs on its busiest afternoon rarely survives a long feature list. Here is how we protect it.","text":"Healthcare\nBuilding healthcare software that stays calm on a busy day\nUpdated Jul 11, 2026 · 2 min read\nHealthcare software is judged on its worst day, not in the demo. When a ward is short-staffed and the phone will not stop, the screen either helps or gets in the way. Everything we build for care settings starts from that moment.\nIn short\nCare software is judged on its busiest day, not in the demo.\nCalm screens, safe interruptions and honest error states are core scope.\nUsable from the first shift, without a training day.\nDesign for the busy day, not the demo\nIt is easy to make a health tool look impressive with every field on show. It is much harder to make the one thing someone needs at a glance obvious while the rest steps back. We push hard for that restraint, because a calmer screen is a safer screen. Knowing which thing must lead is exactly why we build with the ward, not just for it.\nAlarmira, the personal-safety app we build and run ourselves: one primary action per screen, everything else steps back.\nReliability is a feature you can feel\nA care system that is occasionally wrong is worse than none at all, because people stop trusting it. We treat uptimeThe share of time a system is actually up and usable., clear error states, and safe handling of missing data as core scopeWhat is and is not part of the work that was agreed., not polish added at the end.\nInterruptions are the normal case\nCare work is interrupted work: a call mid-registration, an alarm mid-handover. Software for that world has to make being interrupted safe, so we design for resumption: half-finished entries survive, the screen you return to still shows where you were, and nothing important depends on someone finishing a flow in one go.\nReady from the first shift\nA tool that needs a training day before it is useful will meet people who never got that day. We aim for software a new colleague can use on their first shift: the vocabulary of the ward instead of the vendor, defaults that match the common case, and the rare-but-critical actions guarded rather than hidden.\nComplianceBeing able to show on paper that you meet the rules that apply to you. matters, but it cannot be the reason a nurse fights the interface. The systems we are proud of are the ones that stay both defensible and genuinely usable, every single shift.\nKeep reading\nDesign\nDesigning software people actually want to use\nGood design isn't decoration. It's the difference between software that helps and software people quietly work around.\nRead more 2 min read\nHealthcare\nBuild care technology with the ward, not just for it\nCare innovation rarely fails on the technology. It fails on adoption, and adoption is decided by the people you did or didn't involve.\nRead more 2 min read\nHealthcare\nWhy security can't be an afterthought\nIn healthcare a breach isn't just a headline. It's why security has to be built in, not bolted on after.\nRead more 2 min read\nBack to articles\nFacing something similar?\nThis is how we work. If the challenge in this article sounds familiar, tell us about yours and we'll give you a straight, useful answer.\nTalk to us","contentMode":"full","sections":[{"id":"design-for-the-busy-day-not-the-demo","heading":"Design for the busy day, not the demo","text":"It is easy to make a health tool look impressive with every field on show. It is much harder to make the one thing someone needs at a glance obvious while the rest steps back. We push hard for that restraint, because a calmer screen is a safer screen. Knowing which thing must lead is exactly why we build with the ward, not just for it.\nAlarmira, the personal-safety app we build and run ourselves: one primary action per screen, everything else steps back."},{"id":"reliability-is-a-feature-you-can-feel","heading":"Reliability is a feature you can feel","text":"A care system that is occasionally wrong is worse than none at all, because people stop trusting it. We treat uptimeThe share of time a system is actually up and usable., clear error states, and safe handling of missing data as core scopeWhat is and is not part of the work that was agreed., not polish added at the end."},{"id":"interruptions-are-the-normal-case","heading":"Interruptions are the normal case","text":"Care work is interrupted work: a call mid-registration, an alarm mid-handover. Software for that world has to make being interrupted safe, so we design for resumption: half-finished entries survive, the screen you return to still shows where you were, and nothing important depends on someone finishing a flow in one go."},{"id":"ready-from-the-first-shift","heading":"Ready from the first shift","text":"A tool that needs a training day before it is useful will meet people who never got that day. We aim for software a new colleague can use on their first shift: the vocabulary of the ward instead of the vendor, defaults that match the common case, and the rare-but-critical actions guarded rather than hidden.\nComplianceBeing able to show on paper that you meet the rules that apply to you. matters, but it cannot be the reason a nurse fights the interface. The systems we are proud of are the ones that stay both defensible and genuinely usable, every single shift."}],"publishedAt":"2026-07-11"},{"id":"page.articles.how-to-read-a-software-quote","locale":"en","kind":"article","canonicalUrl":"https://punfyre.be/en/articles/how-to-read-a-software-quote","title":"How to read a software quote","summary":"A software quote is easy to read for the price and hard to read for everything the price depends on.","text":"Delivery\nHow to read a software quote\nUpdated Aug 30, 2026 · 5 min read\nA quote for software is easy to read for the number and hard to read for everything else. The number is the part everyone looks at; the lines around it decide what the number buys, and the lines that are missing decide what it does not. Here is how we read one, our own included.\nIn short\nThe number is the easy part. What a quote leaves unsaid decides what the number buys.\nA range with written assumptions tells you more than a single fixed figure.\nA good quote names scope, exclusions, acceptance, who does the work and what you receive.\nWhat a quote usually leaves out\nFive things go unsaid more often than any other, and each of them turns into an invoice later:\nSupport scope: \"support included\" without saying what counts as support, what counts as a billable extra, and how work is prioritised once the product is live.\nChange pricing: how a request after signature is priced, as a fixed quote, an hourly rate or a bundle. If it is not on the page, change is priced later, on the supplier's terms.\nLicence costs inside the monthly fee: third-party licences, hosting and services rolled into one line, so you cannot see what you are paying for or what you keep if you leave.\nHandover as a favour: nothing about what you receive at the end, so handover becomes a negotiation at the moment you have the least leverage.\nHosting and accounts not in your name: the domain, the hosting and the third-party services registered to the supplier, which makes leaving a technical project rather than a decision.\nNone of these is dishonest on its own. A quote is a short document, and nobody writes down everything. The trouble is that silence reads as \"included\" to the buyer and as \"extra\" to the seller, and the difference only surfaces when it costs something.\nA fixed price or a range\nA single number looks safe. For work that has been done many times before it can be fair. For anything new it caps the project and usually costs more in the end, because the risk is priced in as padding you cannot see and every change has to pass through a re-estimate. We have written about why, and the short version is that a fixed price makes change expensive exactly when the freedom to change course is the point.\nAn estimate that respects you is a range with its assumptionsThe things the supplier took as given when sizing the work: what exists already, what you will provide, what is out of scope. If one turns out false, the number moves. written down: what the supplier thinks is simple, what they suspect is hard, and which unknowns will move the number. Either shape can be a fair quote. What matters is that you know which one you are holding, and what happens when reality differs from the assumptions.\nWhat a good quote names\nScope: what will be built, in words you understand, including what is explicitly not included.\nAcceptance: how you decide it is done, and who decides.\nWho does the work: named people, whether any part is subcontracted, and who your day-to-day contact is.\nWhat you receive: source code, documentation, credentials and accounts, in your name.\nWhat the monthly fee is made of: hosting, licences, support, and what each of those covers.\nHow change and support are priced after launch, before you need either.\nOur own general terms say that consultancy is an obligation of means, and that the concrete arrangements on scope, pricing, timelines, acceptance and intellectual property live in the project documents. That is deliberate: a general terms page cannot describe your project, so the quote and the scope document have to. The same goes for support. We scope it per system and agree it up front, and we work by priority rather than a fixed clock, so the quote says so rather than leaving you to assume otherwise.\nFive questions to ask back\nWhat is explicitly not included, and what would it cost to add?\nHow is a change priced after we sign?\nWhat does support cover, what is a billable extra, and how do you decide what gets done first?\nWhich of these costs are licences or hosting, and are they registered in my name?\nWhat exactly do I receive at the end, and is the handover described and priced here?\nA supplier who answers all five in writing has given you a better quote than the one you asked for. Hesitation on the basics is an answer too, and so is an answer that arrives by phone and never makes it onto the page.\nBefore you ask for a quote\nIf you are earlier than that, our project scope estimator gives a first size for your idea and a scope brief you can hand to any supplier. Sending the same brief to everyone is the simplest way to get quotes you can compare, because the differences between them will be in the terms rather than in what each supplier guessed you meant.\nThe full list of questions, including the ones about who owns what and what happens if the partner disappears, is in our software partner checklist. Take it to the conversation, and keep the answers.\nPut it into practice Project scope estimator Pick what you need and get an indicative size and timeline. Use the tool\nKeep reading\nDelivery\nThe hidden cost of a fixed-price project\nA fixed price feels like control. On genuinely new work it quietly buys you the wrong thing, on time and on budget.\nRead more 2 min read\nFoundations\nWho owns the software you paid for\nPaying for custom software does not make it yours unless the contract says which parts are, in plain words.\nRead more 5 min read\nDelivery\nSigns your company needs technical leadership\nNot every delay calls for another developer. Sometimes the missing capacity is someone who can connect the decisions.\nRead more 3 min read\nBack to articles\nFacing something similar?\nThis is how we work. If the challenge in this article sounds familiar, tell us about yours and we'll give you a straight, useful answer.\nTalk to us","contentMode":"full","sections":[{"id":"what-a-quote-usually-leaves-out","heading":"What a quote usually leaves out","text":"Five things go unsaid more often than any other, and each of them turns into an invoice later:\nSupport scope: \"support included\" without saying what counts as support, what counts as a billable extra, and how work is prioritised once the product is live.\nChange pricing: how a request after signature is priced, as a fixed quote, an hourly rate or a bundle. If it is not on the page, change is priced later, on the supplier's terms.\nLicence costs inside the monthly fee: third-party licences, hosting and services rolled into one line, so you cannot see what you are paying for or what you keep if you leave.\nHandover as a favour: nothing about what you receive at the end, so handover becomes a negotiation at the moment you have the least leverage.\nHosting and accounts not in your name: the domain, the hosting and the third-party services registered to the supplier, which makes leaving a technical project rather than a decision.\nNone of these is dishonest on its own. A quote is a short document, and nobody writes down everything. The trouble is that silence reads as \"included\" to the buyer and as \"extra\" to the seller, and the difference only surfaces when it costs something."},{"id":"a-fixed-price-or-a-range","heading":"A fixed price or a range","text":"A single number looks safe. For work that has been done many times before it can be fair. For anything new it caps the project and usually costs more in the end, because the risk is priced in as padding you cannot see and every change has to pass through a re-estimate. We have written about why, and the short version is that a fixed price makes change expensive exactly when the freedom to change course is the point.\nAn estimate that respects you is a range with its assumptionsThe things the supplier took as given when sizing the work: what exists already, what you will provide, what is out of scope. If one turns out false, the number moves. written down: what the supplier thinks is simple, what they suspect is hard, and which unknowns will move the number. Either shape can be a fair quote. What matters is that you know which one you are holding, and what happens when reality differs from the assumptions."},{"id":"what-a-good-quote-names","heading":"What a good quote names","text":"Scope: what will be built, in words you understand, including what is explicitly not included.\nAcceptance: how you decide it is done, and who decides.\nWho does the work: named people, whether any part is subcontracted, and who your day-to-day contact is.\nWhat you receive: source code, documentation, credentials and accounts, in your name.\nWhat the monthly fee is made of: hosting, licences, support, and what each of those covers.\nHow change and support are priced after launch, before you need either.\nOur own general terms say that consultancy is an obligation of means, and that the concrete arrangements on scope, pricing, timelines, acceptance and intellectual property live in the project documents. That is deliberate: a general terms page cannot describe your project, so the quote and the scope document have to. The same goes for support. We scope it per system and agree it up front, and we work by priority rather than a fixed clock, so the quote says so rather than leaving you to assume otherwise."},{"id":"five-questions-to-ask-back","heading":"Five questions to ask back","text":"What is explicitly not included, and what would it cost to add?\nHow is a change priced after we sign?\nWhat does support cover, what is a billable extra, and how do you decide what gets done first?\nWhich of these costs are licences or hosting, and are they registered in my name?\nWhat exactly do I receive at the end, and is the handover described and priced here?\nA supplier who answers all five in writing has given you a better quote than the one you asked for. Hesitation on the basics is an answer too, and so is an answer that arrives by phone and never makes it onto the page."},{"id":"before-you-ask-for-a-quote","heading":"Before you ask for a quote","text":"If you are earlier than that, our project scope estimator gives a first size for your idea and a scope brief you can hand to any supplier. Sending the same brief to everyone is the simplest way to get quotes you can compare, because the differences between them will be in the terms rather than in what each supplier guessed you meant.\nThe full list of questions, including the ones about who owns what and what happens if the partner disappears, is in our software partner checklist. Take it to the conversation, and keep the answers.\nPut it into practice Project scope estimator Pick what you need and get an indicative size and timeline. Use the tool"}],"publishedAt":"2026-08-30"},{"id":"page.articles.how-we-work-with-kanban","locale":"en","kind":"article","canonicalUrl":"https://punfyre.be/en/articles/how-we-work-with-kanban","title":"Why our projects run on a board, not a plan","summary":"A big plan written up front is out of date by week two. A visible kanban board and short cycles let us move with the project instead.","text":"Delivery\nWhy our projects run on a board, not a plan\nUpdated Sep 28, 2026 · 2 min read\nAgile development really comes down to one thing: being able to change direction quickly when the work asks for it. We run on kanbanA lightweight agile method: every piece of work is a card that moves across columns (to do, in progress, done) on a shared board., an approach built around a visible board that shows exactly where every piece of work stands.\nIn short\nA visible kanban board beats a plan that is stale by week two.\nLimiting work in progress keeps the team finishing, not just starting.\nYou watch the same board we do, and demos show running software.\nSee the work, adapt fast\nTraditional methods front-load a lot of planning, which is rigid and slow to react. With kanban we adjust the project as we go, so we can respond to changing needs instead of forcing them into a plan written months ago.\nFinish before you start\nThe board comes with one discipline that matters more than any ceremony: limiting how much is in progress at once. Finished work delivers value; work that is merely started only accumulates risk. Capping the number of parallel tasks keeps the team finishing things, and it makes a bottleneck visible the moment it forms instead of at the deadline.\nA little better every cycle\nRegular demos and retrospectives are built in: we review the work, spot what could be smoother, and adjust. It keeps us honest, and it means the process improves alongside the product.\nWhat you see as a client\nThe board is not internal theatre: you look at the same one we do. You see what is in progress, what is next, and what is blocked, and the regular demo shows the work running rather than a slide about it. Reprioritising is a conversation about the next column, not a change request form.\nNone of this is ceremony for its own sake. It is simply what lets a small team stay responsive and keep shipping useful work, week after week.\nKeep reading\nDelivery\nThe hidden cost of a fixed-price project\nA fixed price feels like control. On genuinely new work it quietly buys you the wrong thing, on time and on budget.\nRead more 2 min read\nDelivery\nWhy we work with the door open\nA project you can't see into is a project you can't steer. Openness isn't a courtesy, it's how good software gets made.\nRead more 2 min read\nDelivery\nWhat does a fractional CTO actually do?\nA practical look at the decisions, follow-through and working agreements behind part-time technical leadership.\nRead more 3 min read\nBack to articles\nFacing something similar?\nThis is how we work. If the challenge in this article sounds familiar, tell us about yours and we'll give you a straight, useful answer.\nTalk to us","contentMode":"full","sections":[{"id":"see-the-work-adapt-fast","heading":"See the work, adapt fast","text":"Traditional methods front-load a lot of planning, which is rigid and slow to react. With kanban we adjust the project as we go, so we can respond to changing needs instead of forcing them into a plan written months ago."},{"id":"finish-before-you-start","heading":"Finish before you start","text":"The board comes with one discipline that matters more than any ceremony: limiting how much is in progress at once. Finished work delivers value; work that is merely started only accumulates risk. Capping the number of parallel tasks keeps the team finishing things, and it makes a bottleneck visible the moment it forms instead of at the deadline."},{"id":"a-little-better-every-cycle","heading":"A little better every cycle","text":"Regular demos and retrospectives are built in: we review the work, spot what could be smoother, and adjust. It keeps us honest, and it means the process improves alongside the product."},{"id":"what-you-see-as-a-client","heading":"What you see as a client","text":"The board is not internal theatre: you look at the same one we do. You see what is in progress, what is next, and what is blocked, and the regular demo shows the work running rather than a slide about it. Reprioritising is a conversation about the next column, not a change request form.\nNone of this is ceremony for its own sake. It is simply what lets a small team stay responsive and keep shipping useful work, week after week."}],"publishedAt":"2026-09-28"},{"id":"page.articles.keeping-software-healthy","locale":"en","kind":"article","canonicalUrl":"https://punfyre.be/en/articles/keeping-software-healthy","title":"The quiet work that keeps software healthy","summary":"Software doesn't stand still after launch, the world around it moves. Staying healthy takes small, steady, unglamorous work.","text":"Foundations\nThe quiet work that keeps software healthy\nUpdated Oct 27, 2026 · 2 min read\nSoftware is not finished when it ships, because the world it lives in refuses to stand still. Browsers update, operating systems change, the libraries underneath evolve, regulations shift, and usage grows. A system nobody tends does not stay the same, it quietly degrades.\nIn short\nUntended software degrades, because the world around it keeps moving.\nMonitoring means knowing before your users tell you.\nSmall maintenance on a calendar rhythm beats rescues in a crisis.\nWatch it like you mean it\nThe first rule of running software is knowing before your users tell you. MonitoringAutomatically watching a running system, so problems get noticed before users report them. on error rates, response times, and background jobs turns a would-be outage into a fix nobody noticed. And a backup only counts once you have restored from it; an untested backup is a hope, not a plan.\nOur own wallboard design: the state of what we run, permanently in view.\nSmall maintenance beats big rescues\nUpdating dependenciesA piece of software written by someone else that your system leans on, and that keeps changing on its own schedule. and applying security patches on a steady rhythm keeps every step small and boring. Skip it for a year and the same work becomes a risky leap across many versions at once, usually attempted under pressure because something broke or an audit is due. Boring on schedule beats exciting in a crisis.\nA rhythm that works\nMonthly: dependencyA piece of software written by someone else that your system leans on, and that keeps changing on its own schedule. and security updates, small and boring by design.\nQuarterly: a short health review of error trends, slow pages, storage growth, and upcoming platform changes.\nYearly: restore a backup for real, rotate credentials, and re-check who still has access to what.\nThe exact cadence matters less than having one. Work that has a slot on the calendar happens; work that waits for a quiet week waits forever.\nThe point of all this work is that nobody sees it. Uneventful weeks are the product working as intended, which is why we treat maintenance as core scopeWhat is and is not part of the work that was agreed. with real budget, not as the leftover nobody planned for. Healthy software is not an accident, it is a habit.\nKeep reading\nHealthcare\nWhy security can't be an afterthought\nIn healthcare a breach isn't just a headline. It's why security has to be built in, not bolted on after.\nRead more 2 min read\nDelivery\nShipping software that still works after we hand it over\nA launch is the easy part. The real test is whether the thing keeps running once the attention moves on.\nRead more 3 min read\nFoundations\nA technology roadmap that helps business decisions\nUseful roadmaps make choices and uncertainty visible. A crowded timeline does not do that on its own.\nRead more 3 min read\nBack to articles\nFacing something similar?\nThis is how we work. If the challenge in this article sounds familiar, tell us about yours and we'll give you a straight, useful answer.\nTalk to us","contentMode":"full","sections":[{"id":"watch-it-like-you-mean-it","heading":"Watch it like you mean it","text":"The first rule of running software is knowing before your users tell you. MonitoringAutomatically watching a running system, so problems get noticed before users report them. on error rates, response times, and background jobs turns a would-be outage into a fix nobody noticed. And a backup only counts once you have restored from it; an untested backup is a hope, not a plan.\nOur own wallboard design: the state of what we run, permanently in view."},{"id":"small-maintenance-beats-big-rescues","heading":"Small maintenance beats big rescues","text":"Updating dependenciesA piece of software written by someone else that your system leans on, and that keeps changing on its own schedule. and applying security patches on a steady rhythm keeps every step small and boring. Skip it for a year and the same work becomes a risky leap across many versions at once, usually attempted under pressure because something broke or an audit is due. Boring on schedule beats exciting in a crisis."},{"id":"a-rhythm-that-works","heading":"A rhythm that works","text":"Monthly: dependencyA piece of software written by someone else that your system leans on, and that keeps changing on its own schedule. and security updates, small and boring by design.\nQuarterly: a short health review of error trends, slow pages, storage growth, and upcoming platform changes.\nYearly: restore a backup for real, rotate credentials, and re-check who still has access to what.\nThe exact cadence matters less than having one. Work that has a slot on the calendar happens; work that waits for a quiet week waits forever.\nThe point of all this work is that nobody sees it. Uneventful weeks are the product working as intended, which is why we treat maintenance as core scopeWhat is and is not part of the work that was agreed. with real budget, not as the leftover nobody planned for. Healthy software is not an accident, it is a habit."}],"publishedAt":"2026-10-27"},{"id":"page.articles.listening-to-user-feedback","locale":"en","kind":"article","canonicalUrl":"https://punfyre.be/en/articles/listening-to-user-feedback","title":"Your users already know what to fix next","summary":"The people using your software every day know exactly where it hurts. The trick is making it effortless for them to tell you.","text":"Design\nYour users already know what to fix next\nUpdated Jun 25, 2026 · 2 min read\nUser feedback is one of the most reliable ways to improve software, because the people using it every day know things no specThe written description of what the software should do, agreed before it gets built. ever captured. The question is how to gather it well and actually act on it.\nIn short\nMake giving feedback effortless, then prioritise it honestly.\nBehaviour outranks requests when the two disagree.\nClose the loop: tell people what happened to their suggestion.\nMake it effortless to give\nThe easier it is to send a thought, the more you hear. A feedback button in the product, a dedicated address, a short prompt at the right moment, small things that lower the barrier make the difference.\nPrioritise honestly, then change\nNot every request can or should be built. We weigh feedback by impact and effort, act on what matters most, and are upfront about what we are not doing and why.\nWatch what people do, not only what they say\nRequests tell you what people can articulate; behaviour tells you what they actually struggle with. The feature nobody mentions but everyone abandons halfway is a louder signal than any suggestion box. We read both: the words for direction, the usage for truth, and when they disagree we trust the usage.\nClose the loop\nThe most underrated step is telling people what happened to their suggestion. A short note that a fix has shipped, or an honest explanation of why it will not, turns a one-off complaint into a running conversation, and it is the reason people keep telling you things.\nFeedback is not a one-off survey, it is a loop. Each round of changes opens the next round of questions, and the product gets steadily closer to what people actually need.\nKeep reading\nHealthcare\nBuild care technology with the ward, not just for it\nCare innovation rarely fails on the technology. It fails on adoption, and adoption is decided by the people you did or didn't involve.\nRead more 2 min read\nDesign\nDesigning software people actually want to use\nGood design isn't decoration. It's the difference between software that helps and software people quietly work around.\nRead more 2 min read\nDesign\nSoftware isn't human-friendly until it's accessible\nWe promise human-friendly software. That claim is empty if part of the humans can't use it.\nRead more 2 min read\nBack to articles\nFacing something similar?\nThis is how we work. If the challenge in this article sounds familiar, tell us about yours and we'll give you a straight, useful answer.\nTalk to us","contentMode":"full","sections":[{"id":"make-it-effortless-to-give","heading":"Make it effortless to give","text":"The easier it is to send a thought, the more you hear. A feedback button in the product, a dedicated address, a short prompt at the right moment, small things that lower the barrier make the difference."},{"id":"prioritise-honestly-then-change","heading":"Prioritise honestly, then change","text":"Not every request can or should be built. We weigh feedback by impact and effort, act on what matters most, and are upfront about what we are not doing and why."},{"id":"watch-what-people-do-not-only-what-they-say","heading":"Watch what people do, not only what they say","text":"Requests tell you what people can articulate; behaviour tells you what they actually struggle with. The feature nobody mentions but everyone abandons halfway is a louder signal than any suggestion box. We read both: the words for direction, the usage for truth, and when they disagree we trust the usage."},{"id":"close-the-loop","heading":"Close the loop","text":"The most underrated step is telling people what happened to their suggestion. A short note that a fix has shipped, or an honest explanation of why it will not, turns a one-off complaint into a running conversation, and it is the reason people keep telling you things.\nFeedback is not a one-off survey, it is a loop. Each round of changes opens the next round of questions, and the product gets steadily closer to what people actually need."}],"publishedAt":"2026-06-25"},{"id":"page.articles.long-term-architecture-in-agile","locale":"en","kind":"article","canonicalUrl":"https://punfyre.be/en/articles/long-term-architecture-in-agile","title":"Staying agile without losing the long-term view","summary":"Agile and a long-term plan sound like opposites. Held together, they keep fast work from painting you into a corner.","text":"Foundations\nStaying agile without losing the long-term view\nUpdated Aug 5, 2026 · 2 min read\nA question from a client once put it well: how do you keep real, long-term situations in view while working in an agileA way of working in short cycles, where the plan is adjusted as you learn instead of being fixed up front. way? The move from where a system is today to where it needs to be is rarely simple or linear, least of all mid-flight.\nIn short\nFix the destination first, then work towards it in agile steps.\nA one-page target picture plus short decision records is enough.\nWatch for drift signals: workarounds, repeated debates, quick fixes winning.\nDefine the destination first\nWe set the 'to-be' picture at the start and carry that long-term view into the agileA way of working in short cycles, where the plan is adjusted as you learn instead of being fixed up front. work. You get the adaptability of agile with the stability of having thought the whole thing through, instead of discovering the shape of the system by accident.\nFlexible, but anchored\nPlan flexibly enough to absorb change, but keep the core principles that hold the long-term vision steady. Regular check-ins make sure the day-to-day work still points at the destination, and risks get spotted and defused early rather than late.\nKeep the map light\nThe long-term view does not need a heavy document; it needs a current one. A one-page picture of the target, plus short decision records for the choices that are expensive to reverse, is enough for everyone to point the same way, and light enough that it actually gets updated when the destination shifts.\nSignals you are drifting\nEvery new feature needs a workaround before it fits.\nThe same discussion about where something should live keeps coming back.\nQuick fixes outnumber structural fixes for months in a row.\nNobody can draw the target picture from memory anymore.\nIt's a delicate balance: the agility to move fast without losing the bigger picture. Get it right and fast work compounds into progress instead of a corner you have to rebuild out of.\nKeep reading\nDelivery\nReplacing a legacy system without stopping the business\nThe scariest projects are the ones where the old system everyone depends on has to go. Here's how we make them boring.\nRead more 3 min read\nFoundations\nWhy we never build the basics twice\nMost of what a new product needs has been built a hundred times before. Spending your budget rebuilding it is the expensive mistake.\nRead more 2 min read\nFoundations\nA technology roadmap that helps business decisions\nUseful roadmaps make choices and uncertainty visible. A crowded timeline does not do that on its own.\nRead more 3 min read\nBack to articles\nFacing something similar?\nThis is how we work. If the challenge in this article sounds familiar, tell us about yours and we'll give you a straight, useful answer.\nTalk to us","contentMode":"full","sections":[{"id":"define-the-destination-first","heading":"Define the destination first","text":"We set the 'to-be' picture at the start and carry that long-term view into the agileA way of working in short cycles, where the plan is adjusted as you learn instead of being fixed up front. work. You get the adaptability of agile with the stability of having thought the whole thing through, instead of discovering the shape of the system by accident."},{"id":"flexible-but-anchored","heading":"Flexible, but anchored","text":"Plan flexibly enough to absorb change, but keep the core principles that hold the long-term vision steady. Regular check-ins make sure the day-to-day work still points at the destination, and risks get spotted and defused early rather than late."},{"id":"keep-the-map-light","heading":"Keep the map light","text":"The long-term view does not need a heavy document; it needs a current one. A one-page picture of the target, plus short decision records for the choices that are expensive to reverse, is enough for everyone to point the same way, and light enough that it actually gets updated when the destination shifts."},{"id":"signals-you-are-drifting","heading":"Signals you are drifting","text":"Every new feature needs a workaround before it fits.\nThe same discussion about where something should live keeps coming back.\nQuick fixes outnumber structural fixes for months in a row.\nNobody can draw the target picture from memory anymore.\nIt's a delicate balance: the agility to move fast without losing the bigger picture. Get it right and fast work compounds into progress instead of a corner you have to rebuild out of."}],"publishedAt":"2026-08-05"},{"id":"page.articles.not-every-solution-needs-ai","locale":"en","kind":"article","canonicalUrl":"https://punfyre.be/en/articles/not-every-solution-needs-ai","title":"Not every solution needs AI","summary":"We build AI features for a living, which is exactly why we'll tell you when you don't need one.","text":"Responsible AI\nNot every solution needs AI\nUpdated Oct 19, 2026 · 2 min read\nThere is real pressure right now to put AI in everything: investors ask about it, competitors announce it, and roadmaps quietly bend around it. The result is often a feature nobody asked for, bolted onto a solution meant to solve a completely different problem.\nIn short\nIf a rule or a form solves it, that solution wins on every axis.\nFour blunt questions decide whether AI earns its place.\nBudget the ongoing cost: evaluations, monitoring, model changes.\nStart from the problem, not the model\nIf a rule, a lookup table, or a well-designed form solves it, that solution is faster, cheaper, testable, and explainable. AI earns its place when the input is genuinely messy: free text, images, judgement calls that do not reduce to rules, work that needs to happen at a scale no person can sustain.\nThe honest checklist\nBefore we build an AI feature we ask a few blunt questions:\nIs the task actually fuzzy, or just not automated yet?\nWhat does a wrong answer cost, and who catches it?\nIs there real data to test it with?\nCan a person review the result before it matters?\nIf those answers do not hold up, we say so and choose the simpler solution instead.\nWhen it is the right answer\nWhen it fits, AI is genuinely transformative: drafting work that people only need to review, triaging piles of unstructured information, spotting patterns across more data than anyone can read. Often the way to find out is to build the boring version first. If the boring version already solves it, you have your answer, and it cost you very little.\nThe cost nobody budgets\nAn AI feature is not done when it ships. It needs evaluation sets that grow with real usage, monitoringAutomatically watching a running system, so problems get noticed before users report them. for quality drift, spend caps so a busy day is not an expensive day, and re-testing every time the underlying model changes under you. That ongoing bill belongs in the decision from the start, because it is exactly the part the demo never shows.\nSaying no to AI where it does not belong is what makes our yes worth something. A solution does not exist to contain AI. It exists to solve the right problem.\nPut it into practice AI fit check Work out whether AI earns its place in a concrete problem. Use the tool\nKeep reading\nResponsible AI\nWhat AI actually changes in healthcare\nPast the hype and the fear, AI is quietly reshaping diagnostics, admin, and how patients follow their own care.\nRead more 2 min read\nResponsible AI\nAI that helps without quietly taking over\nAI that assists is useful. AI that decides alone is a liability. The difference is a few concrete rules we never bend.\nRead more 2 min read\nResponsible AI\nTelling people AI is involved\nIf software drafts, sorts or suggests on your behalf, the people on the other end deserve one plain sentence about it. Here is how to write it, who owns the mistakes and what to settle before you publish.\nRead more 5 min read\nBack to articles\nFacing something similar?\nThis is how we work. If the challenge in this article sounds familiar, tell us about yours and we'll give you a straight, useful answer.\nTalk to us","contentMode":"full","sections":[{"id":"start-from-the-problem-not-the-model","heading":"Start from the problem, not the model","text":"If a rule, a lookup table, or a well-designed form solves it, that solution is faster, cheaper, testable, and explainable. AI earns its place when the input is genuinely messy: free text, images, judgement calls that do not reduce to rules, work that needs to happen at a scale no person can sustain."},{"id":"the-honest-checklist","heading":"The honest checklist","text":"Before we build an AI feature we ask a few blunt questions:\nIs the task actually fuzzy, or just not automated yet?\nWhat does a wrong answer cost, and who catches it?\nIs there real data to test it with?\nCan a person review the result before it matters?\nIf those answers do not hold up, we say so and choose the simpler solution instead."},{"id":"when-it-is-the-right-answer","heading":"When it is the right answer","text":"When it fits, AI is genuinely transformative: drafting work that people only need to review, triaging piles of unstructured information, spotting patterns across more data than anyone can read. Often the way to find out is to build the boring version first. If the boring version already solves it, you have your answer, and it cost you very little."},{"id":"the-cost-nobody-budgets","heading":"The cost nobody budgets","text":"An AI feature is not done when it ships. It needs evaluation sets that grow with real usage, monitoringAutomatically watching a running system, so problems get noticed before users report them. for quality drift, spend caps so a busy day is not an expensive day, and re-testing every time the underlying model changes under you. That ongoing bill belongs in the decision from the start, because it is exactly the part the demo never shows.\nSaying no to AI where it does not belong is what makes our yes worth something. A solution does not exist to contain AI. It exists to solve the right problem.\nPut it into practice AI fit check Work out whether AI earns its place in a concrete problem. Use the tool"}],"publishedAt":"2026-10-19"},{"id":"page.articles.open-collaboration","locale":"en","kind":"article","canonicalUrl":"https://punfyre.be/en/articles/open-collaboration","title":"Why we work with the door open","summary":"A project you can't see into is a project you can't steer. Openness isn't a courtesy, it's how good software gets made.","text":"Delivery\nWhy we work with the door open\nUpdated Oct 2, 2026 · 2 min read\nA software project you cannot see into is a project you cannot steer. That is true everywhere, and doubly true in care settings, where the people who will live with the result rarely sit in the meetings where it is decided. So we work with the door open, on every project.\nIn short\nYou see the real board: progress, blockers, bad news early.\nMore perspectives at the table make disagreement cheap.\nOpenness works both ways: fast answers, honest feedback, one decision owner.\nEverything on the table\nYou see the same boardA shared overview where every piece of work sits as a card moving through columns: to do, in progress, done. we plan on: what is in progress, what is next, and what is stuck. It is the same board that drives how we run projects day to day. Progress reports are the real state of the work, not a polished version of it. When something slips, you hear it from us early, while there is still time to do something about it.\nMore perspectives, better decisions\nWe actively pull different roles into the conversation: the person who manages the budget, the person who runs the process, the person who will click the buttons every day. Their concerns rarely overlap, and that is precisely the point. Disagreement in week two is cheap; the same disagreement discovered after launch is not.\nWhat openness asks from you\nWorking with the door open is a two-way arrangement. It works when someone on your side can answer questions within days rather than weeks, when feedback is honest instead of polite, and when decisions have one owner instead of a committee that never quite convenes. We bring the transparency; the project moves at the speed of your answers.\nOpenness is what makes trust practical\nTrust in a project is not built by promising things will go well. It is built by making it impossible for things to go wrong quietly. When nothing is hidden, feedback arrives while it can still shape the product, and the software that comes out the other end belongs to everyone who helped steer it.\nKeep reading\nDelivery\nWhy our projects run on a board, not a plan\nA big plan written up front is out of date by week two. A visible kanban board and short cycles let us move with the project instead.\nRead more 2 min read\nHealthcare\nBuild care technology with the ward, not just for it\nCare innovation rarely fails on the technology. It fails on adoption, and adoption is decided by the people you did or didn't involve.\nRead more 2 min read\nDelivery\nWhat does a fractional CTO actually do?\nA practical look at the decisions, follow-through and working agreements behind part-time technical leadership.\nRead more 3 min read\nBack to articles\nFacing something similar?\nThis is how we work. If the challenge in this article sounds familiar, tell us about yours and we'll give you a straight, useful answer.\nTalk to us","contentMode":"full","sections":[{"id":"everything-on-the-table","heading":"Everything on the table","text":"You see the same boardA shared overview where every piece of work sits as a card moving through columns: to do, in progress, done. we plan on: what is in progress, what is next, and what is stuck. It is the same board that drives how we run projects day to day. Progress reports are the real state of the work, not a polished version of it. When something slips, you hear it from us early, while there is still time to do something about it."},{"id":"more-perspectives-better-decisions","heading":"More perspectives, better decisions","text":"We actively pull different roles into the conversation: the person who manages the budget, the person who runs the process, the person who will click the buttons every day. Their concerns rarely overlap, and that is precisely the point. Disagreement in week two is cheap; the same disagreement discovered after launch is not."},{"id":"what-openness-asks-from-you","heading":"What openness asks from you","text":"Working with the door open is a two-way arrangement. It works when someone on your side can answer questions within days rather than weeks, when feedback is honest instead of polite, and when decisions have one owner instead of a committee that never quite convenes. We bring the transparency; the project moves at the speed of your answers."},{"id":"openness-is-what-makes-trust-practical","heading":"Openness is what makes trust practical","text":"Trust in a project is not built by promising things will go well. It is built by making it impossible for things to go wrong quietly. When nothing is hidden, feedback arrives while it can still shape the product, and the software that comes out the other end belongs to everyone who helped steer it."}],"publishedAt":"2026-10-02"},{"id":"page.articles.replacing-legacy-systems","locale":"en","kind":"article","canonicalUrl":"https://punfyre.be/en/articles/replacing-legacy-systems","title":"Replacing a legacy system without stopping the business","summary":"The scariest projects are the ones where the old system everyone depends on has to go. Here's how we make them boring.","text":"Delivery\nReplacing a legacy system without stopping the business\nUpdated Sep 7, 2026 · 3 min read\nEvery organisation of a certain age has one: the system everyone depends on, that nobody fully understands anymore, and that everyone is afraid to touch. Replacing it feels like changing the engine mid-flight, which is why these projects get postponed for years. The good news is that a legacyOlder software that still runs the organisation every day, but has become hard and risky to change. replacement can be made boring, and boring is exactly what you want.\nIn short\nNo big bang: the new system takes over one proven slice at a time.\nMine the old system for rules worth keeping; drop the accidents.\nRehearse the data migration, and migrate the habits too.\nNo big bang\nThe riskiest possible plan is the big-bang switchoverSwitching everyone to the new system in one go, on a single date.: build the new system in secret, pick a weekend, and pray. We do the opposite. The new system grows next to the old one, takes over one slice of the work at a time, and proves itself in production at every step. If a slice misbehaves, you switch that slice back, not the whole company.\nThe old system is the spec, but not the blueprint\nDecades of real use have packed the old system with knowledge: edge cases, business rules, the exception someone added for a reason nobody remembers. We mine it for what must survive, and just as deliberately decide what should not. Recreating every twenty-year-old workaround faithfully is how you build a new legacyOlder software that still runs the organisation every day, but has become hard and risky to change. system with a modern coat of paint.\nData deserves its own project\nMigrating years of data is usually harder than building the new system, and it cannot be an afterthought. Rehearse the migration until it is routine, verify the result against the source, and keep the way back open until the new system has earned trust. Nobody should have to be brave on migration day.\nPeople migrate too\nThe hardest migration is rarely the data; it is the habits. People have years of muscle memory in the old system, and every one of its quirks is somebody's workflow. So the switch is a change project as much as a technical one: involve the heaviest users early, let the old and new run side by side long enough to build confidence, and treat 'the team prefers the new one' as a launch criterion, not a hope.\nThe end state we aim for is an anticlimax: the day the old system is switched off and nobody notices, because everything that mattered already moved. That is what a well-run legacyOlder software that still runs the organisation every day, but has become hard and risky to change. replacement looks like.\nKeep reading\nFoundations\nStaying agile without losing the long-term view\nAgile and a long-term plan sound like opposites. Held together, they keep fast work from painting you into a corner.\nRead more 2 min read\nDelivery\nShipping software that still works after we hand it over\nA launch is the easy part. The real test is whether the thing keeps running once the attention moves on.\nRead more 3 min read\nDelivery\nSigns your company needs technical leadership\nNot every delay calls for another developer. Sometimes the missing capacity is someone who can connect the decisions.\nRead more 3 min read\nBack to articles\nFacing something similar?\nThis is how we work. If the challenge in this article sounds familiar, tell us about yours and we'll give you a straight, useful answer.\nTalk to us","contentMode":"full","sections":[{"id":"no-big-bang","heading":"No big bang","text":"The riskiest possible plan is the big-bang switchoverSwitching everyone to the new system in one go, on a single date.: build the new system in secret, pick a weekend, and pray. We do the opposite. The new system grows next to the old one, takes over one slice of the work at a time, and proves itself in production at every step. If a slice misbehaves, you switch that slice back, not the whole company."},{"id":"the-old-system-is-the-spec-but-not-the-blueprint","heading":"The old system is the spec, but not the blueprint","text":"Decades of real use have packed the old system with knowledge: edge cases, business rules, the exception someone added for a reason nobody remembers. We mine it for what must survive, and just as deliberately decide what should not. Recreating every twenty-year-old workaround faithfully is how you build a new legacyOlder software that still runs the organisation every day, but has become hard and risky to change. system with a modern coat of paint."},{"id":"data-deserves-its-own-project","heading":"Data deserves its own project","text":"Migrating years of data is usually harder than building the new system, and it cannot be an afterthought. Rehearse the migration until it is routine, verify the result against the source, and keep the way back open until the new system has earned trust. Nobody should have to be brave on migration day."},{"id":"people-migrate-too","heading":"People migrate too","text":"The hardest migration is rarely the data; it is the habits. People have years of muscle memory in the old system, and every one of its quirks is somebody's workflow. So the switch is a change project as much as a technical one: involve the heaviest users early, let the old and new run side by side long enough to build confidence, and treat 'the team prefers the new one' as a launch criterion, not a hope.\nThe end state we aim for is an anticlimax: the day the old system is switched off and nobody notices, because everything that mattered already moved. That is what a well-run legacyOlder software that still runs the organisation every day, but has become hard and risky to change. replacement looks like."}],"publishedAt":"2026-09-07"},{"id":"page.articles.responsible-ai-in-practice","locale":"en","kind":"article","canonicalUrl":"https://punfyre.be/en/articles/responsible-ai-in-practice","title":"AI that helps without quietly taking over","summary":"AI that assists is useful. AI that decides alone is a liability. The difference is a few concrete rules we never bend.","text":"Responsible AI\nAI that helps without quietly taking over\nUpdated Sep 16, 2026 · 2 min read\nIt is easy to say AI should be responsible. It is harder to say what that means when you are shipping. For us it comes down to a handful of rules that hold on every project.\nIn short\nAI suggests; a person reviews and approves before anything reaches a customer.\nWhen the system is uncertain it stops: blank beats plausible-but-wrong.\nEvery output is traceable to its evidence and tested against the awkward cases.\nAdvisory, never autonomous\nAI suggests; people decide. A model can draft, rank, or flag, but a person reviews and approves before anything reaches a customer. That keeps a human accountable for the outcome, which is where accountability belongs.\nFail closed, not confidently wrong\nWhen the system is uncertain, it should stop, not guess. We would rather a field stay blank than fill it with something plausible and wrong. Grounding every output in real evidence, and leaving it empty when the evidence is thin, is what keeps AI from laundering bad data into your product.\nShow the evidence\nEvery AI output should be traceable to the data behind it, so the person reviewing it can check the claim instead of taking it on faith. If the system cannot show where an answer came from, it has no business presenting the answer.\nTest it like it will fail\nAn AI feature that was only tried on friendly examples will meet its first hard case in production. Before anything ships we build a small evaluation setA fixed collection of tricky, real examples the system is checked against before every release, so quality is measured instead of assumed. from real, awkward inputs: the ambiguous ones, the almost-right ones, the ones that should make the system refuse. Every prompt or model change reruns against that set, because in AI a fix over here quietly breaks something over there more often than anywhere else in software.\nPrivacy is part of the same promise\nResponsible also means being careful about what the model gets to see. We send the minimum data a task needs, strip identifying details when the task allows it, and treat 'the model provider stores this' as a data-processing question with a real answer, not a footnote. If a feature cannot be built without shipping sensitive data somewhere it should not go, that is the design's problem to solve, not the user's risk to accept.\nNone of this makes AI less useful. It makes it trustworthy, which is the only version worth putting in front of the people who depend on your solution. And when AI is not the right tool at all, we say that too.\nKeep reading\nResponsible AI\nNot every solution needs AI\nWe build AI features for a living, which is exactly why we'll tell you when you don't need one.\nRead more 2 min read\nResponsible AI\nWhat AI actually changes in healthcare\nPast the hype and the fear, AI is quietly reshaping diagnostics, admin, and how patients follow their own care.\nRead more 2 min read\nResponsible AI\nTelling people AI is involved\nIf software drafts, sorts or suggests on your behalf, the people on the other end deserve one plain sentence about it. Here is how to write it, who owns the mistakes and what to settle before you publish.\nRead more 5 min read\nBack to articles\nFacing something similar?\nThis is how we work. If the challenge in this article sounds familiar, tell us about yours and we'll give you a straight, useful answer.\nTalk to us","contentMode":"full","sections":[{"id":"advisory-never-autonomous","heading":"Advisory, never autonomous","text":"AI suggests; people decide. A model can draft, rank, or flag, but a person reviews and approves before anything reaches a customer. That keeps a human accountable for the outcome, which is where accountability belongs."},{"id":"fail-closed-not-confidently-wrong","heading":"Fail closed, not confidently wrong","text":"When the system is uncertain, it should stop, not guess. We would rather a field stay blank than fill it with something plausible and wrong. Grounding every output in real evidence, and leaving it empty when the evidence is thin, is what keeps AI from laundering bad data into your product."},{"id":"show-the-evidence","heading":"Show the evidence","text":"Every AI output should be traceable to the data behind it, so the person reviewing it can check the claim instead of taking it on faith. If the system cannot show where an answer came from, it has no business presenting the answer."},{"id":"test-it-like-it-will-fail","heading":"Test it like it will fail","text":"An AI feature that was only tried on friendly examples will meet its first hard case in production. Before anything ships we build a small evaluation setA fixed collection of tricky, real examples the system is checked against before every release, so quality is measured instead of assumed. from real, awkward inputs: the ambiguous ones, the almost-right ones, the ones that should make the system refuse. Every prompt or model change reruns against that set, because in AI a fix over here quietly breaks something over there more often than anywhere else in software."},{"id":"privacy-is-part-of-the-same-promise","heading":"Privacy is part of the same promise","text":"Responsible also means being careful about what the model gets to see. We send the minimum data a task needs, strip identifying details when the task allows it, and treat 'the model provider stores this' as a data-processing question with a real answer, not a footnote. If a feature cannot be built without shipping sensitive data somewhere it should not go, that is the design's problem to solve, not the user's risk to accept.\nNone of this makes AI less useful. It makes it trustworthy, which is the only version worth putting in front of the people who depend on your solution. And when AI is not the right tool at all, we say that too."}],"publishedAt":"2026-09-16"},{"id":"page.articles.signs-you-need-technical-leadership","locale":"en","kind":"article","canonicalUrl":"https://punfyre.be/en/articles/signs-you-need-technical-leadership","title":"Signs your company needs technical leadership","summary":"Repeated delays, unclear priorities and dependence on one expert can signal a leadership gap. Diagnose the missing responsibility before adding people.","text":"Delivery\nSigns your company needs technical leadership\nUpdated Sep 3, 2026 · 3 min read\nThe first sign is rarely a dramatic outage. It is a meeting that happens again, a deadline that keeps moving, or a senior developer becoming the answer to every question. Everyone is working hard, yet the important decisions have nowhere clear to land.\nIn short\nRepeated decision problems matter more than the size of the development team.\nMore developers will not fix unclear priorities or missing ownership.\nStart by identifying the decisions that keep returning, not by hiring a title.\nThe same questions keep returning\nYou have discussed replacing the system three times, but nobody can name the problem the replacement must solve. A supplier asks for approval, but the management team cannot judge the trade-off. Features arrive in the backlog faster than anyone can explain their business value. These are ownership problems before they are staffing problems.\nLook for repeated blocked decisions rather than counting tickets alone.\nFour patterns worth noticing\nPriorities change with the last persuasive conversation, without making the displaced work explicit.\nOnly one person understands the system well enough to approve or release a change.\nYou hear about technical risks only when they have already become urgent.\nManagement and the delivery team describe different versions of the same commitment.\nNone of these proves that the developers are doing a bad job. Often a capable engineer is trying to cover architecture, planning, supplier coordination and incidents while still being expected to produce a full workload of code. The arrangement has become the problem.\nMore delivery capacity is not always the answer\nExtra developers help when the work is understood, the dependencies are manageable and there is someone to make the calls. Without those conditions, a larger team creates more coordination around the same unresolved questions. The queue can grow faster while the decision still waits.\nBefore adding capacity, take one recent delay and trace it back. Was implementation slow, or did work wait for a business decision, missing access, an unclear interface or approval from a supplier? The answer changes what kind of help is useful.\nA small diagnostic before a big appointment\nList the important decisions that stayed open over the last few weeks. For each, write who owns it, what information is missing and what work it blocks. Add recurring interruptions and the commitments the company has made. This is often enough to see whether the main need is leadership, a bounded technical review or more implementation capacity.\nChoose responsibility, not a reassuring title\nThe useful result is not having CTO on an organisation chart. It is knowing who connects business priorities with technical choices and follows the consequences. For some companies that is a stronger internal lead. Others need a full-time appointment. Part-time involvement can fit when the decisions require continuity but not a whole leadership position yet.\nOur fractional CTO support starts from those responsibilities. If the question is limited to the current system or architecture, begin with an audit.\nKeep reading\nDelivery\nWhat does a fractional CTO actually do?\nA practical look at the decisions, follow-through and working agreements behind part-time technical leadership.\nRead more 3 min read\nDelivery\nWhy our projects run on a board, not a plan\nA big plan written up front is out of date by week two. A visible kanban board and short cycles let us move with the project instead.\nRead more 2 min read\nFoundations\nThe quiet work that keeps software healthy\nSoftware doesn't stand still after launch, the world around it moves. Staying healthy takes small, steady, unglamorous work.\nRead more 2 min read\nBack to articles\nFacing something similar?\nThis is how we work. If the challenge in this article sounds familiar, tell us about yours and we'll give you a straight, useful answer.\nTalk to us","contentMode":"full","sections":[{"id":"the-same-questions-keep-returning","heading":"The same questions keep returning","text":"You have discussed replacing the system three times, but nobody can name the problem the replacement must solve. A supplier asks for approval, but the management team cannot judge the trade-off. Features arrive in the backlog faster than anyone can explain their business value. These are ownership problems before they are staffing problems.\nLook for repeated blocked decisions rather than counting tickets alone."},{"id":"four-patterns-worth-noticing","heading":"Four patterns worth noticing","text":"Priorities change with the last persuasive conversation, without making the displaced work explicit.\nOnly one person understands the system well enough to approve or release a change.\nYou hear about technical risks only when they have already become urgent.\nManagement and the delivery team describe different versions of the same commitment.\nNone of these proves that the developers are doing a bad job. Often a capable engineer is trying to cover architecture, planning, supplier coordination and incidents while still being expected to produce a full workload of code. The arrangement has become the problem."},{"id":"more-delivery-capacity-is-not-always-the-answer","heading":"More delivery capacity is not always the answer","text":"Extra developers help when the work is understood, the dependencies are manageable and there is someone to make the calls. Without those conditions, a larger team creates more coordination around the same unresolved questions. The queue can grow faster while the decision still waits.\nBefore adding capacity, take one recent delay and trace it back. Was implementation slow, or did work wait for a business decision, missing access, an unclear interface or approval from a supplier? The answer changes what kind of help is useful."},{"id":"a-small-diagnostic-before-a-big-appointment","heading":"A small diagnostic before a big appointment","text":"List the important decisions that stayed open over the last few weeks. For each, write who owns it, what information is missing and what work it blocks. Add recurring interruptions and the commitments the company has made. This is often enough to see whether the main need is leadership, a bounded technical review or more implementation capacity."},{"id":"choose-responsibility-not-a-reassuring-title","heading":"Choose responsibility, not a reassuring title","text":"The useful result is not having CTO on an organisation chart. It is knowing who connects business priorities with technical choices and follows the consequences. For some companies that is a stronger internal lead. Others need a full-time appointment. Part-time involvement can fit when the decisions require continuity but not a whole leadership position yet.\nOur fractional CTO support starts from those responsibilities. If the question is limited to the current system or architecture, begin with an audit."}],"publishedAt":"2026-09-03"},{"id":"page.articles.software-presses-a-button","locale":"en","kind":"article","canonicalUrl":"https://punfyre.be/en/articles/software-presses-a-button","title":"When software needs to press a real button","summary":"A small button dock brings mechanics, firmware and TypeScript together. The interesting part is what happens between a command and a press.","text":"Design\nWhen software needs to press a real button\nUpdated Nov 1, 2026 · 3 min read\nSoftware usually speaks to other software. Occasionally the next step is much more literal: press a button. That small movement crosses several boundaries at once. A command becomes an electrical signal, a servo moves a lever and the lever has to meet a real object with real tolerances. Success at one layer does not automatically prove success at the next.\nIn short\nA physical interaction needs mechanical design as well as software control.\nCancellation, release and service access belong in the design from the start.\nA render or completed software command is not proof of physical fit or a received button event.\nStart with the contact point\nOur Flic Presser project explores that boundary with a four-bay dock for Flic buttons. The current digital design combines a continuous base, removable hood and four numbered pressing fingers. A control sequence can describe a click, double-click or bounded hold. The shape around that sequence has to leave room for the button, the mechanism and the person who will assemble and maintain it.\nDesign the return path too\nIt is tempting to design only the successful press. What happens if a task is cancelled, the host stops responding or the connection disappears? Release behaviour, bounded holds and exclusive ownership of the controller matter just as much as the movement itself. They make the intended behaviour explicit rather than leaving several callers to compete for the same mechanism.\nThe native TypeScript CLI and local API express the sequence, while controller firmware handles its side of the interaction. Explicit arming and watchdog release belong to that design. Software-only protocol exercises are useful before hardware is available, but they cannot establish the force, fit or timing of the physical assembly.\n3D design of the four-button dock.\nMake the object serviceable\nA case is not finished when its outside looks good. Electronics need to be installed, cables need a path and parts need to come out again. Open button seats and a removable hood are practical choices about access. Thinking through that reverse assembly path can expose a problem that a polished exterior render would happily hide.\nCheck the mechanism and clearances in the digital design.\nExercise command sequences, cancellation and release in software.\nAssemble and calibrate the real hardware under observation.\nVerify actual button events separately from command completion.\nFrom design to first assembly\nThe gallery animation shows how the parts fit together and how the fingers move. The next step is to assemble the printed parts with the real servos, check clearances and power, and calibrate each button. We will compare the commanded sequence with the events received by Flic, including cancellation during a hold and recovery after a disconnected cable.\nSee the Flic Presser project for the renders and animation. The broader principle is the same as designing for real use: judge the work by the interaction it has to support, including the awkward moments around it.\nKeep reading\nFoundations\nThe quiet work that keeps software healthy\nSoftware doesn't stand still after launch, the world around it moves. Staying healthy takes small, steady, unglamorous work.\nRead more 2 min read\nDesign\nDesigning software people actually want to use\nGood design isn't decoration. It's the difference between software that helps and software people quietly work around.\nRead more 2 min read\nFoundations\nBeyond sample data: software that keeps moving\nWe use Forge to populate development databases and run everyday workflows, so teams can test new features and demonstrate how the software works.\nRead more 3 min read\nBack to articles\nFacing something similar?\nThis is how we work. If the challenge in this article sounds familiar, tell us about yours and we'll give you a straight, useful answer.\nTalk to us","contentMode":"full","sections":[{"id":"start-with-the-contact-point","heading":"Start with the contact point","text":"Our Flic Presser project explores that boundary with a four-bay dock for Flic buttons. The current digital design combines a continuous base, removable hood and four numbered pressing fingers. A control sequence can describe a click, double-click or bounded hold. The shape around that sequence has to leave room for the button, the mechanism and the person who will assemble and maintain it."},{"id":"design-the-return-path-too","heading":"Design the return path too","text":"It is tempting to design only the successful press. What happens if a task is cancelled, the host stops responding or the connection disappears? Release behaviour, bounded holds and exclusive ownership of the controller matter just as much as the movement itself. They make the intended behaviour explicit rather than leaving several callers to compete for the same mechanism.\nThe native TypeScript CLI and local API express the sequence, while controller firmware handles its side of the interaction. Explicit arming and watchdog release belong to that design. Software-only protocol exercises are useful before hardware is available, but they cannot establish the force, fit or timing of the physical assembly.\n3D design of the four-button dock."},{"id":"make-the-object-serviceable","heading":"Make the object serviceable","text":"A case is not finished when its outside looks good. Electronics need to be installed, cables need a path and parts need to come out again. Open button seats and a removable hood are practical choices about access. Thinking through that reverse assembly path can expose a problem that a polished exterior render would happily hide.\nCheck the mechanism and clearances in the digital design.\nExercise command sequences, cancellation and release in software.\nAssemble and calibrate the real hardware under observation.\nVerify actual button events separately from command completion."},{"id":"from-design-to-first-assembly","heading":"From design to first assembly","text":"The gallery animation shows how the parts fit together and how the fingers move. The next step is to assemble the printed parts with the real servos, check clearances and power, and calibrate each button. We will compare the commanded sequence with the events received by Flic, including cancellation during a hold and recovery after a disconnected cable.\nSee the Flic Presser project for the renders and animation. The broader principle is the same as designing for real use: judge the work by the interaction it has to support, including the awkward moments around it."}],"publishedAt":"2026-11-01"},{"id":"page.articles.software-that-keeps-moving","locale":"en","kind":"article","canonicalUrl":"https://punfyre.be/en/articles/software-that-keeps-moving","title":"Beyond sample data: software that keeps moving","summary":"We use Forge to populate development databases and run everyday workflows, so teams can test new features and demonstrate how the software works.","text":"Foundations\nBeyond sample data: software that keeps moving\nUpdated Aug 12, 2026 · 3 min read\nIn a development environment we want to try the work people will actually do. A request comes in, someone picks it up and the status changes. Following that sequence helps us check the rules, the handovers and the history a user needs to understand the work.\nIn short\nStart with related data and a useful history.\nRun everyday actions through the application’s own services.\nRestart the same scenario to investigate a problem or try a change.\nGive the data a next step\nA request changes status. Another action arrives before the first one finishes. A background task completes later, and a user returns to an older view. These ordinary moments are where software becomes a working system rather than a collection of screens. Static records rarely expose the same questions about timing, accumulated history and competing actions.\nWe use shared Punfyre Forge blocks to build self-contained application environments with their own databases and scheduled activity. Initial scenarios establish a coherent starting point. From there, simulated actions exercise the workflows the application implements. The database changes through application services, giving the interface something more useful to respond to than a fixed set of examples.\nMake the starting point repeatable\nRandom activity alone can produce plenty of movement without producing understanding. A useful scenario has a purpose and an identifiable starting condition. Seeded data helps us return to that condition; explicit lifecycle controls let us start, stop and inspect the activity. We can discuss the same situation again rather than hope the interesting moment happens twice.\nChoose the workflow and relationships that matter to the question.\nEstablish a repeatable starting state in a separate database.\nRun activity over time and inspect the resulting application state.\nKeep the scenario’s assumptions visible when interpreting what happened.\nA working model for the team\nWe use these environments while building our own products and client software. The team can work through a complete process, review a new feature and see how records change over time. The application and its separate development database give us a working model that we can adjust as the product takes shape.\nWalk through the software together\nDuring a review, someone can submit a request, follow its progress and inspect the history. That makes the discussion concrete: is the next step clear, does the right person see the task, and can they find what happened earlier? If a rule is missing or a handover is awkward, we can change it and run the scenario again. The same setup is useful for a demonstration or an early usability session.\nOur Forge simulations project describes the implementation approach. Read why we build on shared foundations for the wider reasoning behind those reusable blocks.\nKeep reading\nFoundations\nWhy we never build the basics twice\nMost of what a new product needs has been built a hundred times before. Spending your budget rebuilding it is the expensive mistake.\nRead more 2 min read\nDesign\nDesigning software people actually want to use\nGood design isn't decoration. It's the difference between software that helps and software people quietly work around.\nRead more 2 min read\nFoundations\nStaying agile without losing the long-term view\nAgile and a long-term plan sound like opposites. Held together, they keep fast work from painting you into a corner.\nRead more 2 min read\nBack to articles\nFacing something similar?\nThis is how we work. If the challenge in this article sounds familiar, tell us about yours and we'll give you a straight, useful answer.\nTalk to us","contentMode":"full","sections":[{"id":"give-the-data-a-next-step","heading":"Give the data a next step","text":"A request changes status. Another action arrives before the first one finishes. A background task completes later, and a user returns to an older view. These ordinary moments are where software becomes a working system rather than a collection of screens. Static records rarely expose the same questions about timing, accumulated history and competing actions.\nWe use shared Punfyre Forge blocks to build self-contained application environments with their own databases and scheduled activity. Initial scenarios establish a coherent starting point. From there, simulated actions exercise the workflows the application implements. The database changes through application services, giving the interface something more useful to respond to than a fixed set of examples."},{"id":"make-the-starting-point-repeatable","heading":"Make the starting point repeatable","text":"Random activity alone can produce plenty of movement without producing understanding. A useful scenario has a purpose and an identifiable starting condition. Seeded data helps us return to that condition; explicit lifecycle controls let us start, stop and inspect the activity. We can discuss the same situation again rather than hope the interesting moment happens twice.\nChoose the workflow and relationships that matter to the question.\nEstablish a repeatable starting state in a separate database.\nRun activity over time and inspect the resulting application state.\nKeep the scenario’s assumptions visible when interpreting what happened."},{"id":"a-working-model-for-the-team","heading":"A working model for the team","text":"We use these environments while building our own products and client software. The team can work through a complete process, review a new feature and see how records change over time. The application and its separate development database give us a working model that we can adjust as the product takes shape."},{"id":"walk-through-the-software-together","heading":"Walk through the software together","text":"During a review, someone can submit a request, follow its progress and inspect the history. That makes the discussion concrete: is the next step clear, does the right person see the task, and can they find what happened earlier? If a rule is missing or a handover is awkward, we can change it and run the scenario again. The same setup is useful for a demonstration or an early usability session.\nOur Forge simulations project describes the implementation approach. Read why we build on shared foundations for the wider reasoning behind those reusable blocks."}],"publishedAt":"2026-08-12"},{"id":"page.articles.technical-debt-without-stopping-delivery","locale":"en","kind":"article","canonicalUrl":"https://punfyre.be/en/articles/technical-debt-without-stopping-delivery","title":"Technical debt without stopping delivery","summary":"Address technical debt through bounded improvements tied to real work. Measure delivery and operational consequences before choosing a broad rewrite.","text":"Foundations\nTechnical debt without stopping delivery\nUpdated Oct 23, 2026 · 3 min read\nTechnical debt becomes a frustrating conversation when one side hears untidy code and the other hears another reason the requested feature will be late. Both miss the useful question: what is this part of the system costing us when we change or operate it?\nIn short\nDescribe technical debt through its operational and delivery consequences.\nChoose a bounded improvement connected to real work before proposing a rewrite.\nAgree how you will know the intervention helped and protect time to finish it.\nDescribe the consequence, not the age\nOld software is not automatically bad software. A stable module that rarely changes may deserve very little attention. A newer component that regularly breaks releases can be a much more useful place to work. Age and fashion are weak substitutes for evidence.\nMake the consequence concrete. Perhaps every pricing change requires editing three services, a release needs a manual database step or an integration failure is noticed only when a customer calls. Those observations connect the technical concern to delay, operational risk or avoidable work.\nImprove what needs attention while preserving what already works.\nChoose one useful boundary\nA broad request to clean up the architecture is hard to approve and harder to finish. A bounded intervention can be discussed: automate the fragile release step, put a test around a critical calculation, isolate an unstable supplier interface or remove a duplicated rule from the next feature path.\nWhich recurring problem will this change address?\nWhat will stay in place while we make the change?\nHow will we detect a regression and recover?\nWho owns finishing and checking the improvement?\nConnect improvement to the next real change\nWhen a team is already changing the order flow, that may be the right moment to put tests around its business rules. It is less convincing to refactor an untouched reporting module because its style feels old. Connecting the intervention to real work gives it context and a natural way to verify the result.\nThat does not mean hiding structural work inside every estimate. Make the choice visible. Sometimes an improvement deserves its own short piece of work because the operational consequence is large enough. Management should understand what it buys and what feature work it displaces.\nKeep the learning small enough to use\nBefore starting, record a simple baseline: the manual steps involved, a recurring failure, or how hard it is to change the affected rule. Afterward, check the same thing. You do not need a universal technical-debt score to know whether a risky deployment step has disappeared.\nA rewrite still needs a business case\nSome systems really have reached a point where replacement is the sensible option. The argument should include migration, parallel operation, data validation, training and support, not just the new code. A staged transition often gives you more useful feedback than a long period in which the replacement cannot yet do the existing job.\nOur article on replacing legacy systems looks at that transition. Fractional CTO support helps keep improvement decisions connected to business priorities and the team's actual capacity.\nPut it into practice Software health check Score software you already run, and see what the no answers add up to. Use the tool\nKeep reading\nFoundations\nThe quiet work that keeps software healthy\nSoftware doesn't stand still after launch, the world around it moves. Staying healthy takes small, steady, unglamorous work.\nRead more 2 min read\nDelivery\nReplacing a legacy system without stopping the business\nThe scariest projects are the ones where the old system everyone depends on has to go. Here's how we make them boring.\nRead more 3 min read\nFoundations\nA technology roadmap that helps business decisions\nUseful roadmaps make choices and uncertainty visible. A crowded timeline does not do that on its own.\nRead more 3 min read\nBack to articles\nFacing something similar?\nThis is how we work. If the challenge in this article sounds familiar, tell us about yours and we'll give you a straight, useful answer.\nTalk to us","contentMode":"full","sections":[{"id":"describe-the-consequence-not-the-age","heading":"Describe the consequence, not the age","text":"Old software is not automatically bad software. A stable module that rarely changes may deserve very little attention. A newer component that regularly breaks releases can be a much more useful place to work. Age and fashion are weak substitutes for evidence.\nMake the consequence concrete. Perhaps every pricing change requires editing three services, a release needs a manual database step or an integration failure is noticed only when a customer calls. Those observations connect the technical concern to delay, operational risk or avoidable work.\nImprove what needs attention while preserving what already works."},{"id":"choose-one-useful-boundary","heading":"Choose one useful boundary","text":"A broad request to clean up the architecture is hard to approve and harder to finish. A bounded intervention can be discussed: automate the fragile release step, put a test around a critical calculation, isolate an unstable supplier interface or remove a duplicated rule from the next feature path.\nWhich recurring problem will this change address?\nWhat will stay in place while we make the change?\nHow will we detect a regression and recover?\nWho owns finishing and checking the improvement?"},{"id":"connect-improvement-to-the-next-real-change","heading":"Connect improvement to the next real change","text":"When a team is already changing the order flow, that may be the right moment to put tests around its business rules. It is less convincing to refactor an untouched reporting module because its style feels old. Connecting the intervention to real work gives it context and a natural way to verify the result.\nThat does not mean hiding structural work inside every estimate. Make the choice visible. Sometimes an improvement deserves its own short piece of work because the operational consequence is large enough. Management should understand what it buys and what feature work it displaces."},{"id":"keep-the-learning-small-enough-to-use","heading":"Keep the learning small enough to use","text":"Before starting, record a simple baseline: the manual steps involved, a recurring failure, or how hard it is to change the affected rule. Afterward, check the same thing. You do not need a universal technical-debt score to know whether a risky deployment step has disappeared."},{"id":"a-rewrite-still-needs-a-business-case","heading":"A rewrite still needs a business case","text":"Some systems really have reached a point where replacement is the sensible option. The argument should include migration, parallel operation, data validation, training and support, not just the new code. A staged transition often gives you more useful feedback than a long period in which the replacement cannot yet do the existing job.\nOur article on replacing legacy systems looks at that transition. Fractional CTO support helps keep improvement decisions connected to business priorities and the team's actual capacity.\nPut it into practice Software health check Score software you already run, and see what the no answers add up to. Use the tool"}],"publishedAt":"2026-10-23"},{"id":"page.articles.telling-people-ai-is-involved","locale":"en","kind":"article","canonicalUrl":"https://punfyre.be/en/articles/telling-people-ai-is-involved","title":"Telling people AI is involved","summary":"If software drafts, sorts or suggests on your behalf, the people on the other end deserve one plain sentence about it. Here is how to write it, who owns the mistakes and what to settle before you publish.","text":"Responsible AI\nTelling people AI is involved\nUpdated Sep 20, 2026 · 5 min read\nOur responsible AI article covers how we build AI features: advisory, failing closed, showing the evidence. This one is about a smaller question that comes up the moment such a feature meets the public. Do you tell people, and how? The answer is yes, in plain language, and the rest of this article is about what that one sentence has to carry.\nIn short\nSay it in plain language, where people read, before they would otherwise assume a person did the work.\nEvery AI-assisted step needs an owner for its mistakes: who catches them, who corrects them, who tells the person affected.\nWhat the model provider stores is a data-processing question with a legal basis, settled before launch.\nWhy plain language matters\nPeople mind discovering that the letter they thought a nurse wrote was drafted by software and signed without a second look, or that their request sat at the bottom of the queue because of a model's guess. The test in our responsible AI assessment is blunt: would people who believe a human is doing this work feel deceived to learn otherwise? If yes, silence is a design choice, and the wrong one. A second test is more personal: would you hesitate to explain this use of AI on your own homepage? If you would, the problem sits upstream of the wording.\nPlain language means the sentence says what the software does, with a verb a person outside your organisation understands: drafts, sorts, flags, suggests. It also says what a person still does.\nErrors have an owner\nAn AI-assisted step will be wrong sometimes. Our own general terms put it plainly: that output is an aid, not a decision, it can contain errors, and you check it before you build on it. Disclosure without ownership is a disclaimer, and a disclaimer protects the organisation while the person affected is left with the error. So before you publish the sentence, answer three questions in writing.\nWho catches the mistakes? A named role reviews the output before it reaches the people affected, wherever a mistake would hurt. If review is sampled, know the sample and write it down.\nWho corrects them? Correcting means the record, the letter or the decision changes, and the correction reaches everyone who saw the wrong version.\nWho informs the person affected? If a sorting step delayed someone's request or a draft went out with a wrong figure, that person hears it from a human, with the correction, without having to ask.\nThe answers belong in the same document as the sentence on the homepage. If any of the three has no name next to it, the feature is not ready.\nWhat the provider stores is a data-processing question\nMost AI features send text to a model that runs somewhere else. That text may contain a name, a diagnosis, a complaint. Whatever the provider keeps, and for how long, is a data-processing questionUnder the GDPR every use of personal data needs a purpose, a legal basis and a record of who processes it on your behalf. Sending text to a model provider is such a use. with a real answer: a legal basis for the personal data involved, a processing agreement and a decision on where the data sits. Our own processor list states that our data sits within the European Economic Area, and that where a supplier also operates outside it, we select the European region and record that contractually. Whatever you decide, decide it before launch, send the minimum the task needs and strip identifying details when the task allows it.\nThree sentences you can adapt\nThe wording depends on what the software does. Three shapes cover most cases. Replace the role and the subject with your own and keep the verb.\nFor drafting: \"Software drafts the first version of this letter. A member of our care team reads and edits every letter before it is sent, and signs it.\"\nFor sorting or flagging: \"Software sorts incoming requests so urgent ones are seen first. It refuses and approves nothing; a person reads every request, and you can ask us to review the order.\"\nFor a second opinion on data: \"Software compares these results with earlier ones and flags values that look unusual. The flag is a prompt for the person reviewing your file; that person decides.\"\nEach of them names what the software does, what a person does and what the reader can do about it. Put the sentence where the people affected read: the page with the form, the letter itself, the footer of the message. A link to a policy page comes second.\nWhat not to write\nA badge. \"Powered by AI\" or \"AI-enhanced\" tells the reader nothing about what happened to their data or their request. It is marketing in the place where information should be.\nA blame clause. \"The AI may make mistakes\" without an owner moves the risk to the reader. The errors are yours; say what you do about them.\nMore than you can keep true. A sentence that promises \"every output is reviewed\" becomes a liability the day review is sampled. Write what actually happens.\nWhere this sits in the decision\nStep two of our responsible AI assessment lists the conditions before AI touches real people or real data. Two of them are this article: errors have an owner, and the people affected know AI is involved, in plain language. The others, sending the minimum data, a person reviewing where mistakes hurt, stopping when uncertain, measured quality and a budget for monitoring, belong on the same launch checklist. Step one comes before all of it and asks whether AI is the right tool at all. Often it is not, and then there is no sentence to write. In care, where the decision belongs to the clinician, the sentence has to say that too.\nKeep reading\nResponsible AI\nNot every solution needs AI\nWe build AI features for a living, which is exactly why we'll tell you when you don't need one.\nRead more 2 min read\nResponsible AI\nAI that helps without quietly taking over\nAI that assists is useful. AI that decides alone is a liability. The difference is a few concrete rules we never bend.\nRead more 2 min read\nResponsible AI\nWhat AI actually changes in healthcare\nPast the hype and the fear, AI is quietly reshaping diagnostics, admin, and how patients follow their own care.\nRead more 2 min read\nBack to articles\nFacing something similar?\nThis is how we work. If the challenge in this article sounds familiar, tell us about yours and we'll give you a straight, useful answer.\nTalk to us","contentMode":"full","sections":[{"id":"why-plain-language-matters","heading":"Why plain language matters","text":"People mind discovering that the letter they thought a nurse wrote was drafted by software and signed without a second look, or that their request sat at the bottom of the queue because of a model's guess. The test in our responsible AI assessment is blunt: would people who believe a human is doing this work feel deceived to learn otherwise? If yes, silence is a design choice, and the wrong one. A second test is more personal: would you hesitate to explain this use of AI on your own homepage? If you would, the problem sits upstream of the wording.\nPlain language means the sentence says what the software does, with a verb a person outside your organisation understands: drafts, sorts, flags, suggests. It also says what a person still does."},{"id":"errors-have-an-owner","heading":"Errors have an owner","text":"An AI-assisted step will be wrong sometimes. Our own general terms put it plainly: that output is an aid, not a decision, it can contain errors, and you check it before you build on it. Disclosure without ownership is a disclaimer, and a disclaimer protects the organisation while the person affected is left with the error. So before you publish the sentence, answer three questions in writing.\nWho catches the mistakes? A named role reviews the output before it reaches the people affected, wherever a mistake would hurt. If review is sampled, know the sample and write it down.\nWho corrects them? Correcting means the record, the letter or the decision changes, and the correction reaches everyone who saw the wrong version.\nWho informs the person affected? If a sorting step delayed someone's request or a draft went out with a wrong figure, that person hears it from a human, with the correction, without having to ask.\nThe answers belong in the same document as the sentence on the homepage. If any of the three has no name next to it, the feature is not ready."},{"id":"what-the-provider-stores-is-a-data-processing-question","heading":"What the provider stores is a data-processing question","text":"Most AI features send text to a model that runs somewhere else. That text may contain a name, a diagnosis, a complaint. Whatever the provider keeps, and for how long, is a data-processing questionUnder the GDPR every use of personal data needs a purpose, a legal basis and a record of who processes it on your behalf. Sending text to a model provider is such a use. with a real answer: a legal basis for the personal data involved, a processing agreement and a decision on where the data sits. Our own processor list states that our data sits within the European Economic Area, and that where a supplier also operates outside it, we select the European region and record that contractually. Whatever you decide, decide it before launch, send the minimum the task needs and strip identifying details when the task allows it."},{"id":"three-sentences-you-can-adapt","heading":"Three sentences you can adapt","text":"The wording depends on what the software does. Three shapes cover most cases. Replace the role and the subject with your own and keep the verb.\nFor drafting: \"Software drafts the first version of this letter. A member of our care team reads and edits every letter before it is sent, and signs it.\"\nFor sorting or flagging: \"Software sorts incoming requests so urgent ones are seen first. It refuses and approves nothing; a person reads every request, and you can ask us to review the order.\"\nFor a second opinion on data: \"Software compares these results with earlier ones and flags values that look unusual. The flag is a prompt for the person reviewing your file; that person decides.\"\nEach of them names what the software does, what a person does and what the reader can do about it. Put the sentence where the people affected read: the page with the form, the letter itself, the footer of the message. A link to a policy page comes second."},{"id":"what-not-to-write","heading":"What not to write","text":"A badge. \"Powered by AI\" or \"AI-enhanced\" tells the reader nothing about what happened to their data or their request. It is marketing in the place where information should be.\nA blame clause. \"The AI may make mistakes\" without an owner moves the risk to the reader. The errors are yours; say what you do about them.\nMore than you can keep true. A sentence that promises \"every output is reviewed\" becomes a liability the day review is sampled. Write what actually happens."},{"id":"where-this-sits-in-the-decision","heading":"Where this sits in the decision","text":"Step two of our responsible AI assessment lists the conditions before AI touches real people or real data. Two of them are this article: errors have an owner, and the people affected know AI is involved, in plain language. The others, sending the minimum data, a person reviewing where mistakes hurt, stopping when uncertain, measured quality and a budget for monitoring, belong on the same launch checklist. Step one comes before all of it and asks whether AI is the right tool at all. Often it is not, and then there is no sentence to write. In care, where the decision belongs to the clinician, the sentence has to say that too."}],"publishedAt":"2026-09-20"},{"id":"page.articles.what-a-fractional-cto-does","locale":"en","kind":"article","canonicalUrl":"https://punfyre.be/en/articles/what-a-fractional-cto-does","title":"What does a fractional CTO actually do?","summary":"What a fractional CTO takes responsibility for: technical decisions, delivery follow-through and the working agreement behind part-time leadership.","text":"Delivery\nWhat does a fractional CTO actually do?\nUpdated Oct 7, 2026 · 3 min read\nA company can have capable developers and still lack technical leadership. Someone is building the requested features, but the choices around them keep falling between the founder, the supplier and the busiest engineer. Which work matters? Is the architecture still appropriate? Who owns the risk after release?\nIn short\nThe role provides ongoing technical leadership, not a part-time ticket queue.\nDecision rights, availability and delivery responsibilities need a clear agreement.\nUseful leadership makes the team less dependent on any one person.\nThe missing part is ownership\nCTO stands for Chief Technology Officer. A fractional CTO takes on an agreed part of that leadership responsibility without a full-time appointment. The important word is not fractional. It is responsibility. The person should help make decisions and stay involved when those decisions meet real delivery constraints.\nThat can mean translating a business goal into a realistic technical agenda, reviewing an architecture choice, helping a team handle a reliability problem or challenging a supplier estimate. The role connects those conversations instead of treating them as unrelated requests.\nTechnical leadership connects direction with the work that follows.\nWhat the work looks like\nClarify the next important product and technical decisions.\nMake assumptions, dependencies and risks visible to management.\nReview implementation choices with the people delivering the work.\nKeep a useful record of decisions and check what happened afterwards.\nConsider a request to add a customer portal. A useful discussion starts with the customer task, the existing data and the person who will support it. Choosing a framework comes later. Leadership makes sure those questions have owners before a deadline turns an assumption into a commitment.\nHands-on does not mean doing every task\nA technical leader needs enough contact with the code, infrastructure and team to recognise when the plan does not match the system. That is different from becoming the default developer for every urgent ticket. If leadership time is entirely consumed by implementation, the original gap remains.\nSeparate the leadership responsibilities from additional development capacity. Agree who reviews work, who can approve a change and who handles incidents when the fractional CTO is not available. Part-time involvement cannot honestly promise full-time coverage.\nA useful working agreement\nStart with the decisions that need attention, then agree capacity and a review rhythm. Define access, confidentiality, escalation and decision rights. A short written agreement is more useful than an impressive title with no shared understanding of what it means.\nThe aim is a stronger organisation\nGood involvement leaves understandable decisions, clearer responsibilities and a team that can act with more confidence. It should not create a new bottleneck where every choice needs one consultant. As the company grows, the right next step may be more ownership inside the team or a full-time leadership appointment.\nOur fractional CTO service describes how we approach that ongoing role. If you first need a bounded second opinion, advisory and audits may be a better starting point.\nKeep reading\nDelivery\nWhy we work with the door open\nA project you can't see into is a project you can't steer. Openness isn't a courtesy, it's how good software gets made.\nRead more 2 min read\nFoundations\nFractional CTO, advisor or full-time CTO?\nStart with the responsibility you need covered. The title and number of days come after that.\nRead more 3 min read\nDelivery\nThe first 90 days with a fractional CTO\nA practical starting rhythm for a new engagement, with enough structure to learn before committing to the wrong work.\nRead more 3 min read\nBack to articles\nFacing something similar?\nThis is how we work. If the challenge in this article sounds familiar, tell us about yours and we'll give you a straight, useful answer.\nTalk to us","contentMode":"full","sections":[{"id":"the-missing-part-is-ownership","heading":"The missing part is ownership","text":"CTO stands for Chief Technology Officer. A fractional CTO takes on an agreed part of that leadership responsibility without a full-time appointment. The important word is not fractional. It is responsibility. The person should help make decisions and stay involved when those decisions meet real delivery constraints.\nThat can mean translating a business goal into a realistic technical agenda, reviewing an architecture choice, helping a team handle a reliability problem or challenging a supplier estimate. The role connects those conversations instead of treating them as unrelated requests.\nTechnical leadership connects direction with the work that follows."},{"id":"what-the-work-looks-like","heading":"What the work looks like","text":"Clarify the next important product and technical decisions.\nMake assumptions, dependencies and risks visible to management.\nReview implementation choices with the people delivering the work.\nKeep a useful record of decisions and check what happened afterwards.\nConsider a request to add a customer portal. A useful discussion starts with the customer task, the existing data and the person who will support it. Choosing a framework comes later. Leadership makes sure those questions have owners before a deadline turns an assumption into a commitment."},{"id":"hands-on-does-not-mean-doing-every-task","heading":"Hands-on does not mean doing every task","text":"A technical leader needs enough contact with the code, infrastructure and team to recognise when the plan does not match the system. That is different from becoming the default developer for every urgent ticket. If leadership time is entirely consumed by implementation, the original gap remains.\nSeparate the leadership responsibilities from additional development capacity. Agree who reviews work, who can approve a change and who handles incidents when the fractional CTO is not available. Part-time involvement cannot honestly promise full-time coverage."},{"id":"a-useful-working-agreement","heading":"A useful working agreement","text":"Start with the decisions that need attention, then agree capacity and a review rhythm. Define access, confidentiality, escalation and decision rights. A short written agreement is more useful than an impressive title with no shared understanding of what it means."},{"id":"the-aim-is-a-stronger-organisation","heading":"The aim is a stronger organisation","text":"Good involvement leaves understandable decisions, clearer responsibilities and a team that can act with more confidence. It should not create a new bottleneck where every choice needs one consultant. As the company grows, the right next step may be more ownership inside the team or a full-time leadership appointment.\nOur fractional CTO service describes how we approach that ongoing role. If you first need a bounded second opinion, advisory and audits may be a better starting point."}],"publishedAt":"2026-10-07"},{"id":"page.articles.what-a-software-audit-actually-looks-at","locale":"en","kind":"article","canonicalUrl":"https://punfyre.be/en/articles/what-a-software-audit-actually-looks-at","title":"What a software audit actually looks at","summary":"A software audit ends in a short report you can act on: findings ranked, what to leave alone, a first week of work. Here is what we read to get there, and what we refuse to do.","text":"Delivery\nWhat a software audit actually looks at\nUpdated Sep 12, 2026 · 5 min read\nPeople ask for a software audit when something feels wrong and nobody can say what. Releases take longer than they used to, one developer is the only person who dares to touch a module, a security question from a customer waited a week for an answer. The audit is meant to replace that feeling with a list. This is what the list looks like, what we read to write it, and what we will not do along the way.\nIn short\nThe report is short: findings ranked by consequence, what to leave alone, a first week of work and where our part ends.\nWe read the structure, the dependencies, the shortcuts, the security that fits your real risk and the reason releases hurt.\nWe do not score people or recommend ourselves by default, and the advice may conclude that you need nothing from us.\nWhat the report looks like\nThe report is shorter than most people expect. It has four parts.\nFindings ranked by consequence. Each finding says what happens if you do nothing, how likely that is and roughly what it takes to close.\nWhat to leave alone. A section of the report names the parts that are fine as they are, so nobody spends a quarter modernising something that was never the problem.\nA first week of work. The cheapest items that remove the most risk, grouped so a team can start on Monday without us.\nWhere our part ends. The report says what we would do next if asked and what your own team can handle. A good audit does not quietly become a promise to manage implementation forever.\nIt is written in plain language, it is yours to keep, and it is written so any team can act on it, including a team that is not ours.\nWhat we read\nSoftware problems rarely live in one place, so we read the code and everything around it. The documentation tells us what people intended. The repository, the infrastructure and the real flow of work tell us what happened.\nStructure: how the system is divided, where the boundaries are and which of them are still respected in the code.\nDependencies: which libraries and platforms it stands on, which of those still receive security patches and which have quietly stopped.\nShortcuts: the places where someone took the fast route under pressure. Every system has them. The question is which ones will hold and which are now carrying weight they were never meant to.\nSecurity that fits the real risk: the measures that match your data, your users and the consequences of a breach. No security theatre, and no list of controls copied from a bank when you run a planning tool.\nWhy releases hurt: how a change travels from an idea to production, where it waits, what breaks on the way and what would make shipping predictable again.\nWe also talk to the people who do the work before we measure anything. Their worries are usually right about the symptom and sometimes wrong about the cause, and the gap between the two is the most useful thing an audit can find.\nTwo patterns we keep finding\nThe specifics differ every time. The shapes repeat, and two of them say most about what an audit is for.\nThe first is the module everyone wants to rewrite. It is the oldest part of the system, written in a style nobody would choose today, and it looks like the obvious target. Then we read the change history and find that it has barely been touched in years, that it does one job and that it does that job without incident. The recommendation is to leave it alone: wrap it, document the one thing people need to know about it and spend the attention where change actually happens. A rewrite would cost months and throw away what the code already learned. Technical debt is measured by its consequence, not by its age.\nThe second is the system that runs on luck. Backups run, but nobody has ever restored one. The administrators share a single account, and its password has survived two departures. One person holds the knowledge of how a release works, and that person takes holidays. None of this shows up as a bug. All of it is a week of work to fix: a tested restore, personal accounts with two-factor authenticationA second proof of identity beside the password, such as a code on a phone, so a leaked password alone does not open an admin account., one page that describes a release. The audit ranks that week above every architectural ambition in the report, because it removes the worst risk for the least money.\nWhat we refuse to do\nScore people. We judge the work. Most shortcuts were reasonable decisions under the constraints of the day, and a report that assigns blame is a report nobody acts on.\nRecommend ourselves by default. If follow-up work makes sense we say so, and the decision is yours. The advice stands alone and may well conclude that you need nothing from us.\nPromise results. Our general terms say that advice is an obligation of meansA commitment to work skilfully and carefully with the resources the assignment calls for, without guaranteeing a particular outcome. Our general terms use it for consultancy, advice and development.: we work carefully and commit what the assignment calls for, and we do not guarantee an outcome. An audit that promises painless releases by spring is selling something other than an audit.\nBefore you ask for one\nIf you want a first read yourself, our software health check asks twenty questions about one system in production and ends with a count you can act on. If the count surprises you, or if the questions you cannot answer are the ones about who holds the knowledge, that is the moment an audit earns its place. Keeping the findings from coming back is a separate habit, and we have written about what that routine looks like.\nKeep reading\nDelivery\nReplacing a legacy system without stopping the business\nThe scariest projects are the ones where the old system everyone depends on has to go. Here's how we make them boring.\nRead more 3 min read\nFoundations\nTechnical debt without stopping delivery\nThe choice is rarely ignore everything or rewrite everything. Start with the debt that is making real work harder.\nRead more 3 min read\nDelivery\nThe hidden cost of a fixed-price project\nA fixed price feels like control. On genuinely new work it quietly buys you the wrong thing, on time and on budget.\nRead more 2 min read\nBack to articles\nFacing something similar?\nThis is how we work. If the challenge in this article sounds familiar, tell us about yours and we'll give you a straight, useful answer.\nTalk to us","contentMode":"full","sections":[{"id":"what-the-report-looks-like","heading":"What the report looks like","text":"The report is shorter than most people expect. It has four parts.\nFindings ranked by consequence. Each finding says what happens if you do nothing, how likely that is and roughly what it takes to close.\nWhat to leave alone. A section of the report names the parts that are fine as they are, so nobody spends a quarter modernising something that was never the problem.\nA first week of work. The cheapest items that remove the most risk, grouped so a team can start on Monday without us.\nWhere our part ends. The report says what we would do next if asked and what your own team can handle. A good audit does not quietly become a promise to manage implementation forever.\nIt is written in plain language, it is yours to keep, and it is written so any team can act on it, including a team that is not ours."},{"id":"what-we-read","heading":"What we read","text":"Software problems rarely live in one place, so we read the code and everything around it. The documentation tells us what people intended. The repository, the infrastructure and the real flow of work tell us what happened.\nStructure: how the system is divided, where the boundaries are and which of them are still respected in the code.\nDependencies: which libraries and platforms it stands on, which of those still receive security patches and which have quietly stopped.\nShortcuts: the places where someone took the fast route under pressure. Every system has them. The question is which ones will hold and which are now carrying weight they were never meant to.\nSecurity that fits the real risk: the measures that match your data, your users and the consequences of a breach. No security theatre, and no list of controls copied from a bank when you run a planning tool.\nWhy releases hurt: how a change travels from an idea to production, where it waits, what breaks on the way and what would make shipping predictable again.\nWe also talk to the people who do the work before we measure anything. Their worries are usually right about the symptom and sometimes wrong about the cause, and the gap between the two is the most useful thing an audit can find."},{"id":"two-patterns-we-keep-finding","heading":"Two patterns we keep finding","text":"The specifics differ every time. The shapes repeat, and two of them say most about what an audit is for.\nThe first is the module everyone wants to rewrite. It is the oldest part of the system, written in a style nobody would choose today, and it looks like the obvious target. Then we read the change history and find that it has barely been touched in years, that it does one job and that it does that job without incident. The recommendation is to leave it alone: wrap it, document the one thing people need to know about it and spend the attention where change actually happens. A rewrite would cost months and throw away what the code already learned. Technical debt is measured by its consequence, not by its age.\nThe second is the system that runs on luck. Backups run, but nobody has ever restored one. The administrators share a single account, and its password has survived two departures. One person holds the knowledge of how a release works, and that person takes holidays. None of this shows up as a bug. All of it is a week of work to fix: a tested restore, personal accounts with two-factor authenticationA second proof of identity beside the password, such as a code on a phone, so a leaked password alone does not open an admin account., one page that describes a release. The audit ranks that week above every architectural ambition in the report, because it removes the worst risk for the least money."},{"id":"what-we-refuse-to-do","heading":"What we refuse to do","text":"Score people. We judge the work. Most shortcuts were reasonable decisions under the constraints of the day, and a report that assigns blame is a report nobody acts on.\nRecommend ourselves by default. If follow-up work makes sense we say so, and the decision is yours. The advice stands alone and may well conclude that you need nothing from us.\nPromise results. Our general terms say that advice is an obligation of meansA commitment to work skilfully and carefully with the resources the assignment calls for, without guaranteeing a particular outcome. Our general terms use it for consultancy, advice and development.: we work carefully and commit what the assignment calls for, and we do not guarantee an outcome. An audit that promises painless releases by spring is selling something other than an audit."},{"id":"before-you-ask-for-one","heading":"Before you ask for one","text":"If you want a first read yourself, our software health check asks twenty questions about one system in production and ends with a count you can act on. If the count surprises you, or if the questions you cannot answer are the ones about who holds the knowledge, that is the moment an audit earns its place. Keeping the findings from coming back is a separate habit, and we have written about what that routine looks like."}],"publishedAt":"2026-09-12"},{"id":"page.articles.when-not-to-build-custom","locale":"en","kind":"article","canonicalUrl":"https://punfyre.be/en/articles/when-not-to-build-custom","title":"When custom software is the wrong choice","summary":"We build custom software for a living. That's exactly why you should hear us out when we say: sometimes, don't.","text":"Foundations\nWhen custom software is the wrong choice\nUpdated Aug 13, 2026 · 2 min read\nWe build custom software for a living, so take this seriously: sometimes you should not. A custom build is the right answer more rarely than the people selling custom builds tend to admit, and knowing the difference protects your budget.\nIn short\nBuy the commodity, build only what genuinely differentiates you.\nCustom is ownership: maintenance and evolution belong in the budget.\nOften the right shape is hybrid: standard core, thin custom edge.\nBuy the commodity, build the difference\nAccounting, payroll, e-mail, document storage: these problems are solved, and the off-the-shelf tools are excellent because thousands of organisations fund their improvement. Custom software earns its cost where your process is genuinely yours, the part of how you work that gives you an edge or that no standard tool will ever fit.\nThe real cost arrives in the years after\nA custom build is not a purchase, it is ownership. It needs maintenance, security updates, and evolution as your organisation changes, and that ongoing cost is part of the honest calculation. If the budget only covers the build, the build is the wrong plan.\nThe hybrid answer\nMost of the time the right shape is neither pure standard nor pure custom: a standard core for the solved problems, with a thin custom layer where your process genuinely differs, connected through integrationsA connection that lets two systems exchange data automatically, instead of someone retyping it. instead of replacements. You get the maintenance economics of off-the-shelf where it is commodity, and ownership only of the part that earns it.\nAn honest test\nThree questions do most of the work:\nDoes this genuinely differentiate you, or is it plumbing?\nWould an off-the-shelf tool force a process change that actually harms you, or just a change?\nAre you ready to own software long term?\nIf custom loses that test, we will say so and point you to the boring option, because a recommendation you can trust on the small decision is the one you can trust on the big one.\nKeep reading\nFoundations\nWhy we never build the basics twice\nMost of what a new product needs has been built a hundred times before. Spending your budget rebuilding it is the expensive mistake.\nRead more 2 min read\nDelivery\nThe hidden cost of a fixed-price project\nA fixed price feels like control. On genuinely new work it quietly buys you the wrong thing, on time and on budget.\nRead more 2 min read\nFoundations\nTechnical debt without stopping delivery\nThe choice is rarely ignore everything or rewrite everything. Start with the debt that is making real work harder.\nRead more 3 min read\nBack to articles\nFacing something similar?\nThis is how we work. If the challenge in this article sounds familiar, tell us about yours and we'll give you a straight, useful answer.\nTalk to us","contentMode":"full","sections":[{"id":"buy-the-commodity-build-the-difference","heading":"Buy the commodity, build the difference","text":"Accounting, payroll, e-mail, document storage: these problems are solved, and the off-the-shelf tools are excellent because thousands of organisations fund their improvement. Custom software earns its cost where your process is genuinely yours, the part of how you work that gives you an edge or that no standard tool will ever fit."},{"id":"the-real-cost-arrives-in-the-years-after","heading":"The real cost arrives in the years after","text":"A custom build is not a purchase, it is ownership. It needs maintenance, security updates, and evolution as your organisation changes, and that ongoing cost is part of the honest calculation. If the budget only covers the build, the build is the wrong plan."},{"id":"the-hybrid-answer","heading":"The hybrid answer","text":"Most of the time the right shape is neither pure standard nor pure custom: a standard core for the solved problems, with a thin custom layer where your process genuinely differs, connected through integrationsA connection that lets two systems exchange data automatically, instead of someone retyping it. instead of replacements. You get the maintenance economics of off-the-shelf where it is commodity, and ownership only of the part that earns it."},{"id":"an-honest-test","heading":"An honest test","text":"Three questions do most of the work:\nDoes this genuinely differentiate you, or is it plumbing?\nWould an off-the-shelf tool force a process change that actually harms you, or just a change?\nAre you ready to own software long term?\nIf custom loses that test, we will say so and point you to the boring option, because a recommendation you can trust on the small decision is the one you can trust on the big one."}],"publishedAt":"2026-08-13"},{"id":"page.articles.when-the-spreadsheet-stops-being-the-system","locale":"en","kind":"article","canonicalUrl":"https://punfyre.be/en/articles/when-the-spreadsheet-stops-being-the-system","title":"When the spreadsheet stops being the system","summary":"Every organisation runs on a spreadsheet somewhere. The trouble starts when it becomes the system of record. Here are the symptoms, the pattern that replaces it and what to bring to a first call.","text":"Foundations\nWhen the spreadsheet stops being the system\nUpdated Aug 1, 2026 · 5 min read\nA spreadsheet is the best tool ever made for a problem nobody has defined yet. That is also how it ends up carrying a yearly publication, a waiting list or an order book long after it stopped being able to. This article is about recognising that moment, and about what the replacement tends to look like when it goes well.\nIn short\nThe symptoms are organisational before they are technical: requests by phone, one person who holds the sheet, the same data in three places.\nPatching stops working because a sheet has no owner per record, no validation, no history and no way out except retyping.\nWhat transfers between cases is a sharp problem, a weekly rhythm, a small first scope and your own system as the source of truth.\nThe symptoms\nThe symptoms are organisational before they are technical. People rarely say \"our spreadsheet has become a system\". They say things like these.\nRequests arrive by phone or e-mail and someone types them into the sheet. Every request is incomplete in a different way, and the typing is a job in itself.\nOne person holds the sheet. They know which column is really used, which colour means what and which rows are dead. When they are away, the sheet waits.\nThe same data lives in three places: the sheet, the e-mails that fed it and the document that was built from it. They disagree, and nobody knows which one is right.\nA yearly edition, report or catalogue is assembled from the sheet and a season of e-mail,.\nSeveral of these together mean the sheet has become the system of recordThe one place where a fact is considered true. When two sources disagree, the system of record wins. A spreadsheet rarely holds that role well, because anyone can edit any cell..\nWhy patching stops working\nThe first response is always to patch: a macro here, a protected range there, a second tab with instructions. A spreadsheet has no notion of who owns a record, so nobody can confirm their own entry. It has no validation beyond what one person remembers to check. It has no history, so a wrong edit cannot be traced. And it has no exit except retyping, so everything built from it is built by hand. A system of record needs exactly those things, and no amount of patching adds them to a grid of cells.\nThe pattern, from work you can look at\nSeveral public cases on our site started here. Where there are results, they are in the client's own words.\nHospindex and Carehomesindex, the annual reference works for Belgian hospitals and residential care, used to be assembled from spreadsheets, e-mail and a lot of chasing. The platform gave every organisation its own login to check and correct its entry, a validation step so the editors see, per record, what has been confirmed, and one structured export that goes straight into the printed edition. The export turns a year of scattered corrections into a book that ships on time.\nWit-Gele Kruis East Flanders used to receive home-nursing requests from doctors, health funds and hospitals by phone. A secured care-request website replaced that, built in a weekly working group with their care team. It went live three months after the first working group, and requests now arrive complete. Peter Rasschaert, Director of Care, said: \"Everyone is helped faster through the website, and that is real added value for us.\"\nMedisch Labo Bruyland moved its results server to newer, friendlier technology built around how the lab works, and a lot of manual data entry went with it. Karen Bruyland of the lab: \"Thanks to the renewed results server we notice that more doctors are requesting electronically, which results in faster turnaround times in the lab.\"\nVivalyte, still in development, applies the same pattern to a product catalogue: specifications, variants and documents sync from the product information system the company already runs, so nobody retypes any of it.\nWhat transfers between cases\nA sharp problem. Each case started from one painful moment: the edition closing, the phone ringing, the retyping. We scope to that moment, and the rest waits.\nA weekly rhythm. The client sets out the requirements, we fill in the rest, and a short weekly working group keeps both sides close to the work.\nA small first scope. The first live version does one job completely: take a request, confirm an entry, export an edition.\nYour own system as the source of truth. Where a system already exists, the new one syncs from it. Where none does, the new one becomes the one place and the sheet is retired, because two systems of record are worse than a spreadsheet.\nA handover that holds. You end with a working system and a setup your team can run without us. We have written about what that includes.\nOne more thing transfers: the replacement is rarely a large build. The problem a spreadsheet carried is narrow, and narrow problems make small, durable systems. That is also why buying something standard deserves a look before anyone builds; only the part of the sheet that is specific to how you work is worth building.\nWhat to bring to a first call\nThe sheet itself, with the colours and the dead rows.\nThe name of the person who holds it, and an hour of their time.\nThe moment that hurts most: the yearly close, the Monday phone calls, the retyping. That becomes the first scope.\nThe other places the same data lives, and which one people trust when they disagree.\nThe systems you already run that the new one should talk to.\nYou tell us the goal and the constraints, and we come back with a clear approach and a scope you can sign off. For something new, that scope is a range with its assumptions written down, and we have explained why. If the call ends with \"keep the spreadsheet, add a form\", that is a result too.\nKeep reading\nFoundations\nWhen custom software is the wrong choice\nWe build custom software for a living. That's exactly why you should hear us out when we say: sometimes, don't.\nRead more 2 min read\nDelivery\nShipping software that still works after we hand it over\nA launch is the easy part. The real test is whether the thing keeps running once the attention moves on.\nRead more 3 min read\nFoundations\nThe quiet work that keeps software healthy\nSoftware doesn't stand still after launch, the world around it moves. Staying healthy takes small, steady, unglamorous work.\nRead more 2 min read\nBack to articles\nFacing something similar?\nThis is how we work. If the challenge in this article sounds familiar, tell us about yours and we'll give you a straight, useful answer.\nTalk to us","contentMode":"full","sections":[{"id":"the-symptoms","heading":"The symptoms","text":"The symptoms are organisational before they are technical. People rarely say \"our spreadsheet has become a system\". They say things like these.\nRequests arrive by phone or e-mail and someone types them into the sheet. Every request is incomplete in a different way, and the typing is a job in itself.\nOne person holds the sheet. They know which column is really used, which colour means what and which rows are dead. When they are away, the sheet waits.\nThe same data lives in three places: the sheet, the e-mails that fed it and the document that was built from it. They disagree, and nobody knows which one is right.\nA yearly edition, report or catalogue is assembled from the sheet and a season of e-mail,.\nSeveral of these together mean the sheet has become the system of recordThe one place where a fact is considered true. When two sources disagree, the system of record wins. A spreadsheet rarely holds that role well, because anyone can edit any cell.."},{"id":"why-patching-stops-working","heading":"Why patching stops working","text":"The first response is always to patch: a macro here, a protected range there, a second tab with instructions. A spreadsheet has no notion of who owns a record, so nobody can confirm their own entry. It has no validation beyond what one person remembers to check. It has no history, so a wrong edit cannot be traced. And it has no exit except retyping, so everything built from it is built by hand. A system of record needs exactly those things, and no amount of patching adds them to a grid of cells."},{"id":"the-pattern-from-work-you-can-look-at","heading":"The pattern, from work you can look at","text":"Several public cases on our site started here. Where there are results, they are in the client's own words.\nHospindex and Carehomesindex, the annual reference works for Belgian hospitals and residential care, used to be assembled from spreadsheets, e-mail and a lot of chasing. The platform gave every organisation its own login to check and correct its entry, a validation step so the editors see, per record, what has been confirmed, and one structured export that goes straight into the printed edition. The export turns a year of scattered corrections into a book that ships on time.\nWit-Gele Kruis East Flanders used to receive home-nursing requests from doctors, health funds and hospitals by phone. A secured care-request website replaced that, built in a weekly working group with their care team. It went live three months after the first working group, and requests now arrive complete. Peter Rasschaert, Director of Care, said: \"Everyone is helped faster through the website, and that is real added value for us.\"\nMedisch Labo Bruyland moved its results server to newer, friendlier technology built around how the lab works, and a lot of manual data entry went with it. Karen Bruyland of the lab: \"Thanks to the renewed results server we notice that more doctors are requesting electronically, which results in faster turnaround times in the lab.\"\nVivalyte, still in development, applies the same pattern to a product catalogue: specifications, variants and documents sync from the product information system the company already runs, so nobody retypes any of it."},{"id":"what-transfers-between-cases","heading":"What transfers between cases","text":"A sharp problem. Each case started from one painful moment: the edition closing, the phone ringing, the retyping. We scope to that moment, and the rest waits.\nA weekly rhythm. The client sets out the requirements, we fill in the rest, and a short weekly working group keeps both sides close to the work.\nA small first scope. The first live version does one job completely: take a request, confirm an entry, export an edition.\nYour own system as the source of truth. Where a system already exists, the new one syncs from it. Where none does, the new one becomes the one place and the sheet is retired, because two systems of record are worse than a spreadsheet.\nA handover that holds. You end with a working system and a setup your team can run without us. We have written about what that includes.\nOne more thing transfers: the replacement is rarely a large build. The problem a spreadsheet carried is narrow, and narrow problems make small, durable systems. That is also why buying something standard deserves a look before anyone builds; only the part of the sheet that is specific to how you work is worth building."},{"id":"what-to-bring-to-a-first-call","heading":"What to bring to a first call","text":"The sheet itself, with the colours and the dead rows.\nThe name of the person who holds it, and an hour of their time.\nThe moment that hurts most: the yearly close, the Monday phone calls, the retyping. That becomes the first scope.\nThe other places the same data lives, and which one people trust when they disagree.\nThe systems you already run that the new one should talk to.\nYou tell us the goal and the constraints, and we come back with a clear approach and a scope you can sign off. For something new, that scope is a range with its assumptions written down, and we have explained why. If the call ends with \"keep the spreadsheet, add a form\", that is a result too."}],"publishedAt":"2026-08-01"},{"id":"page.articles.who-owns-the-software-you-paid-for","locale":"en","kind":"article","canonicalUrl":"https://punfyre.be/en/articles/who-owns-the-software-you-paid-for","title":"Who owns the software you paid for","summary":"Paying for custom software does not make it yours unless the contract says which parts are, in plain words.","text":"Foundations\nWho owns the software you paid for\nUpdated Aug 18, 2026 · 5 min read\nWhen you pay for custom software, \"you own it\" sounds like one thing. In practice it is five things, and a contract that names only one of them leaves the other four to goodwill. This piece lists the five, shows how our own agreement handles the awkward one, and gives you two sentences you can put in front of any supplier.\nIn short\nOwnership splits into source, data, accounts and domains, documentation and the supplier platform. Name each.\nYou own the project-specific deliverable; the supplier keeps its reusable parts under a perpetual licence to you.\nCustody of a repository or hosting is not ownership. Only the written agreement is.\nWhat ownership splits into\nOwnership splits into parts that can each end up in different hands:\nThe source codeThe human-readable version of the software, the thing a developer needs in order to change it.: without it, nobody but the original supplier can change the product.\nYour data: everything the system holds about your customers, patients or orders, and the ability to export it at any time in a format another system can read.\nAccounts and domains: the domain name, hosting, app store and third-party service accounts, registered in your name rather than the supplier's.\nDocumentation: how to run, deploy, back up and change it, written for the next person.\nThe supplier's reusable platform: libraries, templates and tooling built before you arrived and used for other customers too.\nEach of these can be yours, theirs or nobody's. A contract that says \"the client owns the software\" without naming them has decided the first and left the rest open. That is where most ownership disputes start: everyone agreed, and nobody agreed on what.\nThe deliverable and the platform are two different things\nMost suppliers, including us, do not write every project from a blank page. Part of what you receive was built for you; part is a platform the supplier reuses. A fair contract names that split.\nOur own agreement handles it this way. You own the project-specific deliverables that are identified in the scope, once they are paid for. We keep what existed before your project and what we reuse across projects: libraries, templates, deployment tooling and methods. Where those reusable parts are embedded in your deliverable, you get a non-exclusive, perpetual licenceNon-exclusive: the supplier may keep using the same material for others. Perpetual: the licence does not expire when the engagement ends. to use them as part of it, for your own internal use.\nTwo things follow. You cannot lift our platform out of your product and sell it on, and we cannot take your project-specific work and hand it to someone else. One thing is easy to miss: having the repository or the hosting under your control is not the same as owning what is in it. Our agreement says so in plain words: custody of hosting, deployment or repositories does not by itself transfer ownership. Ask any supplier where their line sits, in writing.\nWhat handover must include\nOwnership on paper is worth little if nothing arrives. A handover you can actually use contains:\nAccess and ownership transferred: accounts, domains, credentials and billing moved to you, nothing left on the supplier's side.\nThe source code, with the instructions to build and deploy it on infrastructure you control.\nA runbook for the routine work: deploying, backups, monitoring, updating a dependency.\nThe decision log: why the system is shaped the way it is, so the next developer changes it deliberately.\nOpen ends, named: the shortcuts taken knowingly and what would come next.\nThe test: could another developer take over from the handover alone, without calling the supplier? That needs the handover described and priced in the contract, not left as a favour for later. We scope the handover from day one for that reason.\nIf the supplier disappears\nCompanies stop, get sold, or drop a product line. Nobody can promise otherwise, so ask before you sign:\nWhat happens to the code and the data if the company stops, is sold or drops this product line?\nCan you reach the code without their cooperation?\nCould another party continue the work without rebuilding from scratch?\nWhat is the exit arrangement: notice period, final handover, cost?\nWe have no standard escrow arrangement to point at, so you will not find one in our agreement. What you will find is the ownership split above, the handover in the scope, and accounts in your name.\nTwo sentences for the contract\nYou do not need legal language to be clear. Two sentences in plain words do most of the work:\n\"The client owns the source code, data, documentation and project-specific deliverables listed in the scope, subject to payment. The supplier keeps its pre-existing and reusable materials and grants the client a perpetual, non-exclusive licence to use them as part of the deliverable.\"\n\"The domain name, hosting and third-party accounts are registered in the client's name. At the end of the engagement the supplier hands over source code, credentials, deployment instructions and documentation within the agreed period, at the price stated in this agreement.\"\nThis is not legal advice, and your adviser may sharpen the wording; it covers the two places where a software contract most often stays vague. Our general terms say that consultancy is an obligation of means and that the concrete arrangements on scope, pricing, acceptance and intellectual property live in the project documents, which is where these sentences belong.\nA custom build is not a purchase, it is ownership. Ownership only means something when each part has a name on it. This is how we write our own agreements, and it is a fair way to read anyone else's.\nKeep reading\nFoundations\nWhen custom software is the wrong choice\nWe build custom software for a living. That's exactly why you should hear us out when we say: sometimes, don't.\nRead more 2 min read\nDelivery\nShipping software that still works after we hand it over\nA launch is the easy part. The real test is whether the thing keeps running once the attention moves on.\nRead more 3 min read\nFoundations\nBeyond sample data: software that keeps moving\nWe use Forge to populate development databases and run everyday workflows, so teams can test new features and demonstrate how the software works.\nRead more 3 min read\nBack to articles\nFacing something similar?\nThis is how we work. If the challenge in this article sounds familiar, tell us about yours and we'll give you a straight, useful answer.\nTalk to us","contentMode":"full","sections":[{"id":"what-ownership-splits-into","heading":"What ownership splits into","text":"Ownership splits into parts that can each end up in different hands:\nThe source codeThe human-readable version of the software, the thing a developer needs in order to change it.: without it, nobody but the original supplier can change the product.\nYour data: everything the system holds about your customers, patients or orders, and the ability to export it at any time in a format another system can read.\nAccounts and domains: the domain name, hosting, app store and third-party service accounts, registered in your name rather than the supplier's.\nDocumentation: how to run, deploy, back up and change it, written for the next person.\nThe supplier's reusable platform: libraries, templates and tooling built before you arrived and used for other customers too.\nEach of these can be yours, theirs or nobody's. A contract that says \"the client owns the software\" without naming them has decided the first and left the rest open. That is where most ownership disputes start: everyone agreed, and nobody agreed on what."},{"id":"the-deliverable-and-the-platform-are-two-different-things","heading":"The deliverable and the platform are two different things","text":"Most suppliers, including us, do not write every project from a blank page. Part of what you receive was built for you; part is a platform the supplier reuses. A fair contract names that split.\nOur own agreement handles it this way. You own the project-specific deliverables that are identified in the scope, once they are paid for. We keep what existed before your project and what we reuse across projects: libraries, templates, deployment tooling and methods. Where those reusable parts are embedded in your deliverable, you get a non-exclusive, perpetual licenceNon-exclusive: the supplier may keep using the same material for others. Perpetual: the licence does not expire when the engagement ends. to use them as part of it, for your own internal use.\nTwo things follow. You cannot lift our platform out of your product and sell it on, and we cannot take your project-specific work and hand it to someone else. One thing is easy to miss: having the repository or the hosting under your control is not the same as owning what is in it. Our agreement says so in plain words: custody of hosting, deployment or repositories does not by itself transfer ownership. Ask any supplier where their line sits, in writing."},{"id":"what-handover-must-include","heading":"What handover must include","text":"Ownership on paper is worth little if nothing arrives. A handover you can actually use contains:\nAccess and ownership transferred: accounts, domains, credentials and billing moved to you, nothing left on the supplier's side.\nThe source code, with the instructions to build and deploy it on infrastructure you control.\nA runbook for the routine work: deploying, backups, monitoring, updating a dependency.\nThe decision log: why the system is shaped the way it is, so the next developer changes it deliberately.\nOpen ends, named: the shortcuts taken knowingly and what would come next.\nThe test: could another developer take over from the handover alone, without calling the supplier? That needs the handover described and priced in the contract, not left as a favour for later. We scope the handover from day one for that reason."},{"id":"if-the-supplier-disappears","heading":"If the supplier disappears","text":"Companies stop, get sold, or drop a product line. Nobody can promise otherwise, so ask before you sign:\nWhat happens to the code and the data if the company stops, is sold or drops this product line?\nCan you reach the code without their cooperation?\nCould another party continue the work without rebuilding from scratch?\nWhat is the exit arrangement: notice period, final handover, cost?\nWe have no standard escrow arrangement to point at, so you will not find one in our agreement. What you will find is the ownership split above, the handover in the scope, and accounts in your name."},{"id":"two-sentences-for-the-contract","heading":"Two sentences for the contract","text":"You do not need legal language to be clear. Two sentences in plain words do most of the work:\n\"The client owns the source code, data, documentation and project-specific deliverables listed in the scope, subject to payment. The supplier keeps its pre-existing and reusable materials and grants the client a perpetual, non-exclusive licence to use them as part of the deliverable.\"\n\"The domain name, hosting and third-party accounts are registered in the client's name. At the end of the engagement the supplier hands over source code, credentials, deployment instructions and documentation within the agreed period, at the price stated in this agreement.\"\nThis is not legal advice, and your adviser may sharpen the wording; it covers the two places where a software contract most often stays vague. Our general terms say that consultancy is an obligation of means and that the concrete arrangements on scope, pricing, acceptance and intellectual property live in the project documents, which is where these sentences belong.\nA custom build is not a purchase, it is ownership. Ownership only means something when each part has a name on it. This is how we write our own agreements, and it is a fair way to read anyone else's."}],"publishedAt":"2026-08-18"},{"id":"page.contact","locale":"en","kind":"page","canonicalUrl":"https://punfyre.be/en/contact","title":"Contact","summary":"","text":"Contact\n\ninfo@punfyre.be\n\n+32 56 89 38 80\n\nVlamingstraat 4, 8560 Wevelgem, Belgium","contentMode":"metadata","sections":[]},{"id":"page.cookies","locale":"en","kind":"page","canonicalUrl":"https://punfyre.be/en/cookies","title":"Cookie policy","summary":"The cookies and local storage this site uses, what each one is for, how long it stays, and how to change or withdraw your choice at any time.","text":"Legal\nCookie policy\nThis page lists exactly what this website stores on your device, what each item is for, and how long it stays. You will also find your current cookie choice here, which you can change or reset at any time.\nLast updated: 30 July 2026\nIn short\nBarely any cookies: your choice, your language, a few preferences.\nNo analytics, tracking, advertising or third-party cookies.\nOptional cookies only after consent; changeable here anytime.\nA reading aid. What is below is what applies.\nYour choice\nCookie preferences\nChoose whether we may use optional cookies. Necessary ones always stay on.\nCurrent status\nYou have not made a choice yet.\nYou can change or reset your choice here at any time.\nExactly what we store\nNecessary\nName Type Purpose Retention punfyre_cookie_consent cookie Stores the choice you made in the cookie banner. 3 months punfyre_cookie_consent localStorage Backup copy of that same choice in your browser. 3 months punfyre_cookie_consent_at localStorage Timestamp of your choice, so it genuinely expires after three months. 3 months punfyre_cookie_settings localStorage Your per-category preferences from the banner. Until you clear it pf-recovery-email sessionStorage Hands your email address to the recovery page once when you click 'forgot password'. Never leaves your browser. Session, cleared right after use\nFunctional\nName Type Purpose Retention punfyre_website_locale cookie Remembers your language after you pick one yourself. 3 months, renewed on each visit punfyre_website_locale localStorage Backup copy of your language choice in your browser. Until you clear it punfyre_website_theme_v2 localStorage Remembers your light or dark preference. Until you clear it pf-login-remembered-email localStorage Prefills your email on the login page when you tick 'keep me signed in'. Stays in your own browser. Until you untick or clear it\nAnalytics\nNone. We use no analytics cookies or measurements today.\nWhat cookies and local storage are\nA cookie is a small text file a website stores on your device, for example to remember a preference between visits. Some cookies disappear when you close your browser (session cookies); others remain until their retention periodHow long data is kept before it is deleted, decided in advance rather than left open. ends or you delete them yourself.\nBesides cookies there is local storageA small space in your own browser where a site can remember a setting, without sending it anywhere. (localStorage and sessionStorage): information your browser keeps itself and that is not automatically sent to our servers. We treat it the same way as cookies here, so this overview is complete.\nHow we use them\nWe deliberately keep this minimal. There are three categories, and the overview at the top shows exactly what we store, why, and for how long.\nNecessary\nRequired for the site to work correctly, such as storing your cookie choice itself. This needs no consent, only this explanation.\nFunctional\nRemembers preferences such as your language or theme, so the site adapts to you.\nAnalytics\nMeasurements to improve the site.\nWe use no analytics cookies and no third-party services today. If we ever introduce measurements, they will stay off until you explicitly allow them through the cookie banner.\nChanging your choice\nOn your first visit, the cookie banner asks what we may use. We keep your choice for a maximum of 3 months, after which we simply ask again. At the top of this page you can review, change, or reset your choice at any time.\nYou can also always inspect or delete cookies through your browser. Here is how:\nGoogle Chrome\nMozilla Firefox\nApple Safari (Mac)\nApple Safari (iPhone and iPad)\nMicrosoft Edge\nChanges and contact\nIf our cookie use changes, we update this page and you will see it in the date at the top. If something substantial changes, such as a new category, the banner asks for your choice again.\nFor more on how we handle personal data, see our privacy policy. Questions about cookies or privacy? The bottom of this page shows where to reach us. Using this website is also covered by our terms and conditions.\nController\nPunfyre BV, Vlamingstraat 4, 8560 Wevelgem, Belgium\nCompany number\nKBO 0749.930.853\nQuestions\nprivacy@punfyre.be\nContact\nQuestions about cookies?\nDoes anything on this page not match what you see in your browser? Do let us know, because this list is meant to be exactly right.\nPrivacy and your data\nAccess, correction or deletion of your data, and any other privacy question.\nprivacy@punfyre.be\nLegal and contracts\nQuestions about these documents, contracts, invoices or formal notices.\nlegal@punfyre.be\nNot sure?\nUnsure where your question belongs? Send it here and we will sort it out.\nsupport@punfyre.be","contentMode":"full","sections":[{"id":"cookie-consent-controls-title","heading":"Cookie preferences","text":"Choose whether we may use optional cookies. Necessary ones always stay on.\nCurrent status\nYou have not made a choice yet.\nYou can change or reset your choice here at any time."},{"id":"what-are-cookies-h","heading":"What cookies and local storage are","text":"A cookie is a small text file a website stores on your device, for example to remember a preference between visits. Some cookies disappear when you close your browser (session cookies); others remain until their retention periodHow long data is kept before it is deleted, decided in advance rather than left open. ends or you delete them yourself.\nBesides cookies there is local storageA small space in your own browser where a site can remember a setting, without sending it anywhere. (localStorage and sessionStorage): information your browser keeps itself and that is not automatically sent to our servers. We treat it the same way as cookies here, so this overview is complete."},{"id":"how-we-use-them-h","heading":"How we use them","text":"We deliberately keep this minimal. There are three categories, and the overview at the top shows exactly what we store, why, and for how long.\nNecessary\nRequired for the site to work correctly, such as storing your cookie choice itself. This needs no consent, only this explanation.\nFunctional\nRemembers preferences such as your language or theme, so the site adapts to you.\nAnalytics\nMeasurements to improve the site.\nWe use no analytics cookies and no third-party services today. If we ever introduce measurements, they will stay off until you explicitly allow them through the cookie banner."},{"id":"managing-your-choice-h","heading":"Changing your choice","text":"On your first visit, the cookie banner asks what we may use. We keep your choice for a maximum of 3 months, after which we simply ask again. At the top of this page you can review, change, or reset your choice at any time.\nYou can also always inspect or delete cookies through your browser. Here is how:\nGoogle Chrome\nMozilla Firefox\nApple Safari (Mac)\nApple Safari (iPhone and iPad)\nMicrosoft Edge"},{"id":"changes-and-contact-h","heading":"Changes and contact","text":"If our cookie use changes, we update this page and you will see it in the date at the top. If something substantial changes, such as a new category, the banner asks for your choice again.\nFor more on how we handle personal data, see our privacy policy. Questions about cookies or privacy? The bottom of this page shows where to reach us. Using this website is also covered by our terms and conditions.\nController\nPunfyre BV, Vlamingstraat 4, 8560 Wevelgem, Belgium\nCompany number\nKBO 0749.930.853\nQuestions\nprivacy@punfyre.be\nContact"},{"id":"pf-legal-contact-h","heading":"Questions about cookies?","text":"Does anything on this page not match what you see in your browser? Do let us know, because this list is meant to be exactly right.\nPrivacy and your data\nAccess, correction or deletion of your data, and any other privacy question.\nprivacy@punfyre.be\nLegal and contracts\nQuestions about these documents, contracts, invoices or formal notices.\nlegal@punfyre.be\nNot sure?\nUnsure where your question belongs? Send it here and we will sort it out.\nsupport@punfyre.be"}]},{"id":"page.downloads","locale":"en","kind":"collection","canonicalUrl":"https://punfyre.be/en/downloads","title":"Downloads","summary":"","text":"Downloads","contentMode":"metadata","sections":[]},{"id":"page.downloads.brand-backgrounds-4k","locale":"en","kind":"download","canonicalUrl":"https://punfyre.be/en/downloads/brand-backgrounds-4k","title":"Brand backgrounds in 4K","summary":"22 Punfyre backgrounds at 3840x2160, for presentations, wallpapers and video calls.","text":"Brand backgrounds in 4K\n\n22 Punfyre backgrounds at 3840x2160, for presentations, wallpapers and video calls.","contentMode":"metadata","sections":[]},{"id":"page.downloads.brand-kit","locale":"en","kind":"download","canonicalUrl":"https://punfyre.be/en/downloads/brand-kit","title":"Punfyre brand kit","summary":"Logos, wordmarks and icons in SVG and PNG, with the colour palette and short usage notes.","text":"Punfyre brand kit\n\nLogos, wordmarks and icons in SVG and PNG, with the colour palette and short usage notes.","contentMode":"metadata","sections":[]},{"id":"page.downloads.launch-checklist","locale":"en","kind":"download","canonicalUrl":"https://punfyre.be/en/downloads/launch-checklist","title":"Launch checklist","summary":"Everything to tick off before a site or app goes live: domains, backups, legal pages, monitoring and rollback.","text":"Launch checklist\n\nEverything to tick off before a site or app goes live: domains, backups, legal pages, monitoring and rollback.","contentMode":"metadata","sections":[]},{"id":"page.downloads.responsible-ai-assessment","locale":"en","kind":"download","canonicalUrl":"https://punfyre.be/en/downloads/responsible-ai-assessment","title":"Responsible AI assessment","summary":"A structured way to decide whether AI belongs in a process, and how to use it responsibly when it does.","text":"Responsible AI assessment\n\nA structured way to decide whether AI belongs in a process, and how to use it responsibly when it does.","contentMode":"metadata","sections":[]},{"id":"page.downloads.scope-brief","locale":"en","kind":"download","canonicalUrl":"https://punfyre.be/en/downloads/scope-brief","title":"Scope brief template","summary":"A fill-in brief that turns a vague idea into something a builder can quote: goal, users, constraints and budget.","text":"Scope brief template\n\nA fill-in brief that turns a vague idea into something a builder can quote: goal, users, constraints and budget.","contentMode":"metadata","sections":[]},{"id":"page.downloads.software-health-check","locale":"en","kind":"download","canonicalUrl":"https://punfyre.be/en/downloads/software-health-check","title":"Software health check","summary":"A self-assessment for software you already run: updates, backups, documentation and how much rests on one person.","text":"Software health check\n\nA self-assessment for software you already run: updates, backups, documentation and how much rests on one person.","contentMode":"metadata","sections":[]},{"id":"page.downloads.software-partner-checklist","locale":"en","kind":"download","canonicalUrl":"https://punfyre.be/en/downloads/software-partner-checklist","title":"Choosing a software partner","summary":"The questions to ask before you sign: ownership, handover, who does the work and what happens after launch.","text":"Choosing a software partner\n\nThe questions to ask before you sign: ownership, handover, who does the work and what happens after launch.","contentMode":"metadata","sections":[]},{"id":"page.forge","locale":"en","kind":"service","canonicalUrl":"https://punfyre.be/en/forge","title":"Forged from proven building blocks","summary":"Punfyre Forge combines proven building blocks with custom product development, so teams can launch reliable software faster without inheriting a rigid platform.","text":"Punfyre Forge\nForged from proven building blocks\nForge is our rapid application development platform. Every project starts from a proven set of in-house modules, so more of your budget goes into what makes your product distinct instead of rebuilding the basics.\nSee what Forge covers\nConsultationTailored plansHands-on delivery\nForge\nAuthenticationAccounts and secure sign-in, ready to go.\nAPIsA connected service layer out of the box.\nDataStructured, reliable data management.\nHostingProduction hosting and delivery, handled.\nProduction-ready modulesAuth, APIs, data and hosting, solved.\nBattle-testedProven in our own products.\nFaster to launchThe groundwork is already done.\nMade with careBuilt to last, not to rush.\nWhy Forge\nMore budget on what makes you different\nEvery hour we don't spend rebuilding the basics is an hour on the features only your product needs.\nEverything in-house\nWe build and maintain the blocks ourselves, so there are no black boxes and no outside roadmap deciding what your product can do.\nStart from years of shipping\nAuth, payments, data and security are hardened in our own live products, so you inherit what already works instead of discovering the edge cases yourself.\nYour budget lands on your product\nThe blocks cover the groundwork every product needs, so the work we actually bill you for concentrates on the part only your product has.\nLive sooner, iterate faster\nA working product sooner, then a steady cadence of improvements, because the foundation is already there.\nHow it works\nFrom idea to production\nDiscover\nWe dig into the real problem and what your users need.\nAssemble\nWe put the right proven blocks to work together.\nShape\nWe build the part that makes your product yours.\nShip & iterate\nGo live, then a steady rhythm of improvements.\nThe difference\nFrom scratch, or on Forge\nMost of a new product is groundwork every team rebuilds. Start on Forge and that part is already proven, so the effort goes where it actually sets you apart.\nFrom scratch On Forge\nGroundwork Months rebuilding the basics Proven foundations from day one\nSecurity Security discovered the hard way Security and reliability inherited\nEach project Every project starts over Every project makes Forge better\nWhat Forge covers\nFar more than just building blocks\nFrom payments and commerce to design systems and responsible AI, Forge spans the whole stack. The groups below are just the headlines.\nThe whole stack: frontend, backend, data and hosting.\nDozens of proven modules, ready to combine.\nEvery project adds new blocks back to it.\nThey power our own products, like Alarmira.\nFoundations\nSearch visibility (SEO)\nCommerce\nResponsible AI\nContent & CMS\nAd campaigns (SEA)\nData & insight\nLocalization\nPayments & billing\nAutomation\nSearch & discovery\nReviews & ratings\nExperience & UI\nSecurity & compliance\nEmail & notifications\nMaps & location\nIntegrations\nMedia & imaging\nScheduling\nMonitoring & telemetry\nForms & capture\nBrand & theming\nNewsletters\nAccessibility\nDocs & knowledge\nPerformance & speed\nConsent & privacy\nMobile apps\nAccounts & access\nCustom APIs\nReal-time updates\nDocuments & PDF\nSupport portals\nSupplier operations\nProduct data\nMulti-brand setups\nAdmin & back office\nDashboards & reporting\nVisual page editing\nPrivate previews\nBot & spam defense\nAI agents & assistants\nAI cost transparency\nCloud & deployment\nFoundations\nThe parts every product needs\nThe proven core we start every build from, hardened in our own products.\nAuthentication & access Accounts, roles and secure sign-in.\nAPIs & integrations A connected service layer and third-party links.\nData & storage Structured, reliable data with safe migrations.\nHosting & delivery Production hosting, pipelines and monitoring.\nIn practice\nCustomer portals\nSingle sign-on\nSecure APIs\nAutomated backups\nExperience\nInterfaces people find their way around\nBranded, accessible interfaces on every screen, from one design system.\nDesign systems & UI One component library, your brand throughout.\nContent & CMS Structured content your team can edit.\nSearch & navigation Fast search and wayfinding that scales.\nMultilingual by default Any language, first-class, not an afterthought.\nIn practice\nReusable UI kit\nMultilingual content\nInstant search\nAccessible by default\nResponsible AI\nAI you can actually trust\nAI that assists, never decides alone: advisory, human-approved and fail-closed, so it can't launder bad data into your product.\nAI-assisted merchandising Suggestions your team reviews, never blind automation.\nCopy & content drafting Drafts grounded in real evidence, approved before they ship.\nReview & quality councils Multiple checks weigh in before anything is accepted.\nHuman-approved, fail-closed Uncertain? It stays blank, never wrong.\nIn practice\nCopy suggestions\nMerchandising hints\nQuality councils\nFail-closed checks\nCommerce & subscriptions\nHowever your revenue works\nOne-off sales, recurring subscriptions, memberships or B2B contracts: the same engine handles the catalog, the checkout, the invoicing and everything after it.\nCatalogs & offerings Products, services or plans, in a catalog that stays clear as it grows.\nCheckout & payments Conversion-ready flows with real payment providers.\nSubscriptions & renewals Recurring plans, upgrades, pauses and renewals that just run.\nInvoicing & fulfilment VAT-correct invoicing and order handling end to end.\nIn practice\nSubscription plans\nOnline payments\nVAT invoicing\nB2B pricing\nMember portals\nAlways evolving\nWhatever you need next, we build it\nForge isn't a fixed menu. Anything a project needs that doesn't fit an existing block becomes a new one, so the platform only gets stronger. We haven't met a challenge we couldn't solve, and every one makes Forge better.\nWhere we've done this\nProducts\nAlarmira\nPersonal safety that feels dependable, never cold security theater.\nRead more Live\nBehind the scenes\nOffice wallboard\nOur office heartbeat on the wall: live news, local weather, and platform health, in an enclosure we designed from scratch.\nRead more Live\nClient work\nVivalyte\nA 200-product LED catalog that keeps itself current: specs, photometrics, and datasheets synced straight from the system the company already runs on.\nRead more In development\nSee all projects\nFAQ\nQuestions about Forge\nThe short version, before you get in touch.\nIs Forge a product I buy?\nNot quite. Forge is the platform we build on. You get a product shaped around your needs, assembled from blocks that are already proven, and we keep running and improving those blocks.\nWill my product look like everyone else's?\nNo. The blocks handle the plumbing, not the identity. Your brand, your interface and your flows are designed for you, so two products on Forge can look nothing alike.\nWhat does it cost?\nYou pay for the blocks you actually use rather than for the whole platform, which is what keeps it affordable. The pricing page walks through how that works.\nIs the development work included in the block price?\nNo, and that is deliberate. The blocks are what your product runs on. Building the part that makes it yours is its own work, scoped with you per project, so you can see what you are paying for instead of finding it folded into a platform fee.\nWhat if we need something Forge doesn't cover yet?\nThen we build it, and it becomes a new block. That is how Forge has grown, and it is why the platform gets stronger with every project we take on.\nCan we start small?\nYes. Most projects start with the smallest slice that delivers real value, and grow from there in short iterations you can steer as they land.\nPricing\nYou pay for your product, not the platform\nTwo things get priced: the work to build what's yours, and the blocks it runs on afterwards. Never the platform you don't touch, so the cost follows your product instead of everything Forge can do.\nThe build is scoped to your project, not to a package.\nOnly the blocks your product actually runs on.\nGrows with your product, not ahead of it.\nSee how pricing works\nLet's build it together\nTell us what you're making, and we'll show you how much of it Forge already covers.\nLet's talk","contentMode":"full","sections":[]},{"id":"page.forge.pricing","locale":"en","kind":"page","canonicalUrl":"https://punfyre.be/en/forge/pricing","title":"What a Forge project costs","summary":"See how Punfyre prices Forge projects across product development, hosting, operations, and reusable building blocks without fixed packages.","text":"Forge pricing\nWhat a Forge project costs\nTwo things get priced: building your product, and running it. No fixed packages, and no platform fee for what you never touch.\nOne-off Building it The work that makes the product yours, scoped per project.\nOngoing Running it The blocks it needs and the usage it generates, month by month.\nHow it works\nFour things make up the cost\nThey sit on the same bill at the same time. One is paid once, two keep running, and the fourth pulls the total back down.\nThe build One-off\nThe work that makes it yours\nBlocks cover the groundwork. What makes your product distinct is designed and built for you, scoped per project and priced on its own.\nThe blocks Ongoing\nWe switch on what it needs\nEvery capability is priced on its own, so a product that never touches commerce or AI never carries their cost.\nThe usage Ongoing\nWhat you consume scales with you\nA handful of measured dimensions move with real use, so a quiet month costs less than a busy one.\nThe credits Deducted\nShared work is credited back\nWhere your product reuses something we already run, that lands as a credit instead of a full line. This is what keeps Forge cheaper than building alone.\nComplexity bands\nHow a block gets priced\nNo block is priced by hand. Each is measured on scope, depth and footprint, and that lands it in a band. The band sets the cost category, not the individual numbers.\nSo two blocks that look different on paper can share a band: small differences move the bars, not the category.\nComplexity bandStandard\nA small, focused block: a handful of screens, straightforward logic, few connections.\nScope\nDepth\nFootprint\nRunning cost1 / 5\nSmall differences in scope, depth or footprint move the bars without moving the band.\nWhat counts as usage\nThe dimensions we measure\nThese are the only things that move your cost up or down. Nothing is measured that you cannot see.\nProduction environments How many live instances it runs.\nStaging environments Optional, and only while needed.\nDevelopment environments Where changes are tried first.\nData storage What your product actually keeps.\nAI usage Metered per use, visible per feature.\nTeam seats The people who administer it.\nEnd-user accounts Your customers, where there are any.\nExtra languages Beyond the ones you launch with.\nWhat moves the price\nCost follows complexity, not a price list\nTwo products with the same feature list can land far apart. Here is what actually moves it, and how hard each one pulls.\nGrows gently How much you build Twice the software is nowhere near twice the price. Volume counts, but it flattens as it grows.\nGrows in step How many screens and modules Each separate part is designed, built and kept working, so these add up one for one.\nGrows in step How many systems it talks to Every connected service brings its own contract, edge cases and upkeep.\nCompounds How predictable those systems are One volatile API can cost more than several stable ones: it drags in monitoring and recovery work too.\nGrows in step Who uses it Staff and partners with roles and permissions weigh heavier than anonymous visitors doing one thing.\nCompounds How much load it carries Heavier use means more environments running, and heavier environments to run them on.\nGrows gently How long it must keep running Upkeep grows with the system, but slower than the system itself. It never drops to zero either.\nGrows in step How sensitive the data is Roles, audit trails, payments and personal data: the one place we deliberately give no volume discount.\nBrings it down How much is already shared Reuse is the one factor pulling the other way. It is real, and it is capped, so we never pretend it makes things free.\nTransparency\nCosts you can follow\nNo hidden line items, and a way to sanity-check the size before we even talk.\nWhat always holds\nNo charge for blocks your product does not run on.\nOne overview that shows where the cost comes from.\nDrop something and it stops costing you.\nWhat the estimator tells you\nAn indicative size\nHow long that usually takes\nA starting point for the first call\nA price or a quote\nYour running cost on Forge\nTry the scope estimator\nGet a figure for your project\nIn one conversation we go through what you want to build: which blocks switch on straight away, what genuinely needs custom work, and how heavy it runs. After that you know what the build costs and what it costs per month.\nLet's talk","contentMode":"full","sections":[]},{"id":"page.fractional-cto","locale":"en","kind":"service","canonicalUrl":"https://punfyre.be/en/fractional-cto","title":"A CTO alongside your team","summary":"Part-time technical leadership from Levi Van Zele. Connect your roadmap, architecture and delivery, with responsibilities agreed around your team.","text":"Fractional CTO\nA CTO alongside your team\nLevi Van Zele provides part-time technical leadership. Together with your developers and suppliers, he connects organisational priorities, architecture and delivery.\nExplore the roleDiscuss your situation\nFor your organisation\nWhere a fractional CTO can help\nFor founders and management teams looking for an experienced technical sounding board. Levi works with your developers or software partner to help make choices that fit your organisation.\nClear priorities for your development plans\nA second opinion on technical investments\nA sounding board for architecture and delivery\nShared knowledge and responsibility\nPart-time leadership for your organisation\nThe role\nFrom priorities to delivery\nRoadmap and priorities\nSet a workable order for development, balancing customer needs, maintenance and available capacity.\nArchitecture and risk\nAssess what to keep, improve or replace, with attention to data, security and operational reliability.\nTeam and suppliers\nReview technical proposals and changes with the people delivering, and clarify expectations on both sides.\nDelivery and follow-up\nStay involved through implementation and release, and feed lessons from production back into the roadmap.\nWorking together\nHow we work together\nGet acquainted\nReview the product, the team and the questions holding you up.\nAgree the role\nSet priorities, responsibilities and availability together.\nJoin the work\nWork through decisions and technical reviews in the team's delivery rhythm.\nReview the need\nAdjust the involvement as your organisation and team develop.\nWho you work with\nWork directly with Levi\nLevi founded Punfyre and leads product and engineering. He develops software with the people using it in mind and applies AI where it adds real value.\nMeet LeviRead Levi's experience\nBackground\nFurther reading\nPractical guidance on technical leadership and the first months together.\nWhat does a fractional CTO actually do?\nA practical look at the decisions, follow-through and working agreements behind part-time technical leadership.\nRead more 3 min read\nSigns your company needs technical leadership\nNot every delay calls for another developer. Sometimes the missing capacity is someone who can connect the decisions.\nRead more 3 min read\nFractional CTO, advisor or full-time CTO?\nStart with the responsibility you need covered. The title and number of days come after that.\nRead more 3 min read\nGood to know\nBefore we start\nHow many days a week?\nWe agree availability and responsibilities around your needs. There is no standard package.\nCan you work with our current supplier?\nYes. Levi works with the people already involved, with clear agreements on priorities, reviews and decisions.\nWill you write code too?\nLevi remains hands-on. Larger implementation work is scoped separately from the leadership role.\nIs this only for healthcare?\nNo. Care software is part of Levi's background, alongside other sectors where software matters to the organisation.\nWhat does it cost?\nWe first agree the remit and availability, then propose terms for that scope.\nDiscuss your technical questions\nTell Levi about your product and team. Together, we can assess what kind of support fits.\nDiscuss your situation","contentMode":"full","sections":[]},{"id":"page.home","locale":"en","kind":"collection","canonicalUrl":"https://punfyre.be/en","title":"We make the unreasonable possible","summary":"Punfyre is a Belgian product studio and consultancy. We turn vague ideas into human-friendly software that fits your team and keeps working, from concept to launch.","text":"Bespoke digital solutions\nWe make the unreasonable possible\nWe turn vague ideas and messy challenges into human-friendly software that truly fits. From concept to launch and whatever comes next.\nStart a conversationSee how we work\nConsultationTailored plansHands-on delivery\nBy your sideFrom first idea to launch.\nWe run our own productsWe live with what we build.\nBuilt to hold upReliable when it counts.\nBelgium-basedServing customers across the EU.\nHow we can help\nWays to work together\nBring us in to build, put our products to work, or lean on what we have learned.\nWe build it for you\nDesign, development, and delivery, from the first idea to a launch that keeps running.\nExplore services\nProducts you can use today\nReady-made products like Alarmira you can put to work out of the box, or a running start we shape around your needs.\nSee our products\nWe share what we learn\nPractical lessons and hands-on trainings for your team, drawn from real projects and shared plainly, with no jargon.\nRead the knowledge\nBuilt by us\nAlarmira, our flagship product\nOur own personal-safety app, built on the same Punfyre Forge groundwork we bring to every project. Living proof that we ship products that hold up.\nMobile app with real-time location sharing\nOptional Bluetooth alarm button\nEncrypted audio capture during an incident\nEmergency contact notifications and timed check-ins\nExplore Alarmira\nSee more of our work\nHow we work\nWe build in iterations, not leaps\nGood software is never a straight line. Every project runs in short iterations, so we catch problems early, keep quality high, and you see real progress the whole way through, not just at launch.\nMore about how we work\nPunfyre Forge\nBuilt from proven blocks\nForge is our rapid application development platform. Every project starts from a proven set of in-house modules, so more of your budget goes into what makes your product distinct instead of rebuilding the basics.\nSee what Forge does\nForge\nAuthenticationAccounts and secure sign-in, ready to go.\nAPIsA connected service layer out of the box.\nDataStructured, reliable data management.\nHostingProduction hosting and delivery, handled.\nWho we build for\nIn good company\nCustomers from our own products, like Alarmira, and the services we deliver.\nLet's make your project possible\nBring us the vague idea or the messy challenge, and we'll turn it into human-friendly software that fits your team.\nStart a conversation","contentMode":"full","sections":[]},{"id":"page.investing","locale":"en","kind":"page","canonicalUrl":"https://punfyre.be/en/investing","title":"Investing","summary":"","text":"Investing","contentMode":"metadata","sections":[]},{"id":"page.knowledge","locale":"en","kind":"collection","canonicalUrl":"https://punfyre.be/en/knowledge","title":"Lessons from the work we do","summary":"Everything we learn while building, shared in the shape that fits: articles to read, files to download, and small tools you can use right away.","text":"Knowledge\nLessons from the work we do\nEverything we learn while building, shared in the shape that fits: articles to read, files to download, and small tools you can use right away.\nArticles\nPractical reads from real projects\nHonest pieces on delivery, healthcare technology, responsible AI, design, and foundations. Written the way we'd explain it to your team.\nDesign\nWhen software needs to press a real button\nA small button dock brings mechanics, firmware and TypeScript together. The interesting part is what happens between a command and a press.\nRead more 3 min read\nFoundations\nThe quiet work that keeps software healthy\nSoftware doesn't stand still after launch, the world around it moves. Staying healthy takes small, steady, unglamorous work.\nRead more 2 min read\nFoundations\nTechnical debt without stopping delivery\nThe choice is rarely ignore everything or rewrite everything. Start with the debt that is making real work harder.\nRead more 3 min read\nAll articles\nTools\nSmall tools, free to use\nUtilities we reach for ourselves. They run entirely in your browser, so nothing you type is sent to us or stored.\nAll tools\nFeatured tool\nDesign\nBrand theme card\nTry a palette on a real card, in light and dark.\nOpen tool\nDownloads\nThings worth keeping\nTemplates, checklists and guides we use ourselves, free to download and use however you like.\nView downloads\nFeatured file\nBrand\nPunfyre brand kit\nLogos, wordmarks and icons in SVG and PNG, with the colour palette and short usage notes.\nRead more ZIP · 3.5 MB\nWant our take on something specific?\nWe share what we learn as we go. If there's a challenge you're weighing right now, tell us, and we'll give you a straight, useful answer.\nAsk us directly","contentMode":"full","sections":[]},{"id":"page.legal","locale":"en","kind":"page","canonicalUrl":"https://punfyre.be/en/legal","title":"Legal information, in plain language","summary":"Everything we are required to put in writing, written to actually be read. Each document has its own page so you can link straight to the one you need.","text":"Legal\nLegal information, in plain language\nEverything we're required to put in writing, written to actually be read. Each document has its own page so you can link straight to the one you need.\nPrivacy\nWhat we collect, why we collect it, how long we keep it, and how to ask us about your data.\nRead\nTerms\nThe ground rules for using this site and working with us: what you can expect, and what we expect.\nRead\nReturns\nWhat you can send back and by when, what applies to made-to-order work, and how the legal guarantee works.\nRead\nCookies\nWhich cookies this site sets, what each one is for, and how to change your choice at any time.\nRead\nContact\nQuestions about any of these documents?\nYou do not need to work out which document covers your question. Just write; we will pass it on if it belongs with someone else.\nLegal and contracts\nQuestions about these documents, contracts, invoices or formal notices.\nlegal@punfyre.be\nPrivacy and your data\nAccess, correction or deletion of your data, and any other privacy question.\nprivacy@punfyre.be\nNot sure?\nUnsure where your question belongs? Send it here and we will sort it out.\nsupport@punfyre.be\nAsk us directly","contentMode":"full","sections":[{"id":"pf-legal-contact-h","heading":"Questions about any of these documents?","text":"You do not need to work out which document covers your question. Just write; we will pass it on if it belongs with someone else.\nLegal and contracts\nQuestions about these documents, contracts, invoices or formal notices.\nlegal@punfyre.be\nPrivacy and your data\nAccess, correction or deletion of your data, and any other privacy question.\nprivacy@punfyre.be\nNot sure?\nUnsure where your question belongs? Send it here and we will sort it out.\nsupport@punfyre.be\nAsk us directly"}]},{"id":"page.levi-van-zele","locale":"en","kind":"person","canonicalUrl":"https://punfyre.be/en/levi-van-zele","title":"Levi Van Zele","summary":"I combine hands-on software development, architecture and technical leadership with a focus on usability, from investigation to release.","text":"Let me introduce myself\nLevi Van Zele\nFounder & CEO · Product and tech lead\nI combine hands-on development with software architecture and technical leadership, with a focus on usability. I take on complex systems and unreasonable problems, from investigation to release. AI accelerates my work, supported by testing and engineering judgment.\nPlan a short call View CV\nDay to day\nWhat I actually do\nShaping the product\nTurning a vague brief into a clear scope, setting priorities and deciding what gets built first.\nBuilding software\nFrom architecture to implementation: hands-on work on Forge, owned products and client software.\nRunning the studio\nKeeping Punfyre on course: guiding teams, overseeing delivery and organising support.\nWhat drives me\nBecause too much software in care and social services works against people\nCare and social services run on tools the people using them did not choose and cannot change. Where there are only one or two options, there is not really a choice at all.\nThat is why I focus on contexts where trust and diligence matter, and on solutions that help people first. My strength is turning a complicated problem into something simple enough to decide on.\nHow I got here\n15 years of shipping software, then a company\nI started writing software around the age of 10, modifying games through their config files, with plans to build a game studio. It went a different way.\n2006 to 2008\nHeilige Familie Ieper\nI switched into IT at 16, the first year school allowed it. Development, networking and systems, after four years of modern languages.\n2008 to 2011\nHowest\nGraduated in Applied Informatics with high distinction. An AI-driven planning system for children with learning difficulties became my first step towards care.\n2011 to 2015\nHoneywell Elster\nEnergy management software first, then leading the frontend team on a smart energy platform used by clients worldwide.\nFrom 2012\nMy parents’ business\nMy parents took over the company they had managed for years. Seeing it up close was my first real taste of running one, and I started taking on freelance web work alongside my job.\n2015 to 2017\nBayer Crop Science\nFrontend leadership on data-intensive tools for analysis and genetic sequencing, alongside researchers and data scientists in a life sciences group.\n2017 to 2019\nSmappee\nRebuilt the dashboard that is still part of the core platform today, connecting IoT devices for real-time energy management.\n2019 to 2021\nAmicimi\nA personal alarm platform for real-time safety. It later moved into Punfyre as a product of its own and is now Alarmira.\nFrom 2020\nPunfyre\nI founded Punfyre BV in Wevelgem and hired the first employees early on.\nView the full CV\nBeyond the code\nThings not on the CV\nThese are the things I get my energy from, and what you will probably get me talking about.\nA chef on paper\nI hold a restaurateur and catering contractor certificate. Cooking is how I step away from a screen, on the evenings that are not already going into Punfyre.\nFirst aid and prevention\nTrained first-aid responder and level 3 prevention advisor. Handy in a small company, and a habit of thinking about what goes wrong before it does.\nRaised on LAN parties\nMy interest in networks and systems started by hauling desktops to LAN parties across Belgium. These days that is close to the only stretch of gaming I still get.\nJapanese, slowly\nMy interest in Japan covers its language and above all its food. Ordering is easy; I understand roughly half of the answer.\nFour languages at work\nDutch natively, English fluently, French professionally, and enough German to follow a meeting.\nAsk me directly\nA question, a new idea or support from a fractional CTO? Let’s talk.\nPlan a short callLoading available times…View the full agenda","contentMode":"full","sections":[]},{"id":"page.my-punfyre.chrome","locale":"en","kind":"page","canonicalUrl":"https://punfyre.be/en/my-punfyre/chrome","title":"Keep the page and your project together.","summary":"Write a private note or share feedback with the right project, without rebuilding the context around what you were looking at.","text":"My Punfyre for Chrome\nKeep the page and your project together.\nWrite a private note or share feedback with the right project, without rebuilding the context around what you were looking at.\nConnect My Punfyre Read the privacy policy\nInternal preview\nThe Chrome extension is currently available as an unpacked preview for Punfyre customers and operators. It is not yet published in the Chrome Web Store.\n01\nNotes stay private\nKeep a project, site, or page note beside the work. Only you can see it.\n02\nFeedback arrives with context\nRegistered sites include the right project, page, environment, build, and optional screenshot.\n03\nYou choose page access\nMy Punfyre asks for the current site only when persistent access is useful. It does not install with access to every site.\n04\nQuiet by design\nNo advertising, browsing-history collection, behavioral analytics, session replay, or third-party tracking.\nMy Punfyre for Chrome\nStart beside the page\nSign in to My Punfyre, pair this browser once, then open the side panel from the Punfyre icon in Chrome.\nNeed help setting it up? Contact support Read the privacy policy","contentMode":"full","sections":[]},{"id":"page.privacy","locale":"en","kind":"page","canonicalUrl":"https://punfyre.be/en/privacy","title":"Privacy policy","summary":"What personal data we process on this website and in our products, why, how long we keep it, who we share it with, and the rights you can exercise.","text":"Legal\nPrivacy policy\nThis policy explains what data we process on this website and, at a general level, in our products. It covers why we process it, how long we keep it, who we share it with, and the rights you have.\nLast updated: 13 August 2026\nIn short\nOn this site: name, email, subject and message.\nProducts may ask for more; see their own policy.\nNo tracking or advertising, and we never sell data.\nYou have rights over your data: email privacy@punfyre.be.\nA reading aid. What is below is what applies.\nWho we are and what this covers\nPunfyre BV is the controllerThe organisation that decides why and how personal data gets used, and is answerable for it. for the personal data we process as a company. This privacy policy explains which data we process, why we do so, who we share it with, how long we keep it and which rights you have.\nController\nPunfyre BV, Vlamingstraat 4, 8560 Wevelgem, Belgium\nCompany number\nKBO 0749.930.853, RPR Gent, division Kortrijk\nVAT number\nBE 0749.930.853\nPrivacy questions\nprivacy@punfyre.be\nThis is Punfyre's umbrella privacy policy. It covers three things: the company itself, this website, and at a general level the products we build and offer, such as Alarmira and Routeez.\nA product may have its own privacy statement that goes into further detail, for instance on the precise data the app needs, the retention periodsHow long data is kept before it is deleted, decided in advance rather than left open. that apply there or the parties involved. Where such a product statement exists, it adds to this text and prevails for that product. Where it is silent, what is written here applies.\nDefinitions\nPrivacy texts are full of jargon. These are the words you will meet below, explained in plain language.\nPersonal data\nAny information that makes you identifiable as a person, directly or indirectly. Your name and email address count, but so do an IP address or a device identifier.\nProcessing\nJust about anything you can do with data: collecting, storing, viewing, using, sending on, changing, anonymising or deleting it.\nController\nWhoever decides why and how data is processed. For the processing in this policy that is Punfyre BV.\nProcessor\nA party that processes data on our behalf and according to our instructions, for instance a hosting provider. A processor may not use the data for its own purposes.\nData subject\nThe person the data is about. If you are reading this text about your own data, that is you.\nPersonal data breach\nA security incident in which data is lost, changed without intent or reaches someone who should not have it. In everyday language: a data leak.\nSpecial categories of personal data\nExtra sensitive data for which the law sets stricter rules, such as data about health, biometric data that identifies someone, or data about beliefs or sexual orientation.\nConsent\nA free, clear and informed choice to allow a particular processing activity. You can always withdraw consent, and refusing has no consequences beyond the feature itself.\nWho the data is about\nWhich data we hold about you depends on the relationship we have with you. Someone who asks a single question through the website leaves something very different behind than someone who uses one of our products every day. That is why we distinguish four roles below.\nVisitors and people who contact us\nIf you only visit the website or send us a message, it stays at the strict minimum: what you fill in yourself, the standard technical logs of our servers and a few preferences in your own browser. We build no visitor profile and we do not follow you from page to page.\nCustomers and contract contacts\nIf we work together under an agreement, we also process business contact details, the correspondence about the project or service, and the administration that goes with it: orders, invoices, payment status and agreed arrangements. If you send something back or invoke the guarantee, we also process the data in that file; how a return works in practice is on our returns page.\nUsers of a product\nIf you use one of our products, we process the data that product needs to do what it promises. What that means varies a great deal: an app that can send an alarm in an emergency needs more than an app that only shows an overview.\nThird parties whose data a user gives us\nSometimes a user gives us data about someone else, for instance the name and phone number of an emergency contact. That person gave us nothing themselves and may not even know we exist.\nEven so, that person has exactly the same rights as everyone else in this policy, and an email to privacy@punfyre.be is enough to exercise them.\nWhat data we process\nThe part about the website is complete: if it is not listed there, we do not do it. The part about products is written conditionally, because not every product has the same features. If your product does not process a particular kind of data, that part does not apply to you.\nContact and support forms\nWhen you send us a message through the contact or support form, we process the data you fill in yourself:\nyour name\nyour email address\nthe topic you choose\nthe content of your message\nYour message reaches us as an email and is handled as business correspondence. We use it solely to answer your question and follow up on it. We do not add your address to a mailing list and we do not use your message for any other purpose.\nTo keep spam and abuse out, the forms are protected by a hidden honeypot field, a signed timestamp, rate limiting and optionally a cookieless proof-of-work check called Altcha. These measures work without tracking: no profile is built about you and no cookies are set for them.\nIf you email us directly instead of using the form, exactly the same applies: we treat your message as business correspondence and use it only to reply to you.\nPlanning a meeting\nWhen you plan a meeting through the agenda on this website, we process your name, email address, chosen time and timezone, your choice of Google Meet or phone, your phone number where applicable, and any optional note you provide. We use those details only to schedule the meeting, send the calendar invitation and hold the conversation.\nThe Cal.com scheduling software runs on our own infrastructure. The appointment is added to our Google Workspace calendar; if you choose Google Meet, Google Workspace also creates the meeting link. Confirmations and cancellation or rescheduling links are sent by email.\nTechnical website data\nLike almost every website, our servers and hosting environment keep standard log files. These contain, among other things, your IP address and technical data about your request, such as the page requested and the time.\nWe use these logs only to keep the website secure and running: detecting attacks, investigating incidents and preventing abuse. We do not use them to analyse your browsing behaviour.\nBrowser storage\nWe set a cookie that remembers your language choice and store a few preferences locally in your browser, such as your theme choice and optionally a remembered email address. That remembered email address stays in your own browser and is never sent to us.\nThe full details, with the name and retention period of each item, are in our cookie policy. You manage your choices for non-essential storage through the cookie banner, and you can change them there at any time.\nAccount and profile data\nIf a product works with accounts, we process what is needed to create, secure and manage that account: your name or a username, your email address, possibly your phone number, your language and notification preferences and the status of your subscription.\nWe never store passwords in readable form. We store only an encrypted derivation that lets us verify your sign-in, without us knowing or being able to recover your password.\nOrder, billing and payment data\nIf a product sells something, for instance a device or a subscription, we process your order, your billing details and where needed a delivery or installation address.\nThe payment itself runs through a payment provider. It receives the data needed to carry out the payment and processes it under its own privacy policy for what it has to do itself. We see the result of the payment and the details on your invoice, not your full card details.\nInvoices and the accounting records that go with them must be kept by law. That means we cannot erase this data while that retention duty runs, not even on request.\nDevice and technical data in a product\nAn app or service exchanges technical data in order to work: the device type and operating system, the app version, a technical identifier for the installation, error reports and connection data.\nWhere a product works together with an accessory, for instance an alarm button over Bluetooth, that also includes pairing status, signal and battery status.\nWe use this data to find faults, watch over reliability and prevent abuse. Not to analyse your behaviour or to build profiles.\nLocation data\nIf a product offers location features, we process your location only where the feature you are using needs it, and only after you have granted the permission on your device. You can withdraw that permission at any time in your phone settings.\nWith a safety product, location can be the difference between being found and not being found. Such a product may therefore send your location along when you start an alarm or when it detects an incident. If you withdraw the permission, the product keeps working, but without the features that need location.\nAudio and camera recordings\nIf a product records sound or images during an incident, it does so in a targeted and limited way: around the moment of the incident, so the situation can be assessed and answered appropriately. Such a recording is not continuous surveillance and does not serve to follow you.\nWhere a product has this feature, that product's own statement explains when a recording starts, who may view or listen to it and how long it is kept.\nHealth and other sensitive data\nSome safety features only work if sensitive information is available, for instance a medical note that responders need to know or a detail about medication. Where a product offers this, you fill that information in yourself, and only if you want to.\nWe ask for your explicit consent for it and use the information solely for the safety purpose you gave it for. The next part sets out exactly which rules apply.\nEmergency contact data\nIf a product lets you choose who gets alerted, we process the name and contact details you fill in for that person, plus the role you give them, for instance first contact or second contact.\nWe use that data only to reach that person in the situation you added them for, and to show you whether that worked.\nSupport conversations\nIf you contact support from within a product, we process the conversation itself and the technical context you send along, such as log files or a screenshot.\nWe use that to solve your problem and, in aggregated or anonymised form, to fix recurring problems at the root.\nMy Punfyre browser extension\nThe My Punfyre browser extension connects private notes and shared project feedback to the page you are viewing. A note is visible only to your signed-in account. Feedback is shared with members of the registered project and may include text, a screenshot or recording you create, the page URL, selected element, environment, build information, viewport, and capture time.\nThe extension does not collect browsing history and contains no advertising, behavioral analytics, session replay, or third-party tracking. Technical tools run only when an entitled user opens them. An exported support file contains only version, connection, and aggregate synchronization information; credentials, identity, notes, feedback, screenshots, and visited URLs are excluded.\nSpecial categories of personal data\nData about health, biometric data that identifies someone and comparably sensitive data fall under a stricter regime. Our starting point is that we do not process them, unless a product needs them for a safety purpose.\nWhere that is the case, we do so only on the basis of your explicit consent or another valid ground under Article 9 of the GDPR, for instance the protection of vital interests when someone is in danger and can no longer give consent themselves.\nYou can withdraw your consent at any time. That has a clear consequence: the feature resting on that data will no longer work, and information you had stored for responders will no longer be passed on during a future incident. What we lawfully processed before the withdrawal stays lawful.\nOnly fill in sensitive data you actually want shared in an emergency. If you are in doubt, leave the field empty.\nData about other people you give us\nIf you give us data about someone else, for instance an emergency contact or a colleague as a contact person, we assume you are allowed to share it. We ask you to make that genuinely true: tell that person you have added them, and what for.\nWe use that data solely for the purpose you gave it for. We do not add it to a mailing list and do not build a separate profile with it.\nThe person concerned has the same rights as you: access, correction, erasure and objection. An email to privacy@punfyre.be is enough. If someone asks us to remove them as a contact, we do so and let you know that the feature will no longer work in full.\nWhy we process data and on what legal basis\nEvery processing activity has a purpose and a legal basis under the General Data Protection Regulation. They are listed together below, so you can see per basis what we use data for.\nPerformance of a contract\nCreating and securing an account, delivering a product and keeping it working, managing an order and a subscription with the payments that go with it, and providing support during use.\nPre-contractual steps and answering questions\nHandling your question through the contact or support form or by email, preparing a quote or a demo, and the conversations that go with it.\nLegitimate interests\nKeeping the website and our products secure and available, preventing abuse and fraud, investigating faults, improving our services on the basis of aggregated information, and keeping a record of arrangements and reports.\nConsent\nSpecial categories of data, optional features such as location, recordings or emergency contacts, non-essential browser storage, and any communication you explicitly signed up for.\nLegal obligations\nAccounting and tax obligations, consumer protection duties, and answering lawful requests from competent authorities.\nVital interests\nSharing the strictly necessary data when someone's life, health or safety is at risk and there is no time or possibility to ask for consent.\nLegitimate interestA legal ground for using data when you have a genuine need for it and it does not override someone's privacy. means that we have a real and concrete interest in the processing, that the processing is necessary for it, and that we have weighed up whether it does not weigh too heavily on you. We make that assessment up front and you can ask us for it.\nWhere a processing activity rests on our legitimate interestA legal ground for using data when you have a genuine need for it and it does not override someone's privacy., you can object to it. We then stop that processing, unless there are compelling reasons to continue, and in that case we explain what those reasons are.\nDo you have to give us data? For an order or a contract you have no real choice: without the data we need to deliver, invoice and reach you, we cannot conclude or perform the contract. For an account, the fields marked as required in the form apply. Where a legal obligation applies, an invoice for instance, the law itself prescribes what it must contain. Everything else is voluntary, and leaving it blank has no consequence other than that we cannot offer that one function.\nNo analytics, no tracking, no advertising\nNo analytics or tracking software runs on this website. We show no advertising, build no profiles and make no automated decisions about you. There are no pixels, no fingerprinting and no social media trackers.\nWe never sell or rent your data to third parties. Our fonts are self-hosted too, so your browser sends no requests to external font services when you visit the site.\nThe same starting point holds for our products: no advertising, no selling of data and no tracking for commercial purposes. Were a product ever to use a measurement tool, that product's own statement will say so, and we will ask for your consent first wherever the law requires it.\nWho we share data with\nWe share data only where it is necessary, and then with as few parties as possible. These are the categories of recipients that may apply:\nhosting, email and infrastructure providers that run our website, our mailboxes and our products\na payment provider, where a product sells something or offers a subscription\na licensed monitoring or response partner, where a safety product needs alarms to be followed up\nprofessional advisers such as our accountant or a lawyer, where that is necessary for a specific matter\ncompetent authorities, where a lawful request obliges us to\nMost of these parties act as processorsA supplier that handles data on our behalf and only for what we ask, such as a hosting or mail provider.: they work according to our instructions, are bound by a data processing agreement and may not use the data for their own purposes.\nWhere a party determines its own purposes, as a payment provider or a licensed monitoring partner does for the duties resting on them, that party is an independent controllerThe organisation that decides why and how personal data gets used, and is answerable for it. for that part and its own privacy policy applies.\nOur processorsA supplier that handles data on our behalf and only for what we ask, such as a hosting or mail provider. may only engage sub-processors under the same obligations we impose on them. That obligation cascades contractually through the whole chain, so the protection does not thin out at every link.\nWe never sell, rent or trade your data. There is no arrangement at all under which a third party gains access to your data in exchange for money or other benefits.\nWant to know which parties those are today? We name them, along with what each one is for and where your data sits.\nSee our processors\nEmergency situations\nWhere a product exists to call for help, acting fast is the whole point. If you start an alarm or the product detects an incident, we may share the data needed to help you with the party handling the follow-up, for instance a licensed monitoring partner, and with emergency services or the contacts you designated yourself.\nThat means whatever is relevant at that moment: who you are and how you can be reached, your location where it is available, the information you stored for responders, and what the product established about the incident.\nThis processing rests on the performance of the contract and, where sensitive data or acute danger is involved, on the protection of vital interests. We share no more than needed and we do not use that data afterwards for purposes other than handling the incident and being able to account for it.\nDisclosures required by law\nWe may be obliged to disclose data, for instance following a court order, a demand from an investigating authority or a lawful request from a supervisory authority.\nWe do not follow such a request blindly. We check whether it comes from a competent authority, whether it has a valid legal basis and whether the scope requested is reasonable. We then disclose only what is actually asked for, and no more.\nWhere we are allowed to, we inform the person concerned. If the law or the order forbids us from doing so, we stay silent for as long as that prohibition lasts and inform you as soon as we can.\nTransfers outside the EEA\nWe prefer to keep our processing inside the European Economic Area, and that is also what we ask of our service providers.\nIf for a specific service we do work with a party that processes data outside the EEA, we base that transfer on a valid mechanism: an adequacy decision of the European Commission, or the standard contractual clauses approved by the European Commission, supplemented with additional measures where those are needed.\nWant to know which parties and which safeguards apply to your situation? Email privacy@punfyre.be and we will send you an overview.\nHow long we keep data\nWe keep data as long as we need it for the purpose we received it for, and after that only where the law obliges us to retain it. As a guideline, per kind of record:\nCorrespondence\nAs long as needed to handle your request and for reasonable follow-up afterwards. After that it is deleted, or archived where the law obliges us to keep certain correspondence longer.\nContracts and billing\nFor the duration of the collaboration and after that for the statutory retention period applying to accounting and tax records.\nAccount and profile data\nAs long as your account exists. If you close it, we delete it or make it irreversibly anonymous, except for what we are legally required to keep.\nTechnical logs\nAt most 30 days. They serve only security and correct operation, so we keep them no longer than that requires.\nIncident data\nAs long as needed to handle the incident and to be able to account for it afterwards, for instance if there is a discussion about the follow-up.\nConsent records\nAs long as needed to demonstrate which choice you made and when, including after you withdraw the consent.\nCookies and browser storage\nAccording to the periods listed per item in our cookie policy.\nWhere a product needs different or stricter periods, those are set out in that product's own statement. What we do not do is keep data because it might come in handy some day.\nYour rights\nThe GDPREuropean privacy law: personal data may only be collected, used and kept for a clear and limited reason. gives you a set of rights over your personal data. You can exercise all of them with us:\nAccess\nAsk which data we hold about you and receive a copy of it.\nRectification\nHave inaccurate or incomplete data corrected.\nErasure\nAsk us to delete your data when we no longer need it.\nRestriction\nAsk us to put processing on hold, for example while we look into an objection.\nObjection\nObject to processing that rests on our legitimate interest.\nPortability\nReceive the data you gave us in a commonly used format.\nWithdrawing consent\nWithdraw previously given consent at any time, without affecting the lawfulness of earlier processing.\nWant to exercise one of these rights? Email privacy@punfyre.be with a short description of what you are asking for. There is no form to fill in and you do not have to give a reason.\nWe may ask you to confirm your identity, so we are certain we are not handing your data to someone else. We ask no more than necessary for that: if a check via your known email address is enough, we will not demand a copy of your ID card.\nYou will receive a reply within the legal timeframe of one month. If your request is complex, or if many requests come in at once, we may extend that period by 2 months, and we will tell you why within the first month. Exercising your rights is free of charge, unless a request is manifestly unfounded or excessively repetitive. In that case we explain why and what we can do instead.\nWith a product, erasure can mean you are no longer able to use it, because without an account or without certain data there is no service left. We say so in advance, so you can decide for yourself.\nNo automated decision-making\nWe do not make decisions about you by purely automated means that have legal effects or otherwise significantly affect you. We also do not build profiles to predict what you will do, buy or need.\nSome features are technically automated, for instance a detection that proposes an alarm. That is a signal, not a decision about you: a person assesses the follow-up, and you keep control to confirm or cancel the alarm.\nWere this ever to change for a product, that product's own statement will say so, we will explain the logic behind it and what the consequences are, and we will inform the users concerned before it happens.\nHow we protect your data\nWe take appropriate technical and organisational measures to protect your data: encrypted connections (TLS), access control following the principle of least privilege, separate environments for development and production, systems we update and harden, and passwords stored only as an encrypted derivation.\nIf we do detect a personal data breach, we investigate it, close the gap and document what happened. Where the breach is notifiable, we inform the Belgian Data Protection Authority within 72 hours of becoming aware of it. Where there is a high risk to the people concerned, we inform them too, in plain language and with what they can do themselves.\nNo system is perfect, but our most important security measure is the simplest one: we collect very little. What is not there cannot leak.\nWhat we expect from you\nIf a product works with an account, your access is partly your responsibility too. Keep your sign-in details to yourself, do not share them with others, use a unique password and turn on two-step verification where the product offers it.\nSuspect that someone else can get into your account? Report it as soon as possible via privacy@punfyre.be. The sooner we know, the more we can do.\nAlso make sure the data you enter is accurate and up to date, certainly for a safety feature. An old phone number for an emergency contact helps nobody at the moment it counts.\nWe do what can reasonably be expected of us to protect your data, and we stand behind that. If something nevertheless goes wrong purely because of a third party's unlawful acts or because sign-in details were shared beyond our control, we cannot be held liable for that damage.\nChildren\nThis website is not aimed at children and we do not knowingly process children's personal data through the website.\nWhere a product may be used by or for a minor, for instance because a parent sets up a safety feature for a child, a parent or legal guardian must do the setup and give the necessary consent. We handle that data with extra care: only what the feature needs, never for commercial purposes, and with the same rights for the child as for anyone else.\nDo you believe we process a child's data without that consent? Email privacy@punfyre.be and we will look into it and delete whatever should not be there.\nFiling a complaint\nNot happy with how we handle your data? Tell us first via privacy@punfyre.be and we will look for a solution together. That is usually the fastest route, but it is not a mandatory step.\nYou always have the right to lodge a complaint with the Belgian supervisory authority: the Belgian Data Protection Authority (Gegevensbeschermingsautoriteit).\nA complaint with the supervisory authority rules nothing out. You can also go to court, and if you suffered damage from unlawful processing you can claim compensation. That right remains, even if you come to us or to the supervisory authority first.\nChanges to this policy\nWe may update this privacy policy, for instance when the website, a product or the law changes. The version published on this page, with the date at the top, is the version that applies.\nFor significant changes we will make that clearly visible on the website. Where a change concerns a product you use, we will also notify you inside that product where that is appropriate.\nContact and applicable law\nPrivacy questions and requests\nprivacy@punfyre.be\nPost\nPunfyre BV, Vlamingstraat 4, 8560 Wevelgem, Belgium\nThis privacy policy and the processing it describes are governed by Belgian law, together with the General Data Protection Regulation and the Belgian implementing legislation. The courts of Kortrijk have jurisdiction over disputes, without prejudice to your right to bring a case before the court the law assigns to you when you act as a consumer.\nContact\nQuestions about your data?\nYou have the right to know what we hold about you, and to have it corrected or erased. One email is enough, and you do not need to give a reason.\nPrivacy and your data\nAccess, correction or deletion of your data, and any other privacy question.\nprivacy@punfyre.be\nLegal and contracts\nQuestions about these documents, contracts, invoices or formal notices.\nlegal@punfyre.be\nNot sure?\nUnsure where your question belongs? Send it here and we will sort it out.\nsupport@punfyre.be","contentMode":"full","sections":[{"id":"who-we-are-and-what-this-covers-h","heading":"Who we are and what this covers","text":"Punfyre BV is the controllerThe organisation that decides why and how personal data gets used, and is answerable for it. for the personal data we process as a company. This privacy policy explains which data we process, why we do so, who we share it with, how long we keep it and which rights you have.\nController\nPunfyre BV, Vlamingstraat 4, 8560 Wevelgem, Belgium\nCompany number\nKBO 0749.930.853, RPR Gent, division Kortrijk\nVAT number\nBE 0749.930.853\nPrivacy questions\nprivacy@punfyre.be\nThis is Punfyre's umbrella privacy policy. It covers three things: the company itself, this website, and at a general level the products we build and offer, such as Alarmira and Routeez.\nA product may have its own privacy statement that goes into further detail, for instance on the precise data the app needs, the retention periodsHow long data is kept before it is deleted, decided in advance rather than left open. that apply there or the parties involved. Where such a product statement exists, it adds to this text and prevails for that product. Where it is silent, what is written here applies."},{"id":"definitions-h","heading":"Definitions","text":"Privacy texts are full of jargon. These are the words you will meet below, explained in plain language.\nPersonal data\nAny information that makes you identifiable as a person, directly or indirectly. Your name and email address count, but so do an IP address or a device identifier.\nProcessing\nJust about anything you can do with data: collecting, storing, viewing, using, sending on, changing, anonymising or deleting it.\nController\nWhoever decides why and how data is processed. For the processing in this policy that is Punfyre BV.\nProcessor\nA party that processes data on our behalf and according to our instructions, for instance a hosting provider. A processor may not use the data for its own purposes.\nData subject\nThe person the data is about. If you are reading this text about your own data, that is you.\nPersonal data breach\nA security incident in which data is lost, changed without intent or reaches someone who should not have it. In everyday language: a data leak.\nSpecial categories of personal data\nExtra sensitive data for which the law sets stricter rules, such as data about health, biometric data that identifies someone, or data about beliefs or sexual orientation.\nConsent\nA free, clear and informed choice to allow a particular processing activity. You can always withdraw consent, and refusing has no consequences beyond the feature itself."},{"id":"who-the-data-is-about-h","heading":"Who the data is about","text":"Which data we hold about you depends on the relationship we have with you. Someone who asks a single question through the website leaves something very different behind than someone who uses one of our products every day. That is why we distinguish four roles below."},{"id":"visitors-and-people-who-contact-us-h","heading":"Visitors and people who contact us","text":"If you only visit the website or send us a message, it stays at the strict minimum: what you fill in yourself, the standard technical logs of our servers and a few preferences in your own browser. We build no visitor profile and we do not follow you from page to page."},{"id":"customers-and-contract-contacts-h","heading":"Customers and contract contacts","text":"If we work together under an agreement, we also process business contact details, the correspondence about the project or service, and the administration that goes with it: orders, invoices, payment status and agreed arrangements. If you send something back or invoke the guarantee, we also process the data in that file; how a return works in practice is on our returns page."},{"id":"users-of-a-product-h","heading":"Users of a product","text":"If you use one of our products, we process the data that product needs to do what it promises. What that means varies a great deal: an app that can send an alarm in an emergency needs more than an app that only shows an overview."},{"id":"third-parties-whose-data-a-user-gives-us-h","heading":"Third parties whose data a user gives us","text":"Sometimes a user gives us data about someone else, for instance the name and phone number of an emergency contact. That person gave us nothing themselves and may not even know we exist.\nEven so, that person has exactly the same rights as everyone else in this policy, and an email to privacy@punfyre.be is enough to exercise them."},{"id":"what-data-we-process-h","heading":"What data we process","text":"The part about the website is complete: if it is not listed there, we do not do it. The part about products is written conditionally, because not every product has the same features. If your product does not process a particular kind of data, that part does not apply to you."},{"id":"contact-and-support-forms-h","heading":"Contact and support forms","text":"When you send us a message through the contact or support form, we process the data you fill in yourself:\nyour name\nyour email address\nthe topic you choose\nthe content of your message\nYour message reaches us as an email and is handled as business correspondence. We use it solely to answer your question and follow up on it. We do not add your address to a mailing list and we do not use your message for any other purpose.\nTo keep spam and abuse out, the forms are protected by a hidden honeypot field, a signed timestamp, rate limiting and optionally a cookieless proof-of-work check called Altcha. These measures work without tracking: no profile is built about you and no cookies are set for them.\nIf you email us directly instead of using the form, exactly the same applies: we treat your message as business correspondence and use it only to reply to you."},{"id":"planning-a-meeting-h","heading":"Planning a meeting","text":"When you plan a meeting through the agenda on this website, we process your name, email address, chosen time and timezone, your choice of Google Meet or phone, your phone number where applicable, and any optional note you provide. We use those details only to schedule the meeting, send the calendar invitation and hold the conversation.\nThe Cal.com scheduling software runs on our own infrastructure. The appointment is added to our Google Workspace calendar; if you choose Google Meet, Google Workspace also creates the meeting link. Confirmations and cancellation or rescheduling links are sent by email."},{"id":"technical-website-data-h","heading":"Technical website data","text":"Like almost every website, our servers and hosting environment keep standard log files. These contain, among other things, your IP address and technical data about your request, such as the page requested and the time.\nWe use these logs only to keep the website secure and running: detecting attacks, investigating incidents and preventing abuse. We do not use them to analyse your browsing behaviour."},{"id":"browser-storage-h","heading":"Browser storage","text":"We set a cookie that remembers your language choice and store a few preferences locally in your browser, such as your theme choice and optionally a remembered email address. That remembered email address stays in your own browser and is never sent to us.\nThe full details, with the name and retention period of each item, are in our cookie policy. You manage your choices for non-essential storage through the cookie banner, and you can change them there at any time."},{"id":"account-and-profile-data-h","heading":"Account and profile data","text":"If a product works with accounts, we process what is needed to create, secure and manage that account: your name or a username, your email address, possibly your phone number, your language and notification preferences and the status of your subscription.\nWe never store passwords in readable form. We store only an encrypted derivation that lets us verify your sign-in, without us knowing or being able to recover your password."},{"id":"order-billing-and-payment-data-h","heading":"Order, billing and payment data","text":"If a product sells something, for instance a device or a subscription, we process your order, your billing details and where needed a delivery or installation address.\nThe payment itself runs through a payment provider. It receives the data needed to carry out the payment and processes it under its own privacy policy for what it has to do itself. We see the result of the payment and the details on your invoice, not your full card details.\nInvoices and the accounting records that go with them must be kept by law. That means we cannot erase this data while that retention duty runs, not even on request."},{"id":"device-and-technical-data-in-a-product-h","heading":"Device and technical data in a product","text":"An app or service exchanges technical data in order to work: the device type and operating system, the app version, a technical identifier for the installation, error reports and connection data.\nWhere a product works together with an accessory, for instance an alarm button over Bluetooth, that also includes pairing status, signal and battery status.\nWe use this data to find faults, watch over reliability and prevent abuse. Not to analyse your behaviour or to build profiles."},{"id":"location-data-h","heading":"Location data","text":"If a product offers location features, we process your location only where the feature you are using needs it, and only after you have granted the permission on your device. You can withdraw that permission at any time in your phone settings.\nWith a safety product, location can be the difference between being found and not being found. Such a product may therefore send your location along when you start an alarm or when it detects an incident. If you withdraw the permission, the product keeps working, but without the features that need location."},{"id":"audio-and-camera-recordings-h","heading":"Audio and camera recordings","text":"If a product records sound or images during an incident, it does so in a targeted and limited way: around the moment of the incident, so the situation can be assessed and answered appropriately. Such a recording is not continuous surveillance and does not serve to follow you.\nWhere a product has this feature, that product's own statement explains when a recording starts, who may view or listen to it and how long it is kept."},{"id":"health-and-other-sensitive-data-h","heading":"Health and other sensitive data","text":"Some safety features only work if sensitive information is available, for instance a medical note that responders need to know or a detail about medication. Where a product offers this, you fill that information in yourself, and only if you want to.\nWe ask for your explicit consent for it and use the information solely for the safety purpose you gave it for. The next part sets out exactly which rules apply."},{"id":"emergency-contact-data-h","heading":"Emergency contact data","text":"If a product lets you choose who gets alerted, we process the name and contact details you fill in for that person, plus the role you give them, for instance first contact or second contact.\nWe use that data only to reach that person in the situation you added them for, and to show you whether that worked."},{"id":"support-conversations-h","heading":"Support conversations","text":"If you contact support from within a product, we process the conversation itself and the technical context you send along, such as log files or a screenshot.\nWe use that to solve your problem and, in aggregated or anonymised form, to fix recurring problems at the root."},{"id":"my-punfyre-browser-extension-h","heading":"My Punfyre browser extension","text":"The My Punfyre browser extension connects private notes and shared project feedback to the page you are viewing. A note is visible only to your signed-in account. Feedback is shared with members of the registered project and may include text, a screenshot or recording you create, the page URL, selected element, environment, build information, viewport, and capture time.\nThe extension does not collect browsing history and contains no advertising, behavioral analytics, session replay, or third-party tracking. Technical tools run only when an entitled user opens them. An exported support file contains only version, connection, and aggregate synchronization information; credentials, identity, notes, feedback, screenshots, and visited URLs are excluded."},{"id":"special-categories-of-personal-data-h","heading":"Special categories of personal data","text":"Data about health, biometric data that identifies someone and comparably sensitive data fall under a stricter regime. Our starting point is that we do not process them, unless a product needs them for a safety purpose.\nWhere that is the case, we do so only on the basis of your explicit consent or another valid ground under Article 9 of the GDPR, for instance the protection of vital interests when someone is in danger and can no longer give consent themselves.\nYou can withdraw your consent at any time. That has a clear consequence: the feature resting on that data will no longer work, and information you had stored for responders will no longer be passed on during a future incident. What we lawfully processed before the withdrawal stays lawful.\nOnly fill in sensitive data you actually want shared in an emergency. If you are in doubt, leave the field empty."},{"id":"data-about-other-people-you-give-us-h","heading":"Data about other people you give us","text":"If you give us data about someone else, for instance an emergency contact or a colleague as a contact person, we assume you are allowed to share it. We ask you to make that genuinely true: tell that person you have added them, and what for.\nWe use that data solely for the purpose you gave it for. We do not add it to a mailing list and do not build a separate profile with it.\nThe person concerned has the same rights as you: access, correction, erasure and objection. An email to privacy@punfyre.be is enough. If someone asks us to remove them as a contact, we do so and let you know that the feature will no longer work in full."},{"id":"why-we-process-data-and-on-what-legal-basis-h","heading":"Why we process data and on what legal basis","text":"Every processing activity has a purpose and a legal basis under the General Data Protection Regulation. They are listed together below, so you can see per basis what we use data for.\nPerformance of a contract\nCreating and securing an account, delivering a product and keeping it working, managing an order and a subscription with the payments that go with it, and providing support during use.\nPre-contractual steps and answering questions\nHandling your question through the contact or support form or by email, preparing a quote or a demo, and the conversations that go with it.\nLegitimate interests\nKeeping the website and our products secure and available, preventing abuse and fraud, investigating faults, improving our services on the basis of aggregated information, and keeping a record of arrangements and reports.\nConsent\nSpecial categories of data, optional features such as location, recordings or emergency contacts, non-essential browser storage, and any communication you explicitly signed up for.\nLegal obligations\nAccounting and tax obligations, consumer protection duties, and answering lawful requests from competent authorities.\nVital interests\nSharing the strictly necessary data when someone's life, health or safety is at risk and there is no time or possibility to ask for consent.\nLegitimate interestA legal ground for using data when you have a genuine need for it and it does not override someone's privacy. means that we have a real and concrete interest in the processing, that the processing is necessary for it, and that we have weighed up whether it does not weigh too heavily on you. We make that assessment up front and you can ask us for it.\nWhere a processing activity rests on our legitimate interestA legal ground for using data when you have a genuine need for it and it does not override someone's privacy., you can object to it. We then stop that processing, unless there are compelling reasons to continue, and in that case we explain what those reasons are.\nDo you have to give us data? For an order or a contract you have no real choice: without the data we need to deliver, invoice and reach you, we cannot conclude or perform the contract. For an account, the fields marked as required in the form apply. Where a legal obligation applies, an invoice for instance, the law itself prescribes what it must contain. Everything else is voluntary, and leaving it blank has no consequence other than that we cannot offer that one function."},{"id":"no-analytics-no-tracking-no-advertising-h","heading":"No analytics, no tracking, no advertising","text":"No analytics or tracking software runs on this website. We show no advertising, build no profiles and make no automated decisions about you. There are no pixels, no fingerprinting and no social media trackers.\nWe never sell or rent your data to third parties. Our fonts are self-hosted too, so your browser sends no requests to external font services when you visit the site.\nThe same starting point holds for our products: no advertising, no selling of data and no tracking for commercial purposes. Were a product ever to use a measurement tool, that product's own statement will say so, and we will ask for your consent first wherever the law requires it."},{"id":"who-we-share-data-with-h","heading":"Who we share data with","text":"We share data only where it is necessary, and then with as few parties as possible. These are the categories of recipients that may apply:\nhosting, email and infrastructure providers that run our website, our mailboxes and our products\na payment provider, where a product sells something or offers a subscription\na licensed monitoring or response partner, where a safety product needs alarms to be followed up\nprofessional advisers such as our accountant or a lawyer, where that is necessary for a specific matter\ncompetent authorities, where a lawful request obliges us to\nMost of these parties act as processorsA supplier that handles data on our behalf and only for what we ask, such as a hosting or mail provider.: they work according to our instructions, are bound by a data processing agreement and may not use the data for their own purposes.\nWhere a party determines its own purposes, as a payment provider or a licensed monitoring partner does for the duties resting on them, that party is an independent controllerThe organisation that decides why and how personal data gets used, and is answerable for it. for that part and its own privacy policy applies.\nOur processorsA supplier that handles data on our behalf and only for what we ask, such as a hosting or mail provider. may only engage sub-processors under the same obligations we impose on them. That obligation cascades contractually through the whole chain, so the protection does not thin out at every link.\nWe never sell, rent or trade your data. There is no arrangement at all under which a third party gains access to your data in exchange for money or other benefits.\nWant to know which parties those are today? We name them, along with what each one is for and where your data sits.\nSee our processors"},{"id":"emergency-situations-h","heading":"Emergency situations","text":"Where a product exists to call for help, acting fast is the whole point. If you start an alarm or the product detects an incident, we may share the data needed to help you with the party handling the follow-up, for instance a licensed monitoring partner, and with emergency services or the contacts you designated yourself.\nThat means whatever is relevant at that moment: who you are and how you can be reached, your location where it is available, the information you stored for responders, and what the product established about the incident.\nThis processing rests on the performance of the contract and, where sensitive data or acute danger is involved, on the protection of vital interests. We share no more than needed and we do not use that data afterwards for purposes other than handling the incident and being able to account for it."},{"id":"disclosures-required-by-law-h","heading":"Disclosures required by law","text":"We may be obliged to disclose data, for instance following a court order, a demand from an investigating authority or a lawful request from a supervisory authority.\nWe do not follow such a request blindly. We check whether it comes from a competent authority, whether it has a valid legal basis and whether the scope requested is reasonable. We then disclose only what is actually asked for, and no more.\nWhere we are allowed to, we inform the person concerned. If the law or the order forbids us from doing so, we stay silent for as long as that prohibition lasts and inform you as soon as we can."},{"id":"transfers-outside-the-eea-h","heading":"Transfers outside the EEA","text":"We prefer to keep our processing inside the European Economic Area, and that is also what we ask of our service providers.\nIf for a specific service we do work with a party that processes data outside the EEA, we base that transfer on a valid mechanism: an adequacy decision of the European Commission, or the standard contractual clauses approved by the European Commission, supplemented with additional measures where those are needed.\nWant to know which parties and which safeguards apply to your situation? Email privacy@punfyre.be and we will send you an overview."},{"id":"how-long-we-keep-data-h","heading":"How long we keep data","text":"We keep data as long as we need it for the purpose we received it for, and after that only where the law obliges us to retain it. As a guideline, per kind of record:\nCorrespondence\nAs long as needed to handle your request and for reasonable follow-up afterwards. After that it is deleted, or archived where the law obliges us to keep certain correspondence longer.\nContracts and billing\nFor the duration of the collaboration and after that for the statutory retention period applying to accounting and tax records.\nAccount and profile data\nAs long as your account exists. If you close it, we delete it or make it irreversibly anonymous, except for what we are legally required to keep.\nTechnical logs\nAt most 30 days. They serve only security and correct operation, so we keep them no longer than that requires.\nIncident data\nAs long as needed to handle the incident and to be able to account for it afterwards, for instance if there is a discussion about the follow-up.\nConsent records\nAs long as needed to demonstrate which choice you made and when, including after you withdraw the consent.\nCookies and browser storage\nAccording to the periods listed per item in our cookie policy.\nWhere a product needs different or stricter periods, those are set out in that product's own statement. What we do not do is keep data because it might come in handy some day."},{"id":"your-rights-h","heading":"Your rights","text":"The GDPREuropean privacy law: personal data may only be collected, used and kept for a clear and limited reason. gives you a set of rights over your personal data. You can exercise all of them with us:\nAccess\nAsk which data we hold about you and receive a copy of it.\nRectification\nHave inaccurate or incomplete data corrected.\nErasure\nAsk us to delete your data when we no longer need it.\nRestriction\nAsk us to put processing on hold, for example while we look into an objection.\nObjection\nObject to processing that rests on our legitimate interest.\nPortability\nReceive the data you gave us in a commonly used format.\nWithdrawing consent\nWithdraw previously given consent at any time, without affecting the lawfulness of earlier processing.\nWant to exercise one of these rights? Email privacy@punfyre.be with a short description of what you are asking for. There is no form to fill in and you do not have to give a reason.\nWe may ask you to confirm your identity, so we are certain we are not handing your data to someone else. We ask no more than necessary for that: if a check via your known email address is enough, we will not demand a copy of your ID card.\nYou will receive a reply within the legal timeframe of one month. If your request is complex, or if many requests come in at once, we may extend that period by 2 months, and we will tell you why within the first month. Exercising your rights is free of charge, unless a request is manifestly unfounded or excessively repetitive. In that case we explain why and what we can do instead.\nWith a product, erasure can mean you are no longer able to use it, because without an account or without certain data there is no service left. We say so in advance, so you can decide for yourself."},{"id":"no-automated-decision-making-h","heading":"No automated decision-making","text":"We do not make decisions about you by purely automated means that have legal effects or otherwise significantly affect you. We also do not build profiles to predict what you will do, buy or need.\nSome features are technically automated, for instance a detection that proposes an alarm. That is a signal, not a decision about you: a person assesses the follow-up, and you keep control to confirm or cancel the alarm.\nWere this ever to change for a product, that product's own statement will say so, we will explain the logic behind it and what the consequences are, and we will inform the users concerned before it happens."}]},{"id":"page.processors","locale":"en","kind":"page","canonicalUrl":"https://punfyre.be/en/processors","title":"Our processors","summary":"The suppliers that process personal data on our behalf.","text":"Legal\nOur processors\nThis page belongs with our privacy policy and names the parties we use today. It sets out what each party is for, what data it gets to see, and where that data sits.\nLast updated: 4 August 2026\nIn short\nWe involve as few parties as possible, and only where it is genuinely needed.\nEvery party below works under contract and only on our instructions.\nYour data stays within the European Economic Area.\nIf a party is added, it appears here before we start using it.\nAnything missing from this list? Please tell us.\nWhat a processor is\nThis page belongs with our privacy policy. That document covers what data we process and why; this one names the suppliers involved in doing so.\nA processorA supplier that handles data on our behalf and only for what we ask, such as a hosting or mail provider. is a supplier that processes personal data on our behalf. It may only do what we ask, may not use the data for its own purposes, and is contractually bound by a data processing agreementA contract with a supplier setting out what it may and may not do with your data..\nIn that arrangement we remain the controllerThe organisation that decides why and how personal data gets used, and is answerable for it.: you come to us, not to the supplier. Where a party determines its own purposes, we say so explicitly below, because its own policy then applies to that part.\nHow we choose suppliers\nWe do not add a service simply because it is convenient. Before a party joins this list, we look at:\nwhether we can solve the problem without an external party at all, because the shortest chain is always the safest\nwhat data that party actually gets to see, and whether it can be kept to a minimum\nwhere the data is stored and processed\nwhether there is a solid data processing agreement, and what it says about sub-processors\nhow the party handles security, incidents, and deleting data once the work is done\nThe same applies to the parties our suppliers engage in turn. They may only do so under the same obligations we impose, so the protection does not thin out at every link.\nWho we use today\nThese are the parties that process personal data today for this website, our mailboxes and our products.\nGoogle Cloud\nHosting and infrastructure for this website, our self-hosted Cal.com scheduling software and our products: the servers, storage and network that deliver the pages. It processes technical data such as IP addresses in server logs and, for planned meetings, the appointment data held on our Cal.com VM. Google Cloud EMEA Limited, Ireland, with storage in European regions.\nGoogle Workspace\nOur mailboxes, calendar, Google Meet connections and documents. Every message you send us, and every message we send, passes through here; planned meetings are added to our calendar and may receive a Meet link. Google Ireland Limited, Ireland.\nCloudflare\nThe domain name system for punfyre.be: it translates our domain name into the server's address. It sees the visitor's IP address in doing so, but not the content of your visit. Cloudflare, Inc., processing in European data centres.\nOdoo\nOur business administration: quotes, invoices and the customer records that go with them. It therefore processes customers' contact and billing details. Odoo S.A., Belgium.\nMollie\nPayments, where a product sells something or offers a subscription. For the legal duties resting on a payment institution, such as fraud prevention, Mollie is an independent controller and its own policy applies. Mollie B.V., the Netherlands.\nMessageBird\nSends the messages Alarmira alerts with, such as an SMS when an alarm goes off. It receives the recipient's phone number and the content of the message to do so. MessageBird B.V., the Netherlands.\nSecuritas Alert Services\nThe licensed alarm centre behind Alarmira: it follows up alarms and dispatches help. It receives only the data an intervention needs, such as your address and your emergency contacts. For that follow-up Securitas is an independent controller and its own privacy statement applies. Securitas Alert Services NV, Belgium.\nWe never sell, rent or trade your data. No party on this list gains access in exchange for money or other benefits.\nWhere your data sits\nOur data sits within the European Economic Area. Where a supplier also operates outside the EEA, we select the European region and record that contractually.\nIf a transfer outside the EEA is unavoidable after all, it happens only on a valid basis: an adequacy decision by the European Commission, or the standard contractual clauses under the GDPR framework, together with the additional measures needed.\nSupport happens from Belgium. Where we need access to data to resolve a problem, that access stays limited to what solving it requires.\nChanges to this list\nThis list is a snapshot. When we start using a new party, or stop using one, we update this page and the date at the top moves with it.\nWhere a change genuinely alters how your data is processed, we note it in our privacy policy as well, so you do not have to discover it by comparing two versions of this page.\nContact\nQuestions about any of these parties?\nWant to know what a particular supplier actually gets to see, or why we use them at all? Just ask; we are happy to explain the role each party plays.\nPrivacy and your data\nAccess, correction or deletion of your data, and any other privacy question.\nprivacy@punfyre.be\nLegal and contracts\nQuestions about these documents, contracts, invoices or formal notices.\nlegal@punfyre.be\nNot sure?\nUnsure where your question belongs? Send it here and we will sort it out.\nsupport@punfyre.be","contentMode":"full","sections":[{"id":"what-a-processor-is-h","heading":"What a processor is","text":"This page belongs with our privacy policy. That document covers what data we process and why; this one names the suppliers involved in doing so.\nA processorA supplier that handles data on our behalf and only for what we ask, such as a hosting or mail provider. is a supplier that processes personal data on our behalf. It may only do what we ask, may not use the data for its own purposes, and is contractually bound by a data processing agreementA contract with a supplier setting out what it may and may not do with your data..\nIn that arrangement we remain the controllerThe organisation that decides why and how personal data gets used, and is answerable for it.: you come to us, not to the supplier. Where a party determines its own purposes, we say so explicitly below, because its own policy then applies to that part."},{"id":"how-we-choose-suppliers-h","heading":"How we choose suppliers","text":"We do not add a service simply because it is convenient. Before a party joins this list, we look at:\nwhether we can solve the problem without an external party at all, because the shortest chain is always the safest\nwhat data that party actually gets to see, and whether it can be kept to a minimum\nwhere the data is stored and processed\nwhether there is a solid data processing agreement, and what it says about sub-processors\nhow the party handles security, incidents, and deleting data once the work is done\nThe same applies to the parties our suppliers engage in turn. They may only do so under the same obligations we impose, so the protection does not thin out at every link."},{"id":"who-we-use-today-h","heading":"Who we use today","text":"These are the parties that process personal data today for this website, our mailboxes and our products.\nGoogle Cloud\nHosting and infrastructure for this website, our self-hosted Cal.com scheduling software and our products: the servers, storage and network that deliver the pages. It processes technical data such as IP addresses in server logs and, for planned meetings, the appointment data held on our Cal.com VM. Google Cloud EMEA Limited, Ireland, with storage in European regions.\nGoogle Workspace\nOur mailboxes, calendar, Google Meet connections and documents. Every message you send us, and every message we send, passes through here; planned meetings are added to our calendar and may receive a Meet link. Google Ireland Limited, Ireland.\nCloudflare\nThe domain name system for punfyre.be: it translates our domain name into the server's address. It sees the visitor's IP address in doing so, but not the content of your visit. Cloudflare, Inc., processing in European data centres.\nOdoo\nOur business administration: quotes, invoices and the customer records that go with them. It therefore processes customers' contact and billing details. Odoo S.A., Belgium.\nMollie\nPayments, where a product sells something or offers a subscription. For the legal duties resting on a payment institution, such as fraud prevention, Mollie is an independent controller and its own policy applies. Mollie B.V., the Netherlands.\nMessageBird\nSends the messages Alarmira alerts with, such as an SMS when an alarm goes off. It receives the recipient's phone number and the content of the message to do so. MessageBird B.V., the Netherlands.\nSecuritas Alert Services\nThe licensed alarm centre behind Alarmira: it follows up alarms and dispatches help. It receives only the data an intervention needs, such as your address and your emergency contacts. For that follow-up Securitas is an independent controller and its own privacy statement applies. Securitas Alert Services NV, Belgium.\nWe never sell, rent or trade your data. No party on this list gains access in exchange for money or other benefits."},{"id":"where-your-data-sits-h","heading":"Where your data sits","text":"Our data sits within the European Economic Area. Where a supplier also operates outside the EEA, we select the European region and record that contractually.\nIf a transfer outside the EEA is unavoidable after all, it happens only on a valid basis: an adequacy decision by the European Commission, or the standard contractual clauses under the GDPR framework, together with the additional measures needed.\nSupport happens from Belgium. Where we need access to data to resolve a problem, that access stays limited to what solving it requires."},{"id":"changes-to-this-list-h","heading":"Changes to this list","text":"This list is a snapshot. When we start using a new party, or stop using one, we update this page and the date at the top moves with it.\nWhere a change genuinely alters how your data is processed, we note it in our privacy policy as well, so you do not have to discover it by comparing two versions of this page.\nContact"},{"id":"pf-legal-contact-h","heading":"Questions about any of these parties?","text":"Want to know what a particular supplier actually gets to see, or why we use them at all? Just ask; we are happy to explain the role each party plays.\nPrivacy and your data\nAccess, correction or deletion of your data, and any other privacy question.\nprivacy@punfyre.be\nLegal and contracts\nQuestions about these documents, contracts, invoices or formal notices.\nlegal@punfyre.be\nNot sure?\nUnsure where your question belongs? Send it here and we will sort it out.\nsupport@punfyre.be"}]},{"id":"page.products","locale":"en","kind":"collection","canonicalUrl":"https://punfyre.be/en/products","title":"The products we build and run ourselves","summary":"Our own products are where our standards get tested first. This is the portfolio, with what each product is and where it stands today.","text":"Products\nThe products we build and run ourselves\nOur own products are where our standards get tested first. This is the portfolio, with what each product is and where it stands today.\nThe portfolio\nProducts we own end to end\nAlarmira leads the portfolio. Every card names the role the product plays and where it stands today, so nothing has to be inferred.\nLive\nAlarmira\nPersonal safety that feels dependable, never cold security theater.\nDiscover Alarmira\nEarly access\nRouteez\nCare, routed efficiently: less time on the road and more time for care.\nDiscover Routeez\nWhy we build our own\nOur own products keep our client work honest\nWe do not only build for others. Running our own products day after day is what keeps our standards from turning into theory.\nWe live with what we ship\nWe run our own products end to end: the mobile app, the client portal, the backend engine, and the support flows behind them.\nThe same rigor goes into client work\nClient projects run on the standards our own products demand, not on a lighter version of them.\nWe say where each product stands\nLive means live, and incubating means not launched yet. Nothing here is dressed up as finished.\nPunfyre Forge\nBuilt from proven blocks\nForge is our rapid application development platform. Every project starts from a proven set of in-house modules, so more of your budget goes into what makes your product distinct instead of rebuilding the basics.\nSee what Forge does\nForge\nAuthenticationAccounts and secure sign-in, ready to go.\nAPIsA connected service layer out of the box.\nDataStructured, reliable data management.\nHostingProduction hosting and delivery, handled.\nBring us your own product idea\nThe rigor behind these products is what we bring to client work. Tell us what you have in mind, and we come back with a clear approach and where to start.\nStart a conversation","contentMode":"full","sections":[]},{"id":"page.products.alarmira","locale":"en","kind":"product","canonicalUrl":"https://punfyre.be/en/products/alarmira","title":"Personal safety, reinvented","summary":"Our own personal safety platform. One tap raises the alarm, shares your live location with your emergency contacts and starts an encrypted recording.","text":"Our own product\nPersonal safety, reinvented\nAlarmira is Punfyre's own personal safety platform. One tap raises the alarm, shares your live location with your emergency contacts and starts an encrypted audio recording. We designed it, built it and run it ourselves.\nGo to alarmira.com Talk to us\nWhat it does\nYour safety, always within reach\nDiscreet alerting for every situation, at any moment. The app carries the whole flow, from the first tap to the people who need to know.\nOne tap\nThe alarm sits behind a single button. No menus, no searching, nothing to remember.\nSilent or audible\nRaise an alarm that draws attention, or one that stays completely silent on the phone.\nLive location\nYour emergency contacts follow your GPS location in real time while the alarm runs.\nEncrypted audio\nAlarmira captures audio during an incident, encrypted from the moment it is recorded.\nYour own contacts\nYou decide who gets warned when an alarm goes off, and you can change that at any time.\nPlanned check-ins\nPlan a moment when Alarmira should hear from you, for the situations where you want a safety net.\nHardware\nAn alarm button you can wear\nThe app works on its own. If reaching for your phone is not an option, the optional Bluetooth button raises the same alarm from your keychain, your bag or your clothing.\nWeight\n12 g\nWater resistance\nIP44\nBattery life\n2 to 3 years\nBluetooth range\nAround 20 m\nProof\nOne team runs all of it\nWe run it ourselves, end to end: the mobile app, the client portal, the backend engine, and the support flows. Living with our own product keeps us honest about what dependable really means.\nSurfaces we run\nPublic website\nMobile app\nClient portal\nSupport flows\nBackend engine\nStack\nTypeScript\nNestJS\nAstro\nRead the project write-up See the foundations we build on\nTrust\nTrust is the whole product\nA safety product is only worth something if people believe it will behave. That belief is not a feature we bolted on, it is how the system is put together.\nEncrypted in transit and at rest\nData is encrypted while it travels and while it is stored, not only on the way in.\nNever sold on\nAlarmira never sells user data to third parties. There is no version of this product where that changes.\nSecuritas dispatch\nAlarmira integrates with the dispatch centre of Securitas.\nOne party behind it\nPunfyre BV is the legal entity behind Alarmira, so nobody sits between the product and the people who built it.\nWho it is for\nDifferent lives, the same reassurance\nAlarmira is used by people in very different situations, for very different reasons.\nSeniors\nRunners and athletes\nStudents\nPeople living alone\nParents and families\nTravellers\nUnsafe situations at home\nPeople with a disability\nAlarmira runs from a free tier upward. The current plans, what each one includes and what they cost live on alarmira.com.\nSee the plans on alarmira.com\nBuild something people can rely on\nAlarmira is what we build when our own name is on the line. Tell us what you want to build, and we will give you an honest read on what it takes.\nStart a conversation","contentMode":"full","sections":[]},{"id":"page.products.routeez","locale":"en","kind":"product","canonicalUrl":"https://punfyre.be/en/products/routeez","title":"More time for care, less time on the road","summary":"Routeez brings care planning and routing together. Smarter schedules, shorter routes, and more time for care, introduced through focused pilots.","text":"Routeez\nOur own product\nMore time for care, less time on the road\nRouteez brings planning, availability, assignment, and routing together for mobile care and service work. It proposes workable schedules and routes while you confirm, adjust, and stay in control.\nGo to routeez.com Talk to us\nLess time driving\nRoutes planned as routes, for care and for logistics.\nYou decide\nRouteez proposes schedules and routes, you confirm or adjust. No more grid to fill in by hand.\nOne source of truth\nAvailability, assignment and routes in one place, always current for everyone.\nInsight while you plan\nSee what is happening while you plan, without reports afterwards.\nOne planning flow\nFrom request to a workable route\nRequests, people, availability, routes, and operational insight belong in one current view, not in separate spreadsheets and message threads.\nPlanning with you in control\nRouteez proposes a schedule and assignments; planners confirm or adjust them.\nRoute planning and optimisation\nPlan care visits, deliveries, patient transport, and lab samples as routes you can refine.\nAvailability and teams\nCoordinate teams, independent providers, volunteers, and temporary collaborations in one place.\nIntake and onboarding\nAdd new clients and requests directly to the schedule without entering the same information twice.\nOperational insight\nUse current information while planning instead of waiting for a report afterwards.\nLess administrative drag\nReduce the retyping, corrections, calls, and messages surrounding each change.\nGetting started\nUnderstand first, then plan\nWe first look at how planning works today and where time is being lost. From there, we define a focused pilot, evaluate the result, and decide together what comes next.\nDiscovery\nMap the current planning process, its bottlenecks, and the result you want.\nSetup\nAgree on which data and working rules the pilot needs and who is responsible for what.\nPilot\nTest one clear use case for an agreed period and scope.\nEvaluate and decide\nReview the result together, then expand, adjust, or stop.\nBefore the pilot starts, we agree on scope, timing, cost, and responsibilities.\nSee how to get started\nBuilt from care-sector work\nRouteez does not come out of nowhere\nYears of building digital systems with Belgian care organisations taught us how requests, teams, information, and daily operations meet in practice. These projects show where that experience comes from.\nCare-sector work Wit-Gele Kruis East Flanders A care-request website that lets doctors, health funds, and hospitals arrange home nursing in a few clicks. Care-sector work ZORG Magazine The trade magazine for care leaders, online: news filtered by sector and theme, events, subscriptions, and articles behind a member login. Care-sector work Hospindex & Carehomesindex The annual reference works for Belgian hospitals and residential care, kept current by the organisations themselves and exported straight to print.\nSee whether Routeez fits your planning\nSee what Routeez could mean for your planning and what a first pilot looks like.\nGo to routeez.com","contentMode":"full","sections":[]},{"id":"page.projects","locale":"en","kind":"collection","canonicalUrl":"https://punfyre.be/en/projects","title":"What we built, and keep running","summary":"Our own products, work for clients, and the internal platforms we sharpen our tools on. Some client work is shared discreetly: the shape, not the name.","text":"Projects\nWhat we built, and keep running\nOur own products, work for clients, and the internal platforms we sharpen our tools on. Some client work is shared discreetly: the shape and the stack, not the name.\nFilters\nType\nClient work 9 Behind the scenes 7 Products 2\nProject size\nFrom Small to Platform\nDomain\nOperations 15 Care 6 Marketing 5 Commerce 2 Safety 1 Compliance 1 Accessibility 1\nTechnology\nWeb app 13 API & backend 13 Website 7 Dashboards & ops 7 Mobile app 3 E-commerce 2\nStatus\nLive only 14\n18 projects\nSort by\nProject overview\nProducts Featured\nAlarmira\nPersonal safety that feels dependable, never cold security theater.\nView project\nBehind the scenes Featured\nOffice wallboard\nOur office heartbeat on the wall: live news, local weather, and platform health, in an enclosure we designed from scratch.\nView project\nClient work\nVivalyte\nA 200-product LED catalog that keeps itself current: specs, photometrics, and datasheets synced straight from the system the company already runs on.\nView project\nBehind the scenes\nFlic Presser\nA four-button dock connecting TypeScript control to physical presses, with a custom enclosure, servo fingers and firmware.\nView project\nBehind the scenes\nUptime monitoring\nEvery site and service we run, watched around the clock from one git-backed inventory, with its own status page per customer.\nView project\nClient work\nOn Wheels\nThe accessibility app that maps what a doorway actually looks like, and the platform cities use to act on it.\nView project\nClient work\nWit-Gele Kruis East Flanders\nA care-request website that lets doctors, health funds, and hospitals arrange home nursing in a few clicks.\nView project\nBehind the scenes\nProject Studio\nWhere a brand becomes a website: colour system, section library, and generated imagery, all resolved from one blueprint.\nView project\nClient work\nMedisch Labo Bruyland\nA rebuilt results server that gives doctors and vets their lab results on any device.\nView project\nBehind the scenes\nForge simulations\nRealistic data and ongoing activity to test and demonstrate software.\nView project\nProducts\nRouteez\nCare, routed efficiently: less time on the road and more time for care.\nView project\nClient work\nZORG Magazine\nThe trade magazine for care leaders, online: news filtered by sector and theme, events, subscriptions, and articles behind a member login.\nView project\nClient work\nHospindex & Carehomesindex\nThe annual reference works for Belgian hospitals and residential care, kept current by the organisations themselves and exported straight to print.\nView project\nBehind the scenes\nDocumentation that checks itself\nA tool that compares our documentation against the code it describes, so out-of-date pages get caught instead of quietly misleading the next person.\nView project\nClient work\nTravel insurance group\nAnonymous\nCustom flows on a hosted site builder: a needs analysis for travel agents and an application flow for travellers, in two languages.\nView project\nClient work\nFurniture retailer\nAnonymous\nA supplier catalog of thousands of products, synced nightly into a live storefront, with AI-assisted checks catching bad listings first.\nView project\nBehind the scenes\nImage pipeline\nOur own image optimizer: modern formats at the right size for the screen asking, with no third party in between.\nView project\nClient work\nWordPress management\nKeeping a portfolio of WordPress sites secure, fast, and up to date for publishers, agencies, retailers, and care organisations.\nView project\nWork with us\nYour project?\nThis is where yours could sit. Tell us what you want to build and we'll say honestly whether we're the right team for it.\nGet in touch\nComing up\nMore on the way\nWe add projects as work wraps up and clients approve being named, and we keep the ones here current. Ask us about anything you don't see.\nUnder the hood\nIt all runs on Forge\nProducts and client work alike start from Punfyre Forge, our proven building blocks, so more of every budget goes into what makes each one distinct.\nExplore Forge\nHave a project in mind?\nTell us what you want to build. We'll come back with a clear approach and where to start.\nStart a conversation","contentMode":"full","sections":[]},{"id":"page.projects.alarmira","locale":"en","kind":"project","canonicalUrl":"https://punfyre.be/en/projects/alarmira","title":"Alarmira","summary":"Personal safety that feels dependable, never cold security theater. Our own product: one tap raises the alarm and shares your live location.","text":"Alarmira\nPersonal safety that feels dependable, never cold security theater.\n1 / 5\nAbout this project\nAlarmira is our own product and the clearest proof of how we believe trust-sensitive systems should work: one-tap alarm activation, live location sharing, encrypted audio capture, and clear response flows in one coherent platform.\nWe run it ourselves, end to end: the mobile app, the client portal, the backend engine, and the support flows. Living with our own product keeps us honest about what dependable really means.\nHighlights\nMobile app with real-time location sharing\nOptional Bluetooth alarm button\nEncrypted audio capture during an incident\nConsumer and enterprise-ready foundation\nVisit the product page\nAt a glance\nType\nProducts\nStatus\nLive\nDomain\nSafety\nProject size\nPlatform\nStack\nJavaScript with types: mistakes surface while we build, not after launch. Official site\nThe backend framework behind our APIs: structured, testable, and built to grow. Official site\nThe web framework behind our sites: fast pages that ship almost no JavaScript by default. Official site\nVisit the live site\nMore projects\nSee another one\nProducts\nRouteez\nCare, routed efficiently: less time on the road and more time for care.\nRead more\nClient work\nWordPress management\nKeeping a portfolio of WordPress sites secure, fast, and up to date for publishers, agencies, retailers, and care organisations.\nRead more\nClient work\nHospindex & Carehomesindex\nThe annual reference works for Belgian hospitals and residential care, kept current by the organisations themselves and exported straight to print.\nRead more\nBack to projects\nWant something like this?\nTell us what you want to build. We'll come back with a clear approach and where to start.\nStart a conversation","contentMode":"full","sections":[]},{"id":"page.projects.docs-checks","locale":"en","kind":"project","canonicalUrl":"https://punfyre.be/en/projects/docs-checks","title":"Documentation that checks itself","summary":"A tool that compares our documentation against the code it describes, so out-of-date pages get caught instead of quietly misleading the next person.","text":"Documentation that checks itself\nA tool that compares our documentation against the code it describes, so out-of-date pages get caught instead of quietly misleading the next person.\nAbout this project\nDocumentation rots quietly. A page says a service has eight modules, the code has thirteen, and nobody notices until someone new trusts the page. We got tired of that failing silently, so we made it measurable.\nThe tool reads three things at once: what the code actually contains, the notes we write alongside it, and the documentation as published. It maps how they connect, records what every claim is based on, and reports what no longer lines up. Change a module and you can ask which pages just became wrong.\nIt never writes prose. It only compares and counts, which is exactly what makes it worth trusting, and why our own AI tooling asks it instead of guessing at the codebase. Wording and translation sit on top, where being wrong is cheap to fix.\nHighlights\nCompares the code, our notes, and the published docs in one pass\nRecords what every claim is based on, so nothing rests on memory\nReports the pages that no longer match the code\nChange a module, see which pages just went stale\nIt compares and counts, never writes, so tooling can build on it safely\nAt a glance\nType\nBehind the scenes\nStatus\nLive\nDomain\nOperations\nProject size\nMedium\nStack\nJavaScript with types: mistakes surface while we build, not after launch. Official site\nDiagrams written as text, so a drawing changes in the same commit as the code it describes.\nMore projects\nSee another one\nBehind the scenes\nProject Studio\nWhere a brand becomes a website: colour system, section library, and generated imagery, all resolved from one blueprint.\nRead more\nBehind the scenes\nImage pipeline\nOur own image optimizer: modern formats at the right size for the screen asking, with no third party in between.\nRead more\nBehind the scenes\nFlic Presser\nA four-button dock connecting TypeScript control to physical presses, with a custom enclosure, servo fingers and firmware.\nRead more\nBack to projects\nWant something like this?\nTell us what you want to build. We'll come back with a clear approach and where to start.\nStart a conversation","contentMode":"full","sections":[]},{"id":"page.projects.flic-presser","locale":"en","kind":"project","canonicalUrl":"https://punfyre.be/en/projects/flic-presser","title":"Flic Presser","summary":"A four-button dock connecting TypeScript control to physical presses, with a custom enclosure, servo fingers and firmware.","text":"Flic Presser\nA four-button dock connecting TypeScript control to physical presses, with a custom enclosure, servo fingers and firmware.\n1 / 5\nAbout this project\nSome software interactions end at a physical button. Flic Presser is our small hardware project for that boundary: a four-bay dock whose servo-driven fingers are designed to press Flic buttons. We develop the mechanical design, controller firmware and local TypeScript control together, so a sequence in software has a deliberate physical counterpart.\nThe current design combines one continuous base, a removable hood and four numbered fingers. Open button seats, accessible electronics and a serviceable assembly matter as much as the outer shape. Like our office wallboard enclosure, the project brings software and our own 3D design into the same piece of work.\nA native TypeScript CLI and local API handle clicks, double-clicks, bounded holds and timed sequences. Explicit arming, exclusive control, cancellation and watchdog release are part of the design. We can test sequences and cancellation in software before commissioning the hardware.\nThe gallery shows the dock’s 3D design. Physical assembly and button calibration are the next steps. Read When software needs to press a real button for the design story.\nHighlights\nFour button bays with servo-driven, numbered fingers\nCustom base, removable hood and accessible electronics\nTypeScript CLI and local API for timed button sequences\nDigital prototype; physical fit and operation still to validate\nAt a glance\nType\nBehind the scenes\nStatus\nIn development\nDomain\nOperations\nProject size\nMedium\nStack\nJavaScript with types: mistakes surface while we build, not after launch. Official site\nA credit-card-sized computer, sturdy enough to run a display around the clock. Official site\nThe open 3D suite we design and render our hardware models in. Official site\nTurning our own 3D models into physical parts, so a design can be held and tested.\nMore projects\nSee another one\nBehind the scenes\nUptime monitoring\nEvery site and service we run, watched around the clock from one git-backed inventory, with its own status page per customer.\nRead more\nBehind the scenes\nForge simulations\nRealistic data and ongoing activity to test and demonstrate software.\nRead more\nBehind the scenes\nDocumentation that checks itself\nA tool that compares our documentation against the code it describes, so out-of-date pages get caught instead of quietly misleading the next person.\nRead more\nBack to projects\nWant something like this?\nTell us what you want to build. We'll come back with a clear approach and where to start.\nStart a conversation","contentMode":"full","sections":[]},{"id":"page.projects.forge-simulations","locale":"en","kind":"project","canonicalUrl":"https://punfyre.be/en/projects/forge-simulations","title":"Forge simulations","summary":"Realistic data and ongoing activity to test and demonstrate software.","text":"Forge simulations\nRealistic data and ongoing activity to test and demonstrate software.\nAbout this project\nRequests arrive, tasks change status and records build up a history. We use that activity to see how an application behaves through a working day.\nOur Forge packages provide the starting data and the activity that follows. The application runs with its own database and goes through its usual workflows. We can try new features, repeat a problem scenario and walk through the software together, both for our own products and for client work.\nMore about this approach: Beyond sample data: software that keeps moving.\nHighlights\nRealistic data with meaningful relationships\nOngoing activity through the application’s own logic\nRepeatable scenarios for tests and demonstrations\nAt a glance\nType\nBehind the scenes\nStatus\nLive\nDomain\nOperations\nProject size\nLarge\nStack\nJavaScript with types: mistakes surface while we build, not after launch. Official site\nThe backend framework behind our APIs: structured, testable, and built to grow. Official site\nThe battle-tested relational database that keeps data consistent and safe. Official site\nAn in-memory data store we use for caching and fast, live updates. Official site\nMore projects\nSee another one\nBehind the scenes\nOffice wallboard\nOur office heartbeat on the wall: live news, local weather, and platform health, in an enclosure we designed from scratch.\nRead more\nBehind the scenes\nImage pipeline\nOur own image optimizer: modern formats at the right size for the screen asking, with no third party in between.\nRead more\nBehind the scenes\nUptime monitoring\nEvery site and service we run, watched around the clock from one git-backed inventory, with its own status page per customer.\nRead more\nBack to projects\nWant something like this?\nTell us what you want to build. We'll come back with a clear approach and where to start.\nStart a conversation","contentMode":"full","sections":[]},{"id":"page.projects.furniture-operations","locale":"en","kind":"project","canonicalUrl":"https://punfyre.be/en/projects/furniture-operations","title":"Furniture retailer","summary":"A supplier catalog of thousands of products, synced nightly into a live storefront, with AI-assisted checks catching bad listings first.","text":"Furniture retailer\nA supplier catalog of thousands of products, synced nightly into a live storefront, with AI-assisted checks catching bad listings first.\nAnonymous client project\nAbout this project\nA Belgian furniture business sells a supplier's catalog it does not stock itself. That catalog runs to thousands of products and many times that in images, and it changes every day: prices move, stock runs out, new items appear. Doing that by hand is not a job anyone can hold.\nSo we built the pipeline that does it. Every night the full catalog is pulled in, reconciled, and published to the storefront. Three more passes during the day repair drift: products that lost their stock, their price, or their imagery are quietly taken offline again instead of sitting there as a promise the shop cannot keep. An operator workspace sits on top, where the team can follow every run, see what changed, and intervene where it wants to.\nSupplier data is never clean, and a wrong price or a hidden bundle reaches customers as a real problem. Our own rules catch most of it: price floors per furniture category, patterns that betray a set sold as a single item. Where those rules are unsure, an AI model gives a second opinion on the title, the price, and whether the listing is secretly a bundle, and anything it flags is held back from the catalog. It is a gate on top of deterministic checks, not a replacement for them, and it can be switched off without stopping the pipeline.\nHighlights\nThousands of supplier products reconciled into the storefront every night\nThree self-heal passes a day, so broken listings do not linger\nAI-assisted validation flags mispriced and secretly bundled items\nAn operator workspace to follow every run and step in when needed\nAt a glance\nType\nClient work\nStatus\nIn development\nDomain\nCommerce · Operations\nProject size\nLarge\nStack\nJavaScript with types: mistakes surface while we build, not after launch. Official site\nThe backend framework behind our APIs: structured, testable, and built to grow. Official site\nA widely used relational database, dependable for the high-volume catalog work we run through it. Official site\nThe commerce platform we publish catalogs to, so the storefront stays standard and the work sits behind it. Official site\nGoogle's AI model. We use it as a second opinion on supplier data, after our own checks have run. Official site\nMore projects\nSee another one\nClient work\nHospindex & Carehomesindex\nThe annual reference works for Belgian hospitals and residential care, kept current by the organisations themselves and exported straight to print.\nRead more\nClient work\nZORG Magazine\nThe trade magazine for care leaders, online: news filtered by sector and theme, events, subscriptions, and articles behind a member login.\nRead more\nClient work\nOn Wheels\nThe accessibility app that maps what a doorway actually looks like, and the platform cities use to act on it.\nRead more\nBack to projects\nWant something like this?\nTell us what you want to build. We'll come back with a clear approach and where to start.\nStart a conversation","contentMode":"full","sections":[]},{"id":"page.projects.hospindex-carehomesindex","locale":"en","kind":"project","canonicalUrl":"https://punfyre.be/en/projects/hospindex-carehomesindex","title":"Hospindex & Carehomesindex","summary":"The annual reference works for Belgian hospitals and residential care, kept current by the organisations themselves and exported straight to print.","text":"Hospindex & Carehomesindex\nThe annual reference works for Belgian hospitals and residential care, kept current by the organisations themselves and exported straight to print.\nAbout this project\nHospindex covers Belgian hospitals, Carehomesindex covers residential elderly care. Both appear every year as a printed reference work, and both used to be assembled the way you would expect: spreadsheets, e-mail, and a lot of chasing.\nWe turned that into a platform the sector maintains itself. Every organisation gets its own login to check and correct its entry, upload its logo, and record how it relates to the groups it belongs to. Advertisers get a separate login and their own rubrics. A validation step lets the editors see, per record, what has been confirmed and what has not, and reminder campaigns go out from the same system.\nThe part that matters most is the least visible: the export. When the edition closes, the whole database leaves as a structured file the printer can lay out directly, and the proofs come back against the same source. That is what turns a year of scattered corrections into a book that ships on time.\nHighlights\nSelf-service logins so organisations maintain their own entry\nSeparate advertiser accounts with their own rubrics\nPer-record validation, so editors see what is confirmed\nOne structured export that goes straight into the printed edition\nRunning edition after edition, year on year\nAt a glance\nType\nClient work\nStatus\nLive\nDomain\nCare · Operations · Marketing\nProject size\nLarge\nStack\nA hosting platform that runs an application without us maintaining the servers under it. Official site\nA structured text format. Here it is the handover between the online database and the printer's layout. Official site\nMore projects\nSee another one\nClient work\nOn Wheels\nThe accessibility app that maps what a doorway actually looks like, and the platform cities use to act on it.\nRead more\nClient work\nMedisch Labo Bruyland\nA rebuilt results server that gives doctors and vets their lab results on any device.\nRead more\nClient work\nVivalyte\nA 200-product LED catalog that keeps itself current: specs, photometrics, and datasheets synced straight from the system the company already runs on.\nRead more\nBack to projects\nWant something like this?\nTell us what you want to build. We'll come back with a clear approach and where to start.\nStart a conversation","contentMode":"full","sections":[]},{"id":"page.projects.image-pipeline","locale":"en","kind":"project","canonicalUrl":"https://punfyre.be/en/projects/image-pipeline","title":"Image pipeline","summary":"Our own image optimizer: modern formats at the right size for the screen asking, with no third party in between.","text":"Image pipeline\nOur own image optimizer: modern formats at the right size for the screen asking, with no third party in between.\nAbout this project\nImages are where most websites quietly lose their speed, and the usual fix is to hand your visitors' traffic to an image service somewhere else. We would rather not, so we built the piece ourselves.\nA picture is resized to the sizes actually used and re-encoded to modern formats, and the browser is handed the set so it can pick what fits its screen. On a server-rendered site that happens through our own endpoint; on a static one the variants are baked at build time. Same code either way, so a site does not need a different approach because of how it is deployed.\nIt is a small piece of infrastructure with an outsized effect, and it runs on every site we ship. The photographs on this page went through it on the way to you.\nHighlights\nModern formats and the right size for the screen that asked\nNo third-party image service in front of our visitors\nOne approach for server-rendered and static sites alike\nRunning on every site we ship, including this one\nAt a glance\nType\nBehind the scenes\nStatus\nLive\nDomain\nOperations · Marketing\nProject size\nSmall\nStack\nThe image processor behind our sites: it resizes and re-encodes pictures before a visitor ever asks.\nThe web framework behind our sites: fast pages that ship almost no JavaScript by default. Official site\nJavaScript with types: mistakes surface while we build, not after launch. Official site\nMore projects\nSee another one\nBehind the scenes\nFlic Presser\nA four-button dock connecting TypeScript control to physical presses, with a custom enclosure, servo fingers and firmware.\nRead more\nBehind the scenes\nDocumentation that checks itself\nA tool that compares our documentation against the code it describes, so out-of-date pages get caught instead of quietly misleading the next person.\nRead more\nBehind the scenes\nForge simulations\nRealistic data and ongoing activity to test and demonstrate software.\nRead more\nBack to projects\nWant something like this?\nTell us what you want to build. We'll come back with a clear approach and where to start.\nStart a conversation","contentMode":"full","sections":[]},{"id":"page.projects.medisch-labo-bruyland","locale":"en","kind":"project","canonicalUrl":"https://punfyre.be/en/projects/medisch-labo-bruyland","title":"Medisch Labo Bruyland","summary":"A rebuilt results server that gives doctors and vets their lab results on any device.","text":"Medisch Labo Bruyland\nA rebuilt results server that gives doctors and vets their lab results on any device.\nAbout this project\nMedisch Labo Bruyland ran a results server that had to move to friendlier, newer technology. Their owners came to us for a solution built around how the lab actually works.\nWe worked closely with the laboratory to understand their specific needs, then built an online application that meets them: a results server on desktop and mobile alike, so the doctors and vets they work with reach blood results and other test results easily. It removes a lot of manual data entry, which saves time and reduces the risk of mistakes.\nSince the new results server went in, the lab has seen a clear improvement in its workflow and in how satisfied its customers are.\nHighlights\nLab results available on desktop and mobile alike\nBuilt for the doctors and vets the lab works with\nMuch less manual data entry, so fewer mistakes\nMore electronic requests, and faster turnaround in the lab\nThanks to the renewed results server we notice that more doctors are requesting electronically, which results in faster turnaround times in the lab. We get a lot of feedback from customers who are very happy with the intuitive and comprehensive results server. Karen Bruyland Medisch Labo Bruyland\nAt a glance\nType\nClient work\nStatus\nLive\nDomain\nCare · Operations\nProject size\nLarge\nStack\nJavaScript with types: mistakes surface while we build, not after launch. Official site\nVisit their website\nMore projects\nSee another one\nClient work\nWit-Gele Kruis East Flanders\nA care-request website that lets doctors, health funds, and hospitals arrange home nursing in a few clicks.\nRead more\nClient work\nHospindex & Carehomesindex\nThe annual reference works for Belgian hospitals and residential care, kept current by the organisations themselves and exported straight to print.\nRead more\nClient work\nVivalyte\nA 200-product LED catalog that keeps itself current: specs, photometrics, and datasheets synced straight from the system the company already runs on.\nRead more\nBack to projects\nWant something like this?\nTell us what you want to build. We'll come back with a clear approach and where to start.\nStart a conversation","contentMode":"full","sections":[]},{"id":"page.projects.office-wallboard","locale":"en","kind":"project","canonicalUrl":"https://punfyre.be/en/projects/office-wallboard","title":"Office wallboard","summary":"Our office heartbeat on the wall: live news, local weather, and platform health, in an enclosure we designed from scratch.","text":"Office wallboard\nOur office heartbeat on the wall: live news, local weather, and platform health, in an enclosure we designed from scratch.\n1 / 6\nAbout this project\nThe wallboard is the ambient heartbeat of our office: one 16:9 screen that always shows what matters right now. Live news from a set of curated feeds, the local weather, and the health of our own platforms and stores, arranged in calm panels with subtle ambient motion instead of blinking alerts. The idea: walk past it and you know how the day is going, without opening a single dashboard.\nIt's also our most physical project. The Raspberry Pi that drives the screen lives in an enclosure we designed ourselves in Blender: a permanent VESA dock on the back of the monitor, a serviceable case with fan cooling and cable clips, and an integrated wide-angle camera cartridge. Every part comes off our own print-ready models.\nThe showcase video on this page comes straight from that design work: it's the actual Blender model of the mount, rendered as a product animation. Small project, full Punfyre treatment: software, hardware, and the design story around it.\nHighlights\nCurated live news feeds, local weather, and platform health in one calm view\nAmbient motion instead of blinking alerts, locked to the 16:9 frame\nSelf-designed Blender enclosure: VESA dock, fan cooling, camera cartridge\nEvery part designed by us, straight from print-ready models\nRuns on a Raspberry Pi, served straight from our own stack\nAt a glance\nType\nBehind the scenes\nStatus\nLive\nDomain\nOperations\nProject size\nSmall\nStack\nThe web framework behind our sites: fast pages that ship almost no JavaScript by default. Official site\nJavaScript with types: mistakes surface while we build, not after launch. Official site\nAn in-memory data store we use for caching and fast, live updates. Official site\nA credit-card-sized computer, sturdy enough to run a display around the clock. Official site\nThe open 3D suite we design and render our hardware models in. Official site\nTurning our own 3D models into physical parts, so a design can be held and tested.\nMore projects\nSee another one\nBehind the scenes\nProject Studio\nWhere a brand becomes a website: colour system, section library, and generated imagery, all resolved from one blueprint.\nRead more\nBehind the scenes\nFlic Presser\nA four-button dock connecting TypeScript control to physical presses, with a custom enclosure, servo fingers and firmware.\nRead more\nBehind the scenes\nForge simulations\nRealistic data and ongoing activity to test and demonstrate software.\nRead more\nBack to projects\nWant something like this?\nTell us what you want to build. We'll come back with a clear approach and where to start.\nStart a conversation","contentMode":"full","sections":[]},{"id":"page.projects.on-wheels","locale":"en","kind":"project","canonicalUrl":"https://punfyre.be/en/projects/on-wheels","title":"On Wheels","summary":"The accessibility app that maps what a doorway actually looks like, and the platform cities use to act on it.","text":"On Wheels\nThe accessibility app that maps what a doorway actually looks like, and the platform cities use to act on it.\n1 / 5\nAbout this project\n\"Is it accessible?\" is not a yes or no question. A ramp that is too steep, a door 5 cm too narrow, a single step at the entrance: each of those decides whether someone can get in, and none of them fit on a checkbox. On Wheels was started by wheelchair users who were tired of finding that out on arrival.\nSo the app records measurements, not verdicts. Door width in centimetres, number of steps, whether there is a ramp or a turning point, opening hours: the things you would want to know before you set out. The map shows what has been measured, the community keeps it current, and roll routes string accessible places into a trip that works end to end.\nWe are On Wheels' long-term development partner and carry the whole platform: the Flutter app on both stores, the API and database behind it, the website, and the management side where cities and municipalities turn the collected data into policy documents. That last part is what makes the measuring worth doing, because it is where a number about a doorway becomes a decision about a street.\nHighlights\nMeasurements instead of verdicts: door width, steps, ramp, turning point\nA community that keeps the map current, city by city\nRoll routes: accessible places strung into a trip that works end to end\nA management side where cities turn the data into policy documents\nOne partner for the app, the API, the website, and the platform\nAt a glance\nType\nClient work\nStatus\nLive\nDomain\nAccessibility · Care\nProject size\nPlatform\nStack\nOne codebase that ships a real app to both the App Store and Google Play.\nThe backend framework behind our APIs: structured, testable, and built to grow. Official site\nJavaScript with types: mistakes surface while we build, not after launch. Official site\nThe battle-tested relational database that keeps data consistent and safe. Official site\nAn in-memory data store we use for caching and fast, live updates. Official site\nVisit the live site\nMore projects\nSee another one\nClient work\nFurniture retailer\nA supplier catalog of thousands of products, synced nightly into a live storefront, with AI-assisted checks catching bad listings first.\nRead more\nClient work\nWit-Gele Kruis East Flanders\nA care-request website that lets doctors, health funds, and hospitals arrange home nursing in a few clicks.\nRead more\nClient work\nWordPress management\nKeeping a portfolio of WordPress sites secure, fast, and up to date for publishers, agencies, retailers, and care organisations.\nRead more\nBack to projects\nWant something like this?\nTell us what you want to build. We'll come back with a clear approach and where to start.\nStart a conversation","contentMode":"full","sections":[]},{"id":"page.projects.project-studio","locale":"en","kind":"project","canonicalUrl":"https://punfyre.be/en/projects/project-studio","title":"Project Studio","summary":"Where a brand becomes a website: colour system, section library, and generated imagery, all resolved from one blueprint.","text":"Project Studio\nWhere a brand becomes a website: colour system, section library, and generated imagery, all resolved from one blueprint.\nAbout this project\nBuilding a site from scratch every time is how agencies stay slow and inconsistent. Project Studio is our answer: one blueprint per brand that holds the colour system, the typography, the section choices, and the page structure, and every surface reads from it rather than repeating it.\nColours are the clearest example. You do not pick a hex code for a button; you fill a small palette and link roles to it, and the studio resolves what every component should use in light and dark alike. Change the palette and the whole site follows, because nothing downstream ever stored a colour of its own.\nImagery goes through the same room. Briefs turn into generated candidates, and instead of arguing over a grid of options we put them head to head, two at a time, and keep what wins. Every generation is metered against a budget, so an afternoon of exploring never turns into a surprise on the invoice.\nHighlights\nOne blueprint per brand, read by every surface instead of copied into it\nA palette with linked roles, resolved automatically for light and dark\nSection library and page presets, so a new page starts sound\nHead-to-head picking of generated imagery instead of endless grids\nEvery generation metered against a budget before it runs\nAt a glance\nType\nBehind the scenes\nStatus\nLive\nDomain\nOperations · Marketing\nProject size\nLarge\nStack\nThe web framework behind our sites: fast pages that ship almost no JavaScript by default. Official site\nJavaScript with types: mistakes surface while we build, not after launch. Official site\nGoogle's AI model. We use it as a second opinion on supplier data, after our own checks have run. Official site\nMore projects\nSee another one\nBehind the scenes\nImage pipeline\nOur own image optimizer: modern formats at the right size for the screen asking, with no third party in between.\nRead more\nBehind the scenes\nFlic Presser\nA four-button dock connecting TypeScript control to physical presses, with a custom enclosure, servo fingers and firmware.\nRead more\nBehind the scenes\nUptime monitoring\nEvery site and service we run, watched around the clock from one git-backed inventory, with its own status page per customer.\nRead more\nBack to projects\nWant something like this?\nTell us what you want to build. We'll come back with a clear approach and where to start.\nStart a conversation","contentMode":"full","sections":[]},{"id":"page.projects.routeez","locale":"en","kind":"project","canonicalUrl":"https://punfyre.be/en/projects/routeez","title":"Routeez","summary":"Care coordination shaped around real schedules, routes, and teams. Our own care planning product, and an honest look at where it stands.","text":"Routeez\nCare, routed efficiently: less time on the road and more time for care.\nAbout this project\nRouteez brings planning, availability, assignment, and routing together for mobile care and service work. It proposes workable schedules and routes while the planner confirms, adjusts, and stays in control.\nRouteez is being introduced step by step through focused discovery and bounded early-access pilots. Each pilot is evaluated before both sides decide whether to expand, adjust, or stop.\nVisit the product page\nAt a glance\nType\nProducts\nStatus\nEarly access\nDomain\nCare · Operations\nProject size\nLarge\nStack\nJavaScript with types: mistakes surface while we build, not after launch. Official site\nThe backend framework behind our APIs: structured, testable, and built to grow. Official site\nVisit Routeez\nMore projects\nSee another one\nProducts\nAlarmira\nPersonal safety that feels dependable, never cold security theater.\nRead more\nClient work\nHospindex & Carehomesindex\nThe annual reference works for Belgian hospitals and residential care, kept current by the organisations themselves and exported straight to print.\nRead more\nClient work\nWordPress management\nKeeping a portfolio of WordPress sites secure, fast, and up to date for publishers, agencies, retailers, and care organisations.\nRead more\nBack to projects\nWant something like this?\nTell us what you want to build. We'll come back with a clear approach and where to start.\nStart a conversation","contentMode":"full","sections":[]},{"id":"page.projects.travel-insurance-flows","locale":"en","kind":"project","canonicalUrl":"https://punfyre.be/en/projects/travel-insurance-flows","title":"Travel insurance group","summary":"Custom flows on a hosted site builder: a needs analysis for travel agents and an application flow for travellers, in two languages.","text":"Travel insurance group\nCustom flows on a hosted site builder: a needs analysis for travel agents and an application flow for travellers, in two languages.\nAnonymous client project\nAbout this project\nA travel and assistance insurer, part of an international travel group, sells through a network of travel agencies. Their site was built on a hosted site builder, and the question was whether real insurance flows could live on top of it. They can, but only if you write the logic yourself.\nThere are two audiences and two flows. Travel agents run a needs analysis that walks them through the questions that decide which cover fits, so they advise consistently across the whole network. Travellers go through an application flow of their own. Both end on the same document set, so what the agent sees, what the customer signs, and what the confirmation e-mail says cannot drift apart.\nThe part nobody sees is the mail. Confirmations for an insurance contract cannot look like they came from a website builder, so we built a transactional e-mail layer on top: our own sending domain, our own templates, and separate wording for agents and private customers. Policy documents are checked against what is actually published on the live site, in both Dutch and French, so the terms in the mail are the terms on the page.\nHighlights\nA guided needs analysis so a whole agency network advises the same way\nA separate application flow for travellers themselves\nTransactional e-mail on our own sending domain, not the builder's\nPolicy documents verified against what is live, in Dutch and French\nAt a glance\nType\nClient work\nStatus\nLive\nDomain\nCompliance · Operations\nProject size\nLarge\nStack\nA hosted site builder. We write custom code on top of it so flows and emails behave the way the business needs. Official site\nA European mail-sending service, so transactional e-mail lands in inboxes instead of spam folders. Official site\nMore projects\nSee another one\nClient work\nWit-Gele Kruis East Flanders\nA care-request website that lets doctors, health funds, and hospitals arrange home nursing in a few clicks.\nRead more\nClient work\nVivalyte\nA 200-product LED catalog that keeps itself current: specs, photometrics, and datasheets synced straight from the system the company already runs on.\nRead more\nClient work\nZORG Magazine\nThe trade magazine for care leaders, online: news filtered by sector and theme, events, subscriptions, and articles behind a member login.\nRead more\nBack to projects\nWant something like this?\nTell us what you want to build. We'll come back with a clear approach and where to start.\nStart a conversation","contentMode":"full","sections":[]},{"id":"page.projects.uptime-monitoring","locale":"en","kind":"project","canonicalUrl":"https://punfyre.be/en/projects/uptime-monitoring","title":"Uptime monitoring","summary":"Every site and service we run, watched around the clock from one git-backed inventory, with its own status page per customer.","text":"Uptime monitoring\nEvery site and service we run, watched around the clock from one git-backed inventory, with its own status page per customer.\nAbout this project\nIf you run software for other people, you should find out it is down before they do. We watch well over a hundred checks across everything we operate: our own products, the storefronts, and every customer site we look after.\nThe unusual part is that none of it is clicked together in a dashboard. The full inventory lives in our repository as reviewed files: which accounts exist, what each monitor checks, and which of them may appear on a public status page. A command reconciles that file with the live monitoring system, so a change is a reviewed commit rather than someone's afternoon in a settings screen, and nothing silently drifts.\nNew hosts are picked up automatically and parked as candidates until someone confirms them, so growth does not quietly go unwatched. And because not everything worth checking is exposed to the internet, the monitoring host joins a private network of its own: we can watch things behind a customer's firewall without putting them on the open web to do it.\nHighlights\nWell over a hundred checks across products, storefronts, and customer sites\nThe whole inventory reviewed in git, then reconciled onto the live system\nA status page per customer, with monitors explicitly marked public or internal\nNew hosts discovered automatically and held as candidates until confirmed\nA private network so services behind a firewall can be watched too\nAt a glance\nType\nBehind the scenes\nStatus\nLive\nDomain\nOperations\nProject size\nLarge\nStack\nThe open-source monitor that checks whether a site or service is actually answering.\nJavaScript with types: mistakes surface while we build, not after launch. Official site\nPackaging that makes a service run the same way on our machines as on the server.\nA private network between our machines, so we can check services that are not open to the internet.\nMore projects\nSee another one\nBehind the scenes\nForge simulations\nRealistic data and ongoing activity to test and demonstrate software.\nRead more\nBehind the scenes\nImage pipeline\nOur own image optimizer: modern formats at the right size for the screen asking, with no third party in between.\nRead more\nBehind the scenes\nDocumentation that checks itself\nA tool that compares our documentation against the code it describes, so out-of-date pages get caught instead of quietly misleading the next person.\nRead more\nBack to projects\nWant something like this?\nTell us what you want to build. We'll come back with a clear approach and where to start.\nStart a conversation","contentMode":"full","sections":[]},{"id":"page.projects.vivalyte","locale":"en","kind":"project","canonicalUrl":"https://punfyre.be/en/projects/vivalyte","title":"Vivalyte","summary":"A 200-product LED catalog that keeps itself current: specs, photometrics, and datasheets synced straight from the system the company already runs on.","text":"Vivalyte\nA 200-product LED catalog that keeps itself current: specs, photometrics, and datasheets synced straight from the system the company already runs on.\n1 / 3\nAbout this project\nVivalyte sells LED technology, which means a catalog that is mostly numbers: beam angles, luminous flux, CRI, IP ratings, cut lengths, operating temperatures. Over two hundred products, each with variants, and every figure has to match what the factory can actually build.\nSo nobody retypes any of it. The catalog syncs over an API with the product information system the company already runs on, which stays the single place data is maintained. Specifications, variants, and the documents that belong to them arrive on the site as they are, and the buildable combinations shown in the configurator are the ones the source data says exist.\nLighting professionals need more than a photo. Every product carries its datasheets, compliance documents, and installation manuals as PDFs, plus the IES and LDT files a lighting designer loads into their own software, and we render the photometric data as a polar diagram on the page so the beam shape can be read at a glance instead of downloaded first.\nAll of that arrives as source material, not as web assets. Images come in at whatever size the factory supplied and are resized and re-encoded to modern formats on the way through, and documents are checked and served rather than dumped in a folder, so a catalog this heavy still loads like a light one.\nHighlights\nOver 200 products with variants, faceted by category and specification\nSynced over an API with the system where product data is maintained\nPhotometric data drawn as a polar diagram, with IES and LDT downloads\nDatasheets, compliance documents, and manuals attached per product\nA configurator that only offers combinations that can actually be built\nSupplier imagery resized and re-encoded on the way in, so pages stay quick\nAt a glance\nType\nClient work\nStatus\nIn development\nDomain\nCommerce · Operations\nProject size\nPlatform\nStack\nThe web framework behind our sites: fast pages that ship almost no JavaScript by default. Official site\nThe backend framework behind our APIs: structured, testable, and built to grow. Official site\nJavaScript with types: mistakes surface while we build, not after launch. Official site\nThe image processor behind our sites: it resizes and re-encodes pictures before a visitor ever asks.\nVisit the live site\nMore projects\nSee another one\nClient work\nTravel insurance group\nCustom flows on a hosted site builder: a needs analysis for travel agents and an application flow for travellers, in two languages.\nRead more\nClient work\nMedisch Labo Bruyland\nA rebuilt results server that gives doctors and vets their lab results on any device.\nRead more\nClient work\nFurniture retailer\nA supplier catalog of thousands of products, synced nightly into a live storefront, with AI-assisted checks catching bad listings first.\nRead more\nBack to projects\nWant something like this?\nTell us what you want to build. We'll come back with a clear approach and where to start.\nStart a conversation","contentMode":"full","sections":[]},{"id":"page.projects.wit-gele-kruis","locale":"en","kind":"project","canonicalUrl":"https://punfyre.be/en/projects/wit-gele-kruis","title":"Wit-Gele Kruis East Flanders","summary":"A care-request website that lets doctors, health funds, and hospitals arrange home nursing in a few clicks.","text":"Wit-Gele Kruis East Flanders\nA care-request website that lets doctors, health funds, and hospitals arrange home nursing in a few clicks.\n1 / 4\nAbout this project\nReferring doctors, health funds, and hospitals used to arrange home nursing by phone. Together with Wit-Gele Kruis East Flanders we built a secured care-request website where they submit a request digitally instead, for the patients and clients in their care.\nWit-Gele Kruis set out the requirements, we filled in the rest, and a weekly working group kept us close to the ball for a few months. Three months in, the site went live, and requests now arrive complete instead of over the phone.\nThe collaboration didn't stop at launch: we keep refining the site together as usage grows and feedback comes in.\nHighlights\nDigital home-nursing requests for doctors, health funds, and hospitals\nSecured website, live three months after the first working group\nComplete, correctly filled-in requests instead of phone calls\nBuilt in a weekly working-group rhythm with their care team\nThe service was very personal, we always got quick answers, and Punfyre genuinely took into account what mattered to us. Everyone is helped faster through the website, and that is real added value for us. Peter Rasschaert Director of Care, Wit-Gele Kruis East Flanders\nAt a glance\nType\nClient work\nStatus\nLive\nDomain\nCare · Operations\nProject size\nLarge\nStack\nJavaScript with types: mistakes surface while we build, not after launch. Official site\nVisit their website\nMore projects\nSee another one\nClient work\nVivalyte\nA 200-product LED catalog that keeps itself current: specs, photometrics, and datasheets synced straight from the system the company already runs on.\nRead more\nClient work\nMedisch Labo Bruyland\nA rebuilt results server that gives doctors and vets their lab results on any device.\nRead more\nClient work\nWordPress management\nKeeping a portfolio of WordPress sites secure, fast, and up to date for publishers, agencies, retailers, and care organisations.\nRead more\nBack to projects\nWant something like this?\nTell us what you want to build. We'll come back with a clear approach and where to start.\nStart a conversation","contentMode":"full","sections":[]},{"id":"page.projects.wordpress-care","locale":"en","kind":"project","canonicalUrl":"https://punfyre.be/en/projects/wordpress-care","title":"WordPress management","summary":"Keeping a portfolio of WordPress sites secure, fast, and up to date for publishers, agencies, retailers, and care organisations.","text":"WordPress management\nKeeping a portfolio of WordPress sites secure, fast, and up to date for publishers, agencies, retailers, and care organisations.\nAbout this project\nA WordPress site is easy to launch and easy to neglect. We look after a portfolio of them across very different organisations: trade publishers, staffing groups, an architecture practice, retailers, and care initiatives. Some we built, some we inherited, and all of them keep running because somebody watches them.\nIn practice that is core and plugin updates that do not break the site, security monitoring with alerting when something tries the login page, caching and performance work so pages stay quick, and the unglamorous plumbing underneath: domains, DNS, mail delivery, certificates, and processing agreements with the hosting parties.\nWhen something does go down, there is one number to call and a person who already knows the setup. We also wrote a plain-language WordPress manual for the people who publish on these sites, because the fastest support is the request that never has to be made.\nHighlights\nCore and plugin updates handled before they become incidents\nSecurity monitoring with alerting on suspicious activity\nCaching and performance work to keep pages quick\nDomains, DNS, mail delivery, and certificates included\nA plain-language manual so editors can publish without us\nAt a glance\nType\nClient work\nStatus\nLive\nDomain\nMarketing · Operations\nProject size\nMedium\nStack\nThe publishing platform behind many editorial sites: familiar to editors, and ours to keep secure and fast. Official site\nMore projects\nSee another one\nClient work\nTravel insurance group\nCustom flows on a hosted site builder: a needs analysis for travel agents and an application flow for travellers, in two languages.\nRead more\nClient work\nMedisch Labo Bruyland\nA rebuilt results server that gives doctors and vets their lab results on any device.\nRead more\nClient work\nHospindex & Carehomesindex\nThe annual reference works for Belgian hospitals and residential care, kept current by the organisations themselves and exported straight to print.\nRead more\nBack to projects\nWant something like this?\nTell us what you want to build. We'll come back with a clear approach and where to start.\nStart a conversation","contentMode":"full","sections":[]},{"id":"page.projects.zorg-magazine","locale":"en","kind":"project","canonicalUrl":"https://punfyre.be/en/projects/zorg-magazine","title":"ZORG Magazine","summary":"The trade magazine for care leaders, online: news filtered by sector and theme, events, subscriptions, and articles behind a member login.","text":"ZORG Magazine\nThe trade magazine for care leaders, online: news filtered by sector and theme, events, subscriptions, and articles behind a member login.\n1 / 3\nAbout this project\nZORG Magazine is the Belgian trade magazine for people who lead care organisations. Its publisher asked us to bring the whole thing online: not a brochure site, but the newsroom itself, with the reach and the advertising model that pay for it.\nWe started from how their readers actually search. Articles are filtered by sector, theme, and reportage, events sit on a calendar of their own, and the newsletter is woven through the pages rather than parked in a corner. Advertising is tied to the article tags, so a hospital campaign lands next to hospital coverage instead of anywhere at all.\nSubscribers get more than visitors do: articles open on a preview and continue behind a member login, which is what makes a paid trade title work online. The site has been running and evolving with the publisher ever since, alongside the other titles they run.\nHighlights\nNews filtered by sector, theme, and reportage\nAdvertising tied to article tags, not to random slots\nPreview-then-subscribe articles behind a member login\nEvents calendar and newsletter built into the reading flow\nAt a glance\nType\nClient work\nStatus\nLive\nDomain\nCare · Marketing\nProject size\nLarge\nStack\nThe publishing platform behind many editorial sites: familiar to editors, and ours to keep secure and fast. Official site\nVisit the live site\nMore projects\nSee another one\nClient work\nVivalyte\nA 200-product LED catalog that keeps itself current: specs, photometrics, and datasheets synced straight from the system the company already runs on.\nRead more\nClient work\nMedisch Labo Bruyland\nA rebuilt results server that gives doctors and vets their lab results on any device.\nRead more\nClient work\nWordPress management\nKeeping a portfolio of WordPress sites secure, fast, and up to date for publishers, agencies, retailers, and care organisations.\nRead more\nBack to projects\nWant something like this?\nTell us what you want to build. We'll come back with a clear approach and where to start.\nStart a conversation","contentMode":"full","sections":[]},{"id":"page.returns","locale":"en","kind":"page","canonicalUrl":"https://punfyre.be/en/returns","title":"Returns and guarantee","summary":"What you can send back and by when, what applies to personalised work, subscriptions and digital content, and what to do if a delivery arrives wrong.","text":"Legal\nReturns and guarantee\nThis page explains what you can send back and by when, what applies to personalised work, subscriptions and digital content, and what to do when a delivery arrives damaged or wrong.\nLast updated: 30 July 2026\nIn short\nAs a consumer you get 14 days to change your mind.\nMade-to-order and printed work is excluded.\nDamaged or wrong deliveries we always put right.\nThe 2-year legal guarantee applies on top.\nOne email to support@punfyre.be starts a return.\nA reading aid. What is below is what applies.\nWhat this page covers\nThis page explains how returns, withdrawal and guarantees work at Punfyre BV and for everything we sell under our own name: our webshops, our products, and the devices, subscriptions and digital content that come with them.\nIt belongs with our terms and conditions and works them out in more detail. Where a product-specific document or a signed agreement describes its own returns procedure, follow that one. Such a document can only make exercising your rights easier, never harder.\nIf you are a consumer, the statutory rights below apply regardless, even if something else was agreed. If you buy as a business, the rules under Business customers apply.\nWhat applies to which type of purchase\nWhat you can send back depends on what you bought. This overview is a reading aid; the articles after it explain each case.\nPhysical goods\n14 days of withdrawal from receipt, plus a 2-year legal guarantee.\nPersonalised or print on demand\nNo right of withdrawal, because it is made specifically for you. We do fix errors and defects.\nSubscription without delivery\n14 days of withdrawal from the order. After that you stop it by cancelling.\nSubscription with recurring deliveries\nWithdrawal applies to the first delivery. Later ones stop when you cancel.\nDigital content and downloads\nWithdrawal ends once the download or stream starts with your consent.\nSoftware, apps and licences\nWithdrawal applies as long as you have not put the licence to use.\nServices and custom work\n14 days of withdrawal, ending once the service is fully performed at your request.\nDevice with a subscription\nThe device follows the rules for physical goods, the subscription those for subscriptions.\n14-day right of withdrawal\nIf you buy from us at a distance as a consumer, for example through a webshop or an app, you may change your mind within 14 days. You do not need to give a reason and you pay no penalty.\nWhen the period starts\nFor goods\nFrom the day you, or someone you designate, receives the goods\nFor an order in several shipments\nFrom the day you receive the last part\nFor recurring deliveries of the same goods\nFrom the day you receive the first delivery\nFor services, subscriptions and digital content without a carrier\nFrom the day the contract is concluded\nHow to withdraw\nA plain email to support@punfyre.be is enough. State clearly that you are withdrawing and include your order number, so we can find your file straight away. A letter or the statutory model form is fine too, but neither is required, and registered post is never necessary.\nYou are in time as long as you send your message before the 14 days are up. We confirm receipt, so you have proof.\nSending it back: deadline and costs\nAfter your message, send the goods back without undue delay and in any case within 14 days. Wait for our return instructions, because they tell you which address the shipment should go to.\nWe include a return label with the return instructions. Use that label and sending it back costs you nothing. If you would rather pick a different carrier or shipping method, that is fine, but then the cost is yours. If you are sending back something that arrived damaged, wrong or defective, we cover the return either way.\nRefunds\nWe refund everything you paid, including the cost of a standard delivery, within 14 days of receiving your withdrawal. If you chose a more expensive delivery method at checkout, we refund the amount of the standard delivery.\nWe use the same payment method as your purchase, unless we agree otherwise. A refund never costs you anything. For goods, we may wait to refund until we have the shipment back or until you show that you sent it, whichever happens first.\nThe condition goods must come back in\nYou may unpack an item and assess it as you would in a shop: look at it, try it on, test it. If you go further than that and the item loses value as a result, we may reduce the refund by that loss in value.\nWhere possible, send the whole thing back: the item itself, the accessories, the manuals and the original packaging. We may deduct for missing parts.\nModel withdrawal form\nYou do not have to use this form: a plain email with the same content is just as valid. We include it because the law requires us to make it available, and because it helps if you would rather follow a set format. Fill it in and send it to support@punfyre.be.\nTo\nPunfyre BV, Vlamingstraat 4, 8560 Wevelgem, Belgium, support@punfyre.be\nDeclaration\nI hereby give notice that I withdraw from our contract for the sale of the following goods or the supply of the following service:\nOrdered on / received on\n…\nConsumer name\n…\nConsumer address\n…\nOrder number\n…\nDate\n…\nSignature\nOnly needed if you send this form on paper\nWhen the right of withdrawal does not apply\nBelgian law provides a number of exceptions. The right of withdrawal does not apply, among others:\nTo goods made to your specifications or clearly personalised, including print on demand\nTo sealed goods that cannot be returned for health protection or hygiene reasons, once the seal is broken\nTo goods that by their nature become inseparably mixed with other items after delivery\nTo digital content without a physical carrier, once performance has started with your express consent and your acknowledgement that you thereby lose the right\nTo sealed audio, video or software recordings whose seal has been broken\nTo a service fully performed at your express prior request, where you acknowledged that you lose the right once it is fully performed\nTo goods whose price depends on fluctuations in a financial market beyond our control\nEven without a right of withdrawal you always keep your rights when something is damaged, wrong or defective. Those are set out below under the legal guarantee.\nPersonalised items and print on demand\nSome items only exist after you order them: a custom print, an engraved or printed piece, a text or image you supply, or a combination you put together yourself. Because we cannot sell those to anyone else, there is no right of withdrawal.\nThat changes nothing else. If the item is damaged, differs from what you approved, or has a production fault in the print or the finish, we resolve it like any other item: repair, replacement or refund.\nWhere we work with a digital proof, your approval is the point at which production starts. So do take a moment with it, because a spelling mistake or a low image resolution in your own file does not count as a production fault.\nSubscriptions\nSubscriptions without physical delivery\nFor a subscription that only gives access, for example to an app or an online service, you have 14 days of withdrawal from the conclusion of the contract. If you expressly asked us to start immediately, on withdrawal you pay for the part you have already used.\nSubscriptions with recurring deliveries\nIf goods are sent to you periodically, the 14-day right of withdrawal applies to the first delivery, counted from the day you receive it. Later deliveries are not stopped by a withdrawal, but by cancelling the subscription.\nWhen you cancel, we stop the next shipment that has not yet been prepared. A shipment already on its way follows the ordinary rules for physical goods.\nCancelling is not the same as withdrawing\nWithdrawing means going back on the purchase itself within 14 days. Cancelling means stopping a running subscription for the future. The term, the notice period and how to cancel are set out in the order process and in the product-specific document.\nIf a subscription renews automatically, we tell you before the renewal how to stop it. As a consumer you always keep the cancellation rights Belgian law gives you, including the right to end a tacitly renewed open-ended contract.\nDigital content, downloads, software and apps\nFor digital content you download or stream, we ask for your express consent before delivery starts, together with your acknowledgement that you lose the right of withdrawal once it begins. If you do not give that consent, delivery waits until the 14 days have passed.\nFor a licence to software or an app, the same applies once you activate the licence or put the software to use. As long as you have not, you can simply withdraw within 14 days.\nIf digital content does not work as described, you are entitled to a solution. That is separate from the right of withdrawal and does not lapse after 14 days.\nServices and custom work\nFor consultancy, development and other services, as a consumer you have 14 days of withdrawal from the conclusion of the contract. If you expressly ask us to start within that period, on withdrawal you pay for the part we have already performed, in proportion to the whole.\nIf the service has been fully performed at your express request before the period ends, and you acknowledged that you thereby lose the right, you can no longer withdraw.\nFor projects with a quotation or a signed agreement, that document governs delivery, acceptance and termination.\nDamaged, wrong or missing on arrival\nIt is worth looking over your shipment when it arrives. If there is visible transport damage, something is missing or you received the wrong item, report it promptly at support@punfyre.be with your order number, a short description and photos where you can. Those photos let us settle it with the carrier straight away.\nThis costs you nothing. We send the right item, repair or replace the damaged one, or refund you if you prefer. The cost of returning it is ours in this case.\nAs a consumer, reporting late does not affect your legal guarantee. It does make it harder for us to hold the carrier to account, so reporting quickly helps.\nLegal guarantee: if something breaks later\nOn top of the right of withdrawal, as a consumer you have a 2-year legal guarantee of conformity from delivery. The goods must match what we described, be fit for their normal use and have the quality you may reasonably expect. This guarantee is free and comes on top of any commercial warranty.\nIf there is a defect, you can first ask for repair or replacement. If that is impossible, disproportionate or unsuccessful, or if the defect is serious, you can ask for a price reduction or for the contract to be dissolved. Report the defect within a reasonable period after you discover it at support@punfyre.be. Where the complaint is founded, we bear the return costs.\nIf it is not an ordinary defect but a safety problem, the product safety and recalls provisions in our terms apply. In a recall we always pay for the return.\nNormal wear, damage from misuse, from an accident or from a modification you carried out yourself, and consumable parts such as a battery reaching the end of its normal life, are not a lack of conformity.\nDevices that come with a subscription\nIf you receive a device together with a subscription, we treat the two separately. The device follows the rules for physical goods, the subscription those for subscriptions.\nIf you withdraw from the whole within 14 days, you return the device under the rules above and the subscription ends. Where the device stays Punfyre's property for the duration of the subscription, you return it after it ends or is cancelled, in the condition normal use would leave it in. We then tell you where and by when.\nBusiness customers\nThe right of withdrawal is a consumer right. If you buy as a business, for purposes within your professional activity, it does not apply.\nThat does not leave you stuck with a problem. We resolve damaged, wrong or defective deliveries, and what we agree on that is set out in the quotation, the product-specific document or the signed agreement. Report visible defects on receipt, and hidden defects within a reasonable period after you discover them.\nStarting a return\nEverything runs through support@punfyre.be. One email is enough, and we send you the return instructions with the right address.\nInclude your order number or the email address you ordered with\nSay which item it concerns and whether you want to withdraw, exchange or report a defect\nAdd photos for damage, a wrong item or a visible defect\nWait for our instructions and the return label before sending anything\nOur return label is tracked, so there is nothing extra to arrange. If you use your own carrier, it is best to send with tracking and to keep your proof of postage: if a parcel goes missing in transit, that proof lets us resolve it in your favour.\nComplaints and disputes\nIf a return does not go as it should, tell us first at legal@punfyre.be. We confirm your complaint and come back with a substantive answer within a reasonable period.\nIf we cannot agree and you are a consumer, you can turn to an out-of-court dispute resolution body before going to court:\nConsumer Mediation Service (Belgium)\nEuropean ODR platform\nContact and changes\nSeller\nPunfyre BV, Vlamingstraat 4, 8560 Wevelgem, Belgium\nCompany number\nKBO 0749.930.853, RPR Ghent, Kortrijk division\nVAT number\nBE 0749.930.853\nReturns and guarantee\nsupport@punfyre.be\nComplaints and legal questions\nlegal@punfyre.be\nPost\nPunfyre BV, Vlamingstraat 4, 8560 Wevelgem, Belgium\nIf we change this page, you will see it in the date at the top. For an order, the version in force at the time of your purchase applies.\nBelgian law applies to this page and to the returns it describes. The full provisions on governing law and competent courts are in our terms and conditions.\nContact\nQuestions about a return?\nNot sure whether something can go back, or is something wrong with a shipment? Ask before you send anything, and we will send you the right instructions.\nNot sure?\nUnsure where your question belongs? Send it here and we will sort it out.\nsupport@punfyre.be\nLegal and contracts\nQuestions about these documents, contracts, invoices or formal notices.\nlegal@punfyre.be\nPrivacy and your data\nAccess, correction or deletion of your data, and any other privacy question.\nprivacy@punfyre.be","contentMode":"full","sections":[{"id":"what-this-page-covers-h","heading":"What this page covers","text":"This page explains how returns, withdrawal and guarantees work at Punfyre BV and for everything we sell under our own name: our webshops, our products, and the devices, subscriptions and digital content that come with them.\nIt belongs with our terms and conditions and works them out in more detail. Where a product-specific document or a signed agreement describes its own returns procedure, follow that one. Such a document can only make exercising your rights easier, never harder.\nIf you are a consumer, the statutory rights below apply regardless, even if something else was agreed. If you buy as a business, the rules under Business customers apply."},{"id":"by-type-of-purchase-h","heading":"What applies to which type of purchase","text":"What you can send back depends on what you bought. This overview is a reading aid; the articles after it explain each case.\nPhysical goods\n14 days of withdrawal from receipt, plus a 2-year legal guarantee.\nPersonalised or print on demand\nNo right of withdrawal, because it is made specifically for you. We do fix errors and defects.\nSubscription without delivery\n14 days of withdrawal from the order. After that you stop it by cancelling.\nSubscription with recurring deliveries\nWithdrawal applies to the first delivery. Later ones stop when you cancel.\nDigital content and downloads\nWithdrawal ends once the download or stream starts with your consent.\nSoftware, apps and licences\nWithdrawal applies as long as you have not put the licence to use.\nServices and custom work\n14 days of withdrawal, ending once the service is fully performed at your request.\nDevice with a subscription\nThe device follows the rules for physical goods, the subscription those for subscriptions."},{"id":"right-of-withdrawal-h","heading":"14-day right of withdrawal","text":"If you buy from us at a distance as a consumer, for example through a webshop or an app, you may change your mind within 14 days. You do not need to give a reason and you pay no penalty."},{"id":"when-the-period-starts-h","heading":"When the period starts","text":"For goods\nFrom the day you, or someone you designate, receives the goods\nFor an order in several shipments\nFrom the day you receive the last part\nFor recurring deliveries of the same goods\nFrom the day you receive the first delivery\nFor services, subscriptions and digital content without a carrier\nFrom the day the contract is concluded"},{"id":"how-to-withdraw-h","heading":"How to withdraw","text":"A plain email to support@punfyre.be is enough. State clearly that you are withdrawing and include your order number, so we can find your file straight away. A letter or the statutory model form is fine too, but neither is required, and registered post is never necessary.\nYou are in time as long as you send your message before the 14 days are up. We confirm receipt, so you have proof."},{"id":"sending-it-back-h","heading":"Sending it back: deadline and costs","text":"After your message, send the goods back without undue delay and in any case within 14 days. Wait for our return instructions, because they tell you which address the shipment should go to.\nWe include a return label with the return instructions. Use that label and sending it back costs you nothing. If you would rather pick a different carrier or shipping method, that is fine, but then the cost is yours. If you are sending back something that arrived damaged, wrong or defective, we cover the return either way."},{"id":"refunds-h","heading":"Refunds","text":"We refund everything you paid, including the cost of a standard delivery, within 14 days of receiving your withdrawal. If you chose a more expensive delivery method at checkout, we refund the amount of the standard delivery.\nWe use the same payment method as your purchase, unless we agree otherwise. A refund never costs you anything. For goods, we may wait to refund until we have the shipment back or until you show that you sent it, whichever happens first."},{"id":"condition-of-the-goods-h","heading":"The condition goods must come back in","text":"You may unpack an item and assess it as you would in a shop: look at it, try it on, test it. If you go further than that and the item loses value as a result, we may reduce the refund by that loss in value.\nWhere possible, send the whole thing back: the item itself, the accessories, the manuals and the original packaging. We may deduct for missing parts."},{"id":"model-withdrawal-form-h","heading":"Model withdrawal form","text":"You do not have to use this form: a plain email with the same content is just as valid. We include it because the law requires us to make it available, and because it helps if you would rather follow a set format. Fill it in and send it to support@punfyre.be.\nTo\nPunfyre BV, Vlamingstraat 4, 8560 Wevelgem, Belgium, support@punfyre.be\nDeclaration\nI hereby give notice that I withdraw from our contract for the sale of the following goods or the supply of the following service:\nOrdered on / received on\n…\nConsumer name\n…\nConsumer address\n…\nOrder number\n…\nDate\n…\nSignature\nOnly needed if you send this form on paper"},{"id":"exceptions-h","heading":"When the right of withdrawal does not apply","text":"Belgian law provides a number of exceptions. The right of withdrawal does not apply, among others:\nTo goods made to your specifications or clearly personalised, including print on demand\nTo sealed goods that cannot be returned for health protection or hygiene reasons, once the seal is broken\nTo goods that by their nature become inseparably mixed with other items after delivery\nTo digital content without a physical carrier, once performance has started with your express consent and your acknowledgement that you thereby lose the right\nTo sealed audio, video or software recordings whose seal has been broken\nTo a service fully performed at your express prior request, where you acknowledged that you lose the right once it is fully performed\nTo goods whose price depends on fluctuations in a financial market beyond our control\nEven without a right of withdrawal you always keep your rights when something is damaged, wrong or defective. Those are set out below under the legal guarantee."},{"id":"personalised-and-print-on-demand-h","heading":"Personalised items and print on demand","text":"Some items only exist after you order them: a custom print, an engraved or printed piece, a text or image you supply, or a combination you put together yourself. Because we cannot sell those to anyone else, there is no right of withdrawal.\nThat changes nothing else. If the item is damaged, differs from what you approved, or has a production fault in the print or the finish, we resolve it like any other item: repair, replacement or refund.\nWhere we work with a digital proof, your approval is the point at which production starts. So do take a moment with it, because a spelling mistake or a low image resolution in your own file does not count as a production fault."},{"id":"subscriptions-h","heading":"Subscriptions","text":""},{"id":"subscriptions-without-delivery-h","heading":"Subscriptions without physical delivery","text":"For a subscription that only gives access, for example to an app or an online service, you have 14 days of withdrawal from the conclusion of the contract. If you expressly asked us to start immediately, on withdrawal you pay for the part you have already used."},{"id":"subscriptions-with-deliveries-h","heading":"Subscriptions with recurring deliveries","text":"If goods are sent to you periodically, the 14-day right of withdrawal applies to the first delivery, counted from the day you receive it. Later deliveries are not stopped by a withdrawal, but by cancelling the subscription.\nWhen you cancel, we stop the next shipment that has not yet been prepared. A shipment already on its way follows the ordinary rules for physical goods."},{"id":"cancelling-is-not-withdrawing-h","heading":"Cancelling is not the same as withdrawing","text":"Withdrawing means going back on the purchase itself within 14 days. Cancelling means stopping a running subscription for the future. The term, the notice period and how to cancel are set out in the order process and in the product-specific document.\nIf a subscription renews automatically, we tell you before the renewal how to stop it. As a consumer you always keep the cancellation rights Belgian law gives you, including the right to end a tacitly renewed open-ended contract."},{"id":"digital-content-and-software-h","heading":"Digital content, downloads, software and apps","text":"For digital content you download or stream, we ask for your express consent before delivery starts, together with your acknowledgement that you lose the right of withdrawal once it begins. If you do not give that consent, delivery waits until the 14 days have passed.\nFor a licence to software or an app, the same applies once you activate the licence or put the software to use. As long as you have not, you can simply withdraw within 14 days.\nIf digital content does not work as described, you are entitled to a solution. That is separate from the right of withdrawal and does not lapse after 14 days."},{"id":"services-and-custom-work-h","heading":"Services and custom work","text":"For consultancy, development and other services, as a consumer you have 14 days of withdrawal from the conclusion of the contract. If you expressly ask us to start within that period, on withdrawal you pay for the part we have already performed, in proportion to the whole.\nIf the service has been fully performed at your express request before the period ends, and you acknowledged that you thereby lose the right, you can no longer withdraw.\nFor projects with a quotation or a signed agreement, that document governs delivery, acceptance and termination."},{"id":"damaged-wrong-or-missing-h","heading":"Damaged, wrong or missing on arrival","text":"It is worth looking over your shipment when it arrives. If there is visible transport damage, something is missing or you received the wrong item, report it promptly at support@punfyre.be with your order number, a short description and photos where you can. Those photos let us settle it with the carrier straight away.\nThis costs you nothing. We send the right item, repair or replace the damaged one, or refund you if you prefer. The cost of returning it is ours in this case.\nAs a consumer, reporting late does not affect your legal guarantee. It does make it harder for us to hold the carrier to account, so reporting quickly helps."},{"id":"legal-guarantee-h","heading":"Legal guarantee: if something breaks later","text":"On top of the right of withdrawal, as a consumer you have a 2-year legal guarantee of conformity from delivery. The goods must match what we described, be fit for their normal use and have the quality you may reasonably expect. This guarantee is free and comes on top of any commercial warranty.\nIf there is a defect, you can first ask for repair or replacement. If that is impossible, disproportionate or unsuccessful, or if the defect is serious, you can ask for a price reduction or for the contract to be dissolved. Report the defect within a reasonable period after you discover it at support@punfyre.be. Where the complaint is founded, we bear the return costs.\nIf it is not an ordinary defect but a safety problem, the product safety and recalls provisions in our terms apply. In a recall we always pay for the return.\nNormal wear, damage from misuse, from an accident or from a modification you carried out yourself, and consumable parts such as a battery reaching the end of its normal life, are not a lack of conformity."},{"id":"devices-with-a-subscription-h","heading":"Devices that come with a subscription","text":"If you receive a device together with a subscription, we treat the two separately. The device follows the rules for physical goods, the subscription those for subscriptions.\nIf you withdraw from the whole within 14 days, you return the device under the rules above and the subscription ends. Where the device stays Punfyre's property for the duration of the subscription, you return it after it ends or is cancelled, in the condition normal use would leave it in. We then tell you where and by when."},{"id":"business-customers-h","heading":"Business customers","text":"The right of withdrawal is a consumer right. If you buy as a business, for purposes within your professional activity, it does not apply.\nThat does not leave you stuck with a problem. We resolve damaged, wrong or defective deliveries, and what we agree on that is set out in the quotation, the product-specific document or the signed agreement. Report visible defects on receipt, and hidden defects within a reasonable period after you discover them."},{"id":"starting-a-return-h","heading":"Starting a return","text":"Everything runs through support@punfyre.be. One email is enough, and we send you the return instructions with the right address.\nInclude your order number or the email address you ordered with\nSay which item it concerns and whether you want to withdraw, exchange or report a defect\nAdd photos for damage, a wrong item or a visible defect\nWait for our instructions and the return label before sending anything\nOur return label is tracked, so there is nothing extra to arrange. If you use your own carrier, it is best to send with tracking and to keep your proof of postage: if a parcel goes missing in transit, that proof lets us resolve it in your favour."},{"id":"complaints-and-disputes-h","heading":"Complaints and disputes","text":"If a return does not go as it should, tell us first at legal@punfyre.be. We confirm your complaint and come back with a substantive answer within a reasonable period.\nIf we cannot agree and you are a consumer, you can turn to an out-of-court dispute resolution body before going to court:\nConsumer Mediation Service (Belgium)\nEuropean ODR platform"},{"id":"contact-and-changes-h","heading":"Contact and changes","text":"Seller\nPunfyre BV, Vlamingstraat 4, 8560 Wevelgem, Belgium\nCompany number\nKBO 0749.930.853, RPR Ghent, Kortrijk division\nVAT number\nBE 0749.930.853\nReturns and guarantee\nsupport@punfyre.be\nComplaints and legal questions\nlegal@punfyre.be\nPost\nPunfyre BV, Vlamingstraat 4, 8560 Wevelgem, Belgium\nIf we change this page, you will see it in the date at the top. For an order, the version in force at the time of your purchase applies.\nBelgian law applies to this page and to the returns it describes. The full provisions on governing law and competent courts are in our terms and conditions.\nContact"},{"id":"pf-legal-contact-h","heading":"Questions about a return?","text":"Not sure whether something can go back, or is something wrong with a shipment? Ask before you send anything, and we will send you the right instructions.\nNot sure?\nUnsure where your question belongs? Send it here and we will sort it out.\nsupport@punfyre.be\nLegal and contracts\nQuestions about these documents, contracts, invoices or formal notices.\nlegal@punfyre.be\nPrivacy and your data\nAccess, correction or deletion of your data, and any other privacy question.\nprivacy@punfyre.be"}]},{"id":"page.services","locale":"en","kind":"collection","canonicalUrl":"https://punfyre.be/en/services","title":"Clear thinking, dependable delivery","summary":"We help you frame the right approach, design the right system, and deliver it with the rigor our own products run on.","text":"Services\nClear thinking, dependable delivery\nWe help you frame the right approach, design the right system, and deliver it with the rigor our own products run on.\nWhat we do\nOne core service, and everything that carries it further\nRapid application development is the heart of it. The other services surround it, from the first honest look to keeping it healthy years on.\nOur core service\nRapid application development\nBespoke software on our proven building blocks. Live sooner, with more budget for what sets you apart.\nLearn more\nFractional CTO\nPart-time technical leadership from Levi, shaped around your organisation and team.\nLearn more\nWebsites that earn trust\nA site that reflects the quality of your work: fast, findable, multilingual and simple to keep current.\nLearn more\nTrainings & workshops\nHands-on sessions for your team, drawn from real projects and free of jargon.\nLearn more\nSupport & evolution\nKeeping software healthy after launch: monitoring, upkeep and steady improvements.\nLearn more\nAdvisory & audits\nAn honest read on your software or architecture: where you stand, and what to tackle first.\nLearn more\nWhen teams come to us\nWhere most projects start\nTeams usually reach out when their software feels patched together, their site no longer reflects their work, or delivery needs more structure.\nSoftware people rely on\nA new product, or a tool your team uses every day, that simply has to work.\nA site that earns trust\nA public site that reflects the quality of your work and earns trust fast.\nDelivery with structure\nA way of shipping that needs more rigor and a steady, predictable cadence.\nHow we work\nHow a project runs\nFrame the problem\nYour context first, so we build the right thing.\nLine up the system\nProduct and tech agree before we speed up.\nDeliver in the open\nYou see the work as it happens.\nHand over something solid\nYou end with a system your team can run.\nPunfyre Forge\nBuilt from proven blocks\nForge is our rapid application development platform. Every project starts from a proven set of in-house modules, so more of your budget goes into what makes your product distinct instead of rebuilding the basics.\nSee what Forge does\nForge\nAuthenticationAccounts and secure sign-in, ready to go.\nAPIsA connected service layer out of the box.\nDataStructured, reliable data management.\nHostingProduction hosting and delivery, handled.\nHave something in mind?\nTell us what you have in mind. We'll come back with a clear approach and where to start.\nStart a conversation","contentMode":"full","sections":[]},{"id":"page.sitemap","locale":"en","kind":"page","canonicalUrl":"https://punfyre.be/en/sitemap","title":"Every page, in one place","summary":"A quick index of the whole site, so you and search engines can find anything fast.","text":"Sitemap\nEvery page, in one place\nA quick index of the whole site, so you and search engines can find anything fast.\nMain pages\nHome\nContact\nSupport\nSearch\nServices\nOverview\nRapid development\nWhat it costs\nFractional CTO\nWebsites\nTrainings\nSupport & evolution\nAdvisory & audits\nProducts\nOverview\nAlarmira\nRouteez\nForge\nBuilt with Forge\nNothing here is maintained by hand. This page reads the site's own catalogue, in all three languages.\nWhat Forge is\nKnowledge\nOverview\nArticles\nDownloads\nTools\nArticles\nWhen software needs to press a real button\nThe quiet work that keeps software healthy\nTechnical debt without stopping delivery\nNot every solution needs AI\nThe first 90 days with a fractional CTO\nShipping software that still works after we hand it over\nWhat does a fractional CTO actually do?\nWhy we work with the door open\nWhy our projects run on a board, not a plan\nA technology roadmap that helps business decisions\nTelling people AI is involved\nAI that helps without quietly taking over\nWhat a software audit actually looks at\nReplacing a legacy system without stopping the business\nSigns your company needs technical leadership\nHow to read a software quote\nThe hidden cost of a fixed-price project\nFractional CTO, advisor or full-time CTO?\nWho owns the software you paid for\nWhen custom software is the wrong choice\nBeyond sample data: software that keeps moving\nStaying agile without losing the long-term view\nWhen the spreadsheet stops being the system\nWhat the cloud actually buys a care organisation\nWhy we never build the basics twice\nWhat AI actually changes in healthcare\nWhy security can't be an afterthought\nBuilding healthcare software that stays calm on a busy day\nBuild care technology with the ward, not just for it\nDesigning software people actually want to use\nSoftware isn't human-friendly until it's accessible\nYour users already know what to fix next\nDownloads\nOverview\nPunfyre brand kit\nBrand backgrounds in 4K\nScope brief template\nChoosing a software partner\nLaunch checklist\nSoftware health check\nResponsible AI assessment\nTools\nOverview\nBrand theme card\nContrast checker\nProject scope estimator\nAI fit check\nPassphrase generator\nLaunch checklist\nSoftware health check\nPartner questions\nProjects\nOverview\nAlarmira\nRouteez\nVivalyte\nWit-Gele Kruis East Flanders\nMedisch Labo Bruyland\nZORG Magazine\nHospindex & Carehomesindex\nWordPress management\nTravel insurance group\nOn Wheels\nFurniture retailer\nFlic Presser\nForge simulations\nOffice wallboard\nUptime monitoring\nProject Studio\nDocumentation that checks itself\nImage pipeline\nCompany\nAbout us\nLevi Van Zele\nInvesting\nAccount\nSign in\nForgot password\nLegal\nOverview\nPrivacy\nProcessors\nTerms\nCookies\nReturns\nSitemap\nDidn't find what you were looking for?\nTell us what you were after. We'll point you straight to it, or write the page that isn't there yet.\nGet in touch","contentMode":"full","sections":[]},{"id":"page.support","locale":"en","kind":"page","canonicalUrl":"https://punfyre.be/en/support","title":"Support","summary":"","text":"Support\n\nsupport@punfyre.be\n\n+32 56 89 38 80","contentMode":"metadata","sections":[]},{"id":"page.support-evolution","locale":"en","kind":"service","canonicalUrl":"https://punfyre.be/en/support-evolution","title":"Support & evolution","summary":"","text":"Support & evolution","contentMode":"metadata","sections":[]},{"id":"page.terms","locale":"en","kind":"page","canonicalUrl":"https://punfyre.be/en/terms","title":"Terms & conditions","summary":"The terms that cover this website and the services and products we offer, what you can expect from us, and when a separate agreement takes precedence.","text":"Legal\nTerms & conditions\nThese terms cover Punfyre BV, this website, and the services and products we offer. If you have a separate agreement with us, or a product has its own terms, those take precedence over what you read here.\nLast updated: 10 September 2026\nIn short\nCovers Punfyre BV, this website and all our products.\nA separate agreement or product terms take precedence.\nAn alarm feature does not replace emergency services: call 112.\nYour consumer rights apply in full.\nNo promise of uninterrupted service; liability is capped.\nBelgian law, courts of Kortrijk.\nA reading aid. What is below is what applies.\nAbout these terms and about us\nThese are the general terms of use of Punfyre BV. They apply to your visit to and use of the website punfyre.be, to the products and services we offer, and to the contact you have with us through those channels. By using our website, creating an account, installing one of our apps or ordering a product or service, you accept these terms. If you do not agree with them, please do not use them.\nPunfyre BV is a Belgian software studio. We build our own products and we take on consultancy and custom development work for clients. You can find our official details below.\nCompany\nPunfyre BV, Vlamingstraat 4, 8560 Wevelgem, Belgium\nCompany number (KBO)\n0749.930.853\nVAT number\nBE 0749.930.853\nRegister of legal entities\nRPR Gent, afdeling Kortrijk\nContact\nlegal@punfyre.be\nAlongside these terms, other documents may apply, such as our privacy policy, our cookie policy and any document that belongs to a specific product. Those documents complement these terms; for anything concerning personal data, the privacy policy prevails.\nScope and which document applies\nPunfyre is a parent company with several products under it, such as Alarmira and Routeez. These terms are the shared baseline for those products, for our website and for our professional services. They are written to stay accurate as our range grows, which is why the product clauses below are worded conditionally: they apply where and to the extent that a product actually offers what is described.\nA product can also have a document of its own: its own service terms, a service description, a product sheet, a subscription annex or an acceptable use policy. Where such a document exists, it is more specific than this one and it prevails on the points it covers.\nIf two documents say different things about the same point, this is the order that applies, from strongest to weakest:\nAn agreement or offer signed or expressly accepted by both parties\nA product-specific document, such as product terms, a service description or a subscription annex\nThese general terms of use\nAny other information we publish, such as a page on the website, a help article or a brochure\nWhere a product-specific document is silent on a point, these terms fill the gap. No lower ranked document can take away rights you have as a consumer under mandatory law.\nDefinitions\nPunfyre\nPunfyre BV, the company behind this website and behind our products, also referred to as we, us or our.\nWebsite\nThe website available at punfyre.be, including all of its pages and components.\nVisitor, user and customer\nA visitor is anyone who consults the website. A user is anyone who uses one of our products or services, with or without an account. A customer is anyone who has a paid or contractual relationship with us. All three are addressed in this text as you, and the same rules apply unless a clause says otherwise.\nConsumer and business customer\nA consumer is a natural person acting for purposes outside their trade, business, craft or profession. A business or professional customer is anyone else, such as companies, self-employed people acting professionally, associations and public bodies. If you buy partly privately and partly professionally, and the professional purpose is not the predominant one, we treat you as a consumer. If you are unsure which category you fall into, ask us before you order. Some clauses apply only to consumers, others only to business customers.\nProduct\nAnything we offer under our own name, such as a website, an app, a platform, a device or a combination of these, including Alarmira and Routeez.\nService\nAnything we perform for you, such as consultancy, custom development, hosting, support, maintenance or monitoring facilitated through a partner.\nSubscription\nA paid or free plan that gives you access to a product or service for a recurring period, where the product offers such a plan.\nDevice\nPhysical hardware that belongs to a product, such as a Bluetooth alarm button, where the product includes hardware.\nContent\nAll texts, images, logos, designs, code, data and other materials shown on or through our website and our products, including material you supply yourself.\nPartner\nA third party we work with to make a product or service possible, such as a licensed security partner, a payment provider, an app store, a hosting provider or a carrier.\nProduct-specific document\nAny document that applies to one product in particular, such as its own terms, a service description, a product sheet, a subscription annex or an acceptable use policy.\nUse of the website\nPurpose and availability\nThe website tells you who we are, what we build and how to reach us, and it may give you access to a product, an account or a form. The content is put together with care, but it may contain errors or outdated information. We may change, add to or remove content at any time, without prior notice.\nYou visit the website with your own equipment and internet connection. You are responsible for the security of your device, your software and your data during that visit. Access to the website itself is free of charge; any costs for your connection or equipment are your own.\nAcceptable use\nUse the website and our products for what they are meant for. The following is never allowed:\nScraping, copying or harvesting the website, a product or its content in an automated way\nAttacking, probing or circumventing our security\nMisusing the forms, for example for spam, phishing or misleading messages\nDisrupting the operation of our systems or placing an unreasonable load on them\nUsing our website or products for unlawful, misleading or harmful purposes, or in a way that infringes someone else's rights\nIf we detect abuse, we may restrict or block access, suspend an account and take further steps.\nForms and communication\nThrough the contact and support forms you can send us a question or request. When you do, please provide correct and complete information so we can properly assess your request. Submitting such a message does not create a client relationship and does not oblige us to accept an assignment or deliver a service.\nWe handle incoming messages by priority. Work for existing customers comes first, and we do not apply a fixed response time. How we handle the personal data you share through a form is described in our privacy policy.\nAccessibility\nWe want our website and our products to be usable by as many people as possible, including when you use a screen reader, navigate by keyboard, magnify the page, or change how colours and motion are displayed. We take that into account in the design and we improve where we fall short.\nIf an accessibility barrier gets in your way, let us know at support@punfyre.be. Describe the page or screen and what goes wrong. We will look for a fix and, in the meantime, get you the information or the function another way.\nServices and products\nConsultancy and custom work\nOur consultancy and custom software development are delivered under a separate written agreement or offer. Those documents contain the concrete arrangements on scope, pricing, timelines, acceptance and intellectual property. Those arrangements take precedence over these terms.\nOur own products\nAlongside client work we build and operate our own products. Each product has its own purpose, its own functionality and its own commercial model. Depending on the product there may be a free tier, a paid tier, a one off purchase, a subscription, a device, or a combination of those. What a given product actually offers is described on its own pages and in its product-specific document.\nWe keep developing our products. That means functionality can be added, changed or discontinued. Where a change materially reduces what you have paid for, we tell you in advance and we give you a way out where the law or the product-specific document requires it.\nNo offer, no advice\nThe descriptions of services and products on the website are general information. They are not professional, legal, medical or technical advice. Decisions you make based solely on website information are at your own risk. Prices and descriptions on the website are indicative unless the ordering process expressly states otherwise.\nNothing on this website is a binding offer. A collaboration or a purchase only comes into existence as described in these terms or in the document that applies to that product.\nEfforts, test versions and AI-assisted features\nFor consultancy, advice and development we take on an obligation of means, not an obligation of result. We work skilfully and carefully and commit the resources the assignment calls for, but we do not guarantee any particular commercial, technical or financial outcome. Where we do expressly agree a result in writing, that agreement applies.\nWhere we offer a feature as a test, beta or preview version, we say so. Such a feature is still in development: it may be incomplete, change or disappear. Do not use it for anything you depend on. You use it voluntarily, and our liability for it stays limited to putting the problem right, except as mandatory law provides.\nSome features use automated or AI-assisted processing, for example to suggest text, organise data or classify something. That output is an aid, not a decision: it can contain errors, and you check it before you build on it. We do not guarantee the accuracy, completeness or suitability of AI-assisted output. What this means for your personal data is in our privacy policy.\nAccounts and registration\nYou must be at least 18 to create an account or place an order. If you are younger, this is only possible with the involvement and consent of your parent or guardian, who is then jointly responsible for the resulting obligations.\nSome products require an account. Where that is the case, you register with accurate and complete information and you keep that information up to date, so we can reach you and invoice you correctly.\nKeep your login details confidential and do not share your account with anyone else\nChoose a strong password and do not reuse it elsewhere\nTell us promptly at support@punfyre.be if you suspect that someone else is using your account\nYou are responsible for everything that happens under your account, unless the unauthorised use is our fault\nWhere a product is meant for organisations, the account holder is responsible for the users it invites. We may refuse a registration, and we may suspend or close an account in case of a breach of these terms, in case of non-payment, or where the account is used in a way that harms us, other users or third parties. Where a product-specific document sets out its own account rules, those apply in addition.\nLicence to use our software and apps\nFor every product that consists of software, whether that is a web application, a mobile app or firmware on a device, we grant you a limited, revocable, non-exclusive, non-transferable and personal right of use. We do not sell you the software; we let you use it. All rights we do not expressly grant stay with us or with our licensors.\nThe licence is limited to the intended use of the product, to the duration of your subscription or right of use, and to the number of users or devices agreed. Where an app is distributed through an app store, the rules of that store apply on top of these terms and your installation is subject to them.\nYou may not, and you may not let anyone else:\nReverse engineer, decompile or disassemble the software, or otherwise try to derive its source code, except to the extent the law expressly allows it\nCopy, rent, lend, resell, sublicense or make the software available to third parties\nRemove or alter notices about ownership, trademarks or licences\nCircumvent technical limits, licence checks or security measures\nUse the software to build a competing product or to extract data at scale\nWe may release updates and new versions, and we may require you to install them for the product to keep working. An update can change or remove functionality. If an update comes with amended terms and you do not accept them, your licence ends and you stop using the software.\nOrders, prices and payment\nWhere a product or service is sold through our website or through an app, the ordering process shows you what you are buying and what it costs before you confirm. Your order is an offer to buy; the contract comes into existence when we confirm it or when we start delivering.\nPrices for consumers are shown including Belgian VAT; prices for business customers may be shown excluding VAT, in which case that is stated\nShipping, handling or activation costs are shown separately before you confirm, where they apply\nObvious pricing or description errors do not bind us, and we contact you if one occurs\nFor cross border sales, the applicable VAT treatment follows the rules that apply to your situation\nPayments run through a payment provider. That provider processes the payment under its own terms, and we never see your full card or account credentials. If a payment fails, is reversed or is refused, the contract does not come into existence, or it ends if delivery had not started.\nWhere we invoice you, the invoice is payable on the due date stated on it. If a business customer pays late, the statutory Belgian interest rate for late payment in commercial transactions is due from the due date, automatically and without prior notice of default. That rate is 10.5% per year for the second half of 2026 and changes automatically when the legally published rate changes. In addition, fixed compensation of 10% of the unpaid amount is due, with a minimum of EUR 50, subject to mandatory law and the competent court's power to moderate it. Compensation covering the same collection loss is not charged twice. We may suspend the product or service until payment is received, to the extent permitted by the applicable agreement and law. Where a consumer pays late, we follow the rules on reminders and costs prescribed by Belgian consumer law. Details for a specific product are in its product-specific document.\nGoods we deliver remain our property until you have paid for them in full, including any interest and costs. Until then you may not resell, pledge or give them as security. Risk, however, passes to you earlier, under the delivery rules below.\nSubscriptions and renewal\nWhere a product is offered as a subscription, the term, the price, the billing period, the notice period and the way to cancel are set out in the ordering process and in the product-specific document. We do not repeat those figures here, so that this document stays correct as our products change.\nUnless the product-specific document says otherwise, a subscription is paid in advance for the agreed period and gives access for that period only. Where a subscription renews automatically, we tell you before renewal how to stop it, and consumers always keep the cancellation rights Belgian law gives them, including the right to end a renewed contract of indefinite duration. Where a fixed-term contract renews tacitly into an open-ended one, as a consumer you may cancel at any time with a notice period of no more than 2 months.\nWe may change the price or the scope of a subscription. If we do, we tell you in advance. If the change is to your disadvantage, you may end the subscription free of charge before it takes effect, and we refund the part you have paid for but will no longer receive. If a subscription includes a device or a service performed by a partner, ending it may also end access to that part.\nDelivery of physical goods\nWhere a product includes a device or other physical goods, we deliver to the address you give us. Do check your address details, because we deliver from what you give us.\nIf we do not agree a delivery date, we deliver within 30 days of the contract being concluded. For professional clients, stated periods are indicative unless we expressly agree a fixed date in writing\nWe may deliver in parts, in which case each part is treated separately\nRisk of loss or damage passes to you when you, or someone you designate, takes physical possession of the goods. For business customers, risk passes when the goods are handed to the carrier\nIf a delivery cannot be made because the address is wrong or incomplete or because nobody accepts it, we may charge the reasonable cost of a second attempt or of the return\nIf we miss that deadline, you may give us an additional reasonable period in writing. If we still fail to deliver, you may terminate the contract at no cost and we refund everything you paid without undue delay. If a particular delivery date was essential for you and you told us so beforehand, you may terminate immediately, without granting an additional period.\nIt is worth looking over the goods when they arrive. Report visible damage, a missing item or a wrong item promptly at support@punfyre.be, with a description and photos where possible, so we can sort it out with the carrier. For consumers, reporting late does not affect the legal conformity guarantee described below.\nRight of withdrawal for consumers\nWhere you buy from us at a distance as a consumer, for example through our website or an app, you have a right of withdrawal of 14 days. You do not need to give a reason. The full procedure, with the deadlines, the costs and the exceptions, is on our returns page.\nFor goods, that period runs from the day you, or someone you designate, receive the goods. Where an order is delivered in parts, it runs from the last part. For services and for digital content that is not supplied on a physical carrier, the period runs from the day the contract is concluded.\nYou can withdraw by any unambiguous statement, including a simple email to support@punfyre.be. A letter or the statutory model withdrawal form works too, but neither is required, and a registered letter is never necessary. Say clearly that you are withdrawing and mention your order details so we can find your file.\nAfter you withdraw, send the goods back without undue delay and in any case within 14 days. We refund what you paid, including the cost of standard delivery, within 14 days of receiving your statement, using the same payment method unless we agree otherwise. We provide a return label and bear its cost; if you pick a different shipping method yourself, that cost is yours. If you used the goods more than needed to assess them, we may reduce the refund for the loss in value.\nBelgian law provides for exceptions. Among other cases, the right of withdrawal does not apply:\nTo a service that has been fully performed at your express prior request, where you acknowledged that you lose the right of withdrawal once it is fully performed\nTo goods made to your specifications or clearly personalised\nTo sealed goods that are not suitable for return for reasons of health protection or hygiene, once the seal is broken\nTo digital content supplied without a physical carrier, once performance has started with your express consent and your acknowledgement that you lose the right\nWhere a product-specific document explains the withdrawal procedure for that product in more detail, follow it. Such a document can only make exercising your right easier, never harder.\nLegal conformity guarantee\nIf you are a consumer and you buy goods from us, Belgian law gives you a legal conformity guarantee of 2 years from delivery. The goods have to match what we described, be fit for their normal use and have the quality you can reasonably expect. This guarantee is free of charge and it comes on top of any commercial warranty we or a manufacturer may offer. The full procedure, with the deadlines, the costs and the exceptions, is on our returns page.\nWhere goods do not conform, you can ask for repair or replacement first, and for a price reduction or termination of the contract where repair or replacement is impossible, disproportionate or unsuccessful, or where the defect is serious. Report the lack of conformity within a reasonable period after you discover it at support@punfyre.be, with your order details and a description of what is wrong. We tell you where to send the goods and we bear the cost of the return where the claim is justified.\nNormal wear, damage caused by misuse, by an accident or by a modification you made yourself, and consumable parts such as a battery reaching the end of its normal life, are not a lack of conformity. For business customers, the guarantee is what the product-specific document or the signed agreement provides.\nEmergencies and the emergency services\nIf a product has an alarm or safety feature, read this article carefully. It sets out the most important limit on what such a product can do for you.\nOur products do not replace the emergency services. If you are in danger and can call yourself, always call 112. Use an alarm feature alongside that, never instead of it.\nBefore an alarm reaches anyone it has to travel a whole chain: your device and its battery, your internet connection or mobile coverage, the permissions on your phone, our systems and third-party networks. If any link fails, an alert may arrive late, incomplete or not at all. We cannot rule that out, which is why we promise no guaranteed detection, transmission or follow-up.\nWhere following up an alarm or dispatching an intervention is a regulated activity, a licensed partner carries it out. That partner's procedures and response times then apply; you will find them in the product-specific document.\nIn a life-threatening situation, never rely on a single means. Make sure the people around you know what to do, and keep 112 as the first reflex.\nCorrect use of products and services\nUse our products as they are intended and as their documentation describes. Where a product has a safety or alerting function, misuse has real consequences for other people, so we ask you to be careful.\nDo not trigger a false alarm or a test alert outside the way the product provides for it, and do not use an alerting function for anything other than a genuine situation\nKeep the hardware a product needs in working order, for example by charging or replacing a battery and by keeping a device within range\nKeep the connectivity a product needs available, for example a working internet connection, mobile coverage or Bluetooth\nGrant and keep the permissions a product needs on your phone or computer, such as location, notifications or background activity, where the product depends on them to work\nKeep the software and the app up to date, and report a malfunction promptly so we can look into it\nA product cannot do its job if those conditions are not met, and we are not liable for a failure caused by them. Where a product depends on a partner, for example for monitoring or response, that partner's own instructions and terms also apply, as described below.\nProduct safety and recalls\nWhere we sell a device or other physical goods, you receive the safety information that belongs with it: the instructions for use, the warnings and the manufacturer's details. Keep that information, because it is part of the product.\nIf a safety problem comes to light afterwards, we notify you through the contact details we hold for you, and where necessary through our website and our other channels as well. We tell you what the issue is, what you are best off doing, and what we will do for you.\nIf we recall a product, you get a choice of at least:\nRepair of the product\nReplacement with an equivalent and safe product\nA refund of what you paid for the product\nA recall costs you nothing. If you send a product back as part of a recall, we bear the cost of the return. A recall does not affect your legal guarantee, your right of withdrawal or any of your other rights.\nWhat helps: keep the contact details in your account current, so we can reach you when it matters. If you receive a safety notice from us, stop using the product as we ask and follow the instructions that come with it.\nIf you notice something that seems unsafe, report it at support@punfyre.be. We investigate every report, take the measures needed, and inform the competent authorities where the law requires it.\nFor the practical side of sending something back, repair or replacement, see our returns page.\nPartners and third parties\nWe do not do everything ourselves. Some of our products only work because a third party contributes part of them. Where that is the case, we tell you who does what, and that party's own terms and responsibilities apply to its part.\nRegulated activities by licensed partners\nWhere a product includes an activity that is regulated in Belgium, for example alarm monitoring and dispatching a response, that activity is performed by a licensed partner and not by us. We build and operate the software, we facilitate the connection and we handle your relationship with us; the licensed partner performs the regulated activity under its own licence, its own procedures and its own responsibility. The product-specific document names the partner and describes what it does and does not do.\nPayment providers, app stores and other suppliers\nPayments run through a payment provider, apps are distributed through app stores, and hosting, messaging, mapping and delivery may run through other suppliers. Their terms apply to their own part of the service. We choose our suppliers with care and we may engage and replace subcontractors, as long as the product keeps doing what we promised. Where personal data is involved, the privacy policy explains who processes what.\nLinks to third-party websites\nThe website and our products may contain links to third-party websites. Those websites are outside our control. We are not responsible for their content, availability or practices, and a link does not mean we endorse that website.\nAvailability and service as it is\nWe make a reasonable effort to keep our website and our products available, secure and working as described. We monitor, we fix and we improve. What we cannot do is promise that everything will always be uninterrupted, timely or error free.\nWe may take the website or a product offline for maintenance, for a security fix or for an update. Where we can plan it, we try to do it outside busy hours and to announce it. Where we cannot, safety and security come first. Availability also depends on things outside our control, such as your device, your connection, a network operator, an app store or a partner.\nExcept for what these terms, a product-specific document or mandatory law expressly provide, our website and our products are made available as they are and as they become available, without further warranties, including any implied warranty of merchantability or fitness for a particular purpose. Nothing in this clause limits the legal conformity guarantee for consumers.\nLiability\nWe are liable for a shortcoming that is attributable to us, but only after you have given us written notice of default, described the problem clearly and given us a reasonable period to put it right. If we fix it within that period, no liability arises. This condition does not apply to consumers: your statutory rights do not depend on a prior written notice of default.\nWhat we exclude and how far our liability reaches\nTo the extent Belgian law permits, we are not liable for indirect or consequential damage, including lost profit, lost revenue, lost savings, lost or corrupted data, missed opportunities, reputational harm, business interruption and claims brought by third parties against you.\nWhere we are liable, our total liability for all claims connected to our website, a product, a subscription, digital content or a service is limited to the amounts you paid us for that product or service in the 12 months preceding the event. Where the applicable product-specific document or signed agreement sets a different limit, that one applies. Where you paid nothing in that period, our liability is limited to putting the problem right. This limit applies to professional clients only. If you are a consumer, Belgian law determines the extent of our liability and we do not cap it by contract.\nWe are also not liable for damage caused by your own use of a product contrary to these terms or its documentation, by information you supplied that was wrong or incomplete, by a failure of hardware, connectivity or permissions on your side, or by an act of a partner within that partner's own responsibility. Where a product lets you export or keep your own data, we expect you to hold a recent copy of what matters to you. We are not liable for loss you could have avoided with such a copy.\nTime limit for bringing a claim\nBring a claim while it is still fresh. A claim against us lapses if you do not notify us in writing within a reasonable period after you discovered or should have discovered the damage, and in any case if you do not bring it to court within the period stated in the applicable product-specific document or signed agreement. Where no document states such a period, the periods of Belgian law apply. For consumers, the statutory periods always apply.\nYour indemnity\nIf you are a professional client, you indemnify us and hold us harmless against claims by third parties, including reasonable legal costs, arising from your breach of these terms, from your unlawful or improper use of our website or our products, or from content or data you supplied to us or through our products. This obligation continues after your account, your subscription or our agreement ends. This indemnity does not apply to consumers.\nNothing in this clause covers our own fraud, our intentional misconduct or our gross negligence, and nothing excludes liability for death or personal injury or any other liability that cannot legally be excluded. Nothing limits our liability for failing to perform the essential obligations of the contract, including towards business customers. Consumers keep every right that mandatory law gives them.\nTermination and suspension\nYou can stop using our website whenever you want. Where you have an account, you can close it in the product itself or by mailing support@punfyre.be. Where you have a subscription or a signed agreement, ending it follows the term and notice rules in that product-specific document or agreement, and any statutory right you have as a consumer.\nWe may suspend or end your access, in whole or in part, where you materially breach these terms or a product-specific document, where an invoice stays unpaid after a reminder, where your use endangers the security or stability of a product or the safety of others, or where the law obliges us to. Except in urgent cases, we tell you first and give you a chance to put it right. A suspension does not remove your payment obligations for the period before it.\nWe may also discontinue a product. Where we do, we give reasonable notice, we stop charging for the period after it ends and we refund the part you paid for but will no longer receive. When your access ends, your right to use the software ends with it and you stop using it. On request we help you export your data where the product supports it, within the retention periodsHow long data is kept before it is deleted, decided in advance rather than left open. described in the privacy policy. Clauses meant to survive, such as intellectual property, liability, indemnity, confidentiality and governing law, keep applying after termination.\nForce majeure\nNeither of us has to perform an obligation that has become impossible or unreasonably burdensome because of an event outside our reasonable control. As long as such an event lasts, the affected obligations are suspended and neither of us owes the other compensation for the delay.\nA failure of electricity, a network, telecommunications or the internet\nA natural disaster, extreme weather, fire or flooding\nAn epidemic, a pandemic or a public health measure\nA cyber attack, ransomware or a large scale security incident\nWar, terrorism, riot, sabotage or a government measure\nA strike or other collective action, at our end or at a supplier\nThe failure or discontinuation of a supplier, partner, app store or carrier we depend on\nWe inform you as soon as we reasonably can and we do what we can to limit the impact and to find an alternative. If the situation lasts unreasonably long, either of us may end the affected part of the contract in writing without owing compensation, and we settle what has already been performed and paid. Where you are a consumer and you paid for something you will not receive, we refund it.\nComplaints and disputes\nSomething not right? Do tell us first at legal@punfyre.be, so we get the chance to put it right. Most things get solved in a single conversation.\nTo help us act quickly, please include:\nYour name and the email address or account you use with us\nThe product or service the complaint is about, and the order or invoice number where there is one\nWhat happened, when it happened and what you expected instead\nScreenshots, photos or messages that show the problem\nWe confirm receipt of a complaint and we come back to you with a substantive answer within a reasonable period. If we cannot reach agreement and you are a consumer, you can turn to an out of court dispute resolution body before going to court:\nConsumer Mediation Service (Belgium)\nEuropean ODR platform\nSuch a route is free or low cost and does not take away your right to go to court afterwards. Where a dispute does reach a court, the rules on governing law and competent courts below apply.\nIntellectual property\nOur content, brands and software\nAll content, brands, software and designs on our website and in our products, including texts, images, logos, interfaces, source code, databases and documentation, are protected by intellectual property rights and belong to Punfyre BV or its licensors. The names Punfyre, Alarmira and Routeez, and the logos that go with them, are our trademarks or trade names. You are free to browse the website and link to it, but you may not reproduce, distribute, adapt or commercially reuse anything without our prior written permission. Using a product transfers no intellectual property right to you; you receive the right of use described above.\nWhat you send us\nIf you provide information, files or content through a form, an account or a product, you keep ownership of it and of the rights to it. You do grant us the permission we need to host it, process it and use it in order to handle your request and provide the product, for as long as that is necessary. You confirm that you are allowed to share what you share and that it infringes nobody's rights. If you send us an idea or suggestion about our products unasked, we may use it freely and without owing you anything, without that giving you a claim.\nChanges, transfer, language and final provisions\nChanges to these terms\nWe may change these terms, for example because a product changes, because a partner changes or because the law changes. The version published on the website at the time of your visit is the version that applies to that visit, and the date of the latest update is at the top of this page. Where you have an account, a subscription or an agreement with us, we notify you of a material change in advance, and where the change is to your disadvantage you may end the affected subscription before it takes effect. Continuing to use a product after the change takes effect means you accept the new version.\nTransfer of rights and obligations\nYou may not transfer your rights or obligations under these terms, your account or your subscription to someone else without our prior written consent. We may transfer ours to an affiliated company, or to a third party in the context of a reorganisation, a merger or a transfer of a business or product line, provided your rights are not reduced. We inform you where that happens, and if you are a consumer you may end the contract if the transfer is to your disadvantage.\nSeverability and no waiver\nIf a provision of these terms is invalid or unenforceable, the remaining provisions stay fully in force. An invalid provision is replaced by a valid one that stays as close as possible to what was intended. If we do not enforce a provision at a given moment, that does not mean we waive the right to enforce it later.\nLanguage versions\nWe publish these terms in Dutch, English and French. We write all three versions to say the same thing. Where a difference in interpretation nevertheless appears, the Dutch version prevails, because we are a Belgian company established in the Dutch language area and our contracts are governed by Belgian law. If you are a consumer resident elsewhere in the European Union and mandatory rules of your own country give priority to the version in your own language, those rules apply to you.\nPrivacy and cookies\nHow we handle personal data is described in our privacy policy, and how we use cookies and similar techniques is described in our cookie policy. Both documents complement these terms and prevail over this text for anything concerning personal data. Where a product processes data on behalf of a business customer, a separate data processing agreement may apply in addition.\nGoverning law and competent courts\nThese terms, your use of our website and every contract we conclude with you are governed by Belgian law. In case of a dispute, the courts of Kortrijk are competent. If you are a consumer, you keep the protection of the mandatory rules of the country where you live, and you can always bring an action before the court that the law designates for you.\nContact\nQuestions about these terms, about a product or about an order? Mail legal@punfyre.be. We are happy to help.\nContact\nQuestions about these terms?\nSomething unclear, or something you disagree with? Do let us know, and we will look at it together. We are happy to explain what a clause means in practice.\nLegal and contracts\nQuestions about these documents, contracts, invoices or formal notices.\nlegal@punfyre.be\nPrivacy and your data\nAccess, correction or deletion of your data, and any other privacy question.\nprivacy@punfyre.be\nNot sure?\nUnsure where your question belongs? Send it here and we will sort it out.\nsupport@punfyre.be","contentMode":"full","sections":[{"id":"about-these-terms-h","heading":"About these terms and about us","text":"These are the general terms of use of Punfyre BV. They apply to your visit to and use of the website punfyre.be, to the products and services we offer, and to the contact you have with us through those channels. By using our website, creating an account, installing one of our apps or ordering a product or service, you accept these terms. If you do not agree with them, please do not use them.\nPunfyre BV is a Belgian software studio. We build our own products and we take on consultancy and custom development work for clients. You can find our official details below.\nCompany\nPunfyre BV, Vlamingstraat 4, 8560 Wevelgem, Belgium\nCompany number (KBO)\n0749.930.853\nVAT number\nBE 0749.930.853\nRegister of legal entities\nRPR Gent, afdeling Kortrijk\nContact\nlegal@punfyre.be\nAlongside these terms, other documents may apply, such as our privacy policy, our cookie policy and any document that belongs to a specific product. Those documents complement these terms; for anything concerning personal data, the privacy policy prevails."},{"id":"scope-and-which-document-applies-h","heading":"Scope and which document applies","text":"Punfyre is a parent company with several products under it, such as Alarmira and Routeez. These terms are the shared baseline for those products, for our website and for our professional services. They are written to stay accurate as our range grows, which is why the product clauses below are worded conditionally: they apply where and to the extent that a product actually offers what is described.\nA product can also have a document of its own: its own service terms, a service description, a product sheet, a subscription annex or an acceptable use policy. Where such a document exists, it is more specific than this one and it prevails on the points it covers.\nIf two documents say different things about the same point, this is the order that applies, from strongest to weakest:\nAn agreement or offer signed or expressly accepted by both parties\nA product-specific document, such as product terms, a service description or a subscription annex\nThese general terms of use\nAny other information we publish, such as a page on the website, a help article or a brochure\nWhere a product-specific document is silent on a point, these terms fill the gap. No lower ranked document can take away rights you have as a consumer under mandatory law."},{"id":"definitions-h","heading":"Definitions","text":"Punfyre\nPunfyre BV, the company behind this website and behind our products, also referred to as we, us or our.\nWebsite\nThe website available at punfyre.be, including all of its pages and components.\nVisitor, user and customer\nA visitor is anyone who consults the website. A user is anyone who uses one of our products or services, with or without an account. A customer is anyone who has a paid or contractual relationship with us. All three are addressed in this text as you, and the same rules apply unless a clause says otherwise.\nConsumer and business customer\nA consumer is a natural person acting for purposes outside their trade, business, craft or profession. A business or professional customer is anyone else, such as companies, self-employed people acting professionally, associations and public bodies. If you buy partly privately and partly professionally, and the professional purpose is not the predominant one, we treat you as a consumer. If you are unsure which category you fall into, ask us before you order. Some clauses apply only to consumers, others only to business customers.\nProduct\nAnything we offer under our own name, such as a website, an app, a platform, a device or a combination of these, including Alarmira and Routeez.\nService\nAnything we perform for you, such as consultancy, custom development, hosting, support, maintenance or monitoring facilitated through a partner.\nSubscription\nA paid or free plan that gives you access to a product or service for a recurring period, where the product offers such a plan.\nDevice\nPhysical hardware that belongs to a product, such as a Bluetooth alarm button, where the product includes hardware.\nContent\nAll texts, images, logos, designs, code, data and other materials shown on or through our website and our products, including material you supply yourself.\nPartner\nA third party we work with to make a product or service possible, such as a licensed security partner, a payment provider, an app store, a hosting provider or a carrier.\nProduct-specific document\nAny document that applies to one product in particular, such as its own terms, a service description, a product sheet, a subscription annex or an acceptable use policy."},{"id":"use-of-the-website-h","heading":"Use of the website","text":""},{"id":"purpose-and-availability-h","heading":"Purpose and availability","text":"The website tells you who we are, what we build and how to reach us, and it may give you access to a product, an account or a form. The content is put together with care, but it may contain errors or outdated information. We may change, add to or remove content at any time, without prior notice.\nYou visit the website with your own equipment and internet connection. You are responsible for the security of your device, your software and your data during that visit. Access to the website itself is free of charge; any costs for your connection or equipment are your own."},{"id":"acceptable-use-h","heading":"Acceptable use","text":"Use the website and our products for what they are meant for. The following is never allowed:\nScraping, copying or harvesting the website, a product or its content in an automated way\nAttacking, probing or circumventing our security\nMisusing the forms, for example for spam, phishing or misleading messages\nDisrupting the operation of our systems or placing an unreasonable load on them\nUsing our website or products for unlawful, misleading or harmful purposes, or in a way that infringes someone else's rights\nIf we detect abuse, we may restrict or block access, suspend an account and take further steps."},{"id":"forms-and-communication-h","heading":"Forms and communication","text":"Through the contact and support forms you can send us a question or request. When you do, please provide correct and complete information so we can properly assess your request. Submitting such a message does not create a client relationship and does not oblige us to accept an assignment or deliver a service.\nWe handle incoming messages by priority. Work for existing customers comes first, and we do not apply a fixed response time. How we handle the personal data you share through a form is described in our privacy policy."},{"id":"accessibility-h","heading":"Accessibility","text":"We want our website and our products to be usable by as many people as possible, including when you use a screen reader, navigate by keyboard, magnify the page, or change how colours and motion are displayed. We take that into account in the design and we improve where we fall short.\nIf an accessibility barrier gets in your way, let us know at support@punfyre.be. Describe the page or screen and what goes wrong. We will look for a fix and, in the meantime, get you the information or the function another way."},{"id":"services-and-products-h","heading":"Services and products","text":""},{"id":"professional-services-h","heading":"Consultancy and custom work","text":"Our consultancy and custom software development are delivered under a separate written agreement or offer. Those documents contain the concrete arrangements on scope, pricing, timelines, acceptance and intellectual property. Those arrangements take precedence over these terms."},{"id":"our-own-products-h","heading":"Our own products","text":"Alongside client work we build and operate our own products. Each product has its own purpose, its own functionality and its own commercial model. Depending on the product there may be a free tier, a paid tier, a one off purchase, a subscription, a device, or a combination of those. What a given product actually offers is described on its own pages and in its product-specific document.\nWe keep developing our products. That means functionality can be added, changed or discontinued. Where a change materially reduces what you have paid for, we tell you in advance and we give you a way out where the law or the product-specific document requires it."},{"id":"no-offer-no-advice-h","heading":"No offer, no advice","text":"The descriptions of services and products on the website are general information. They are not professional, legal, medical or technical advice. Decisions you make based solely on website information are at your own risk. Prices and descriptions on the website are indicative unless the ordering process expressly states otherwise.\nNothing on this website is a binding offer. A collaboration or a purchase only comes into existence as described in these terms or in the document that applies to that product."},{"id":"efforts-test-versions-and-ai-assisted-features-h","heading":"Efforts, test versions and AI-assisted features","text":"For consultancy, advice and development we take on an obligation of means, not an obligation of result. We work skilfully and carefully and commit the resources the assignment calls for, but we do not guarantee any particular commercial, technical or financial outcome. Where we do expressly agree a result in writing, that agreement applies.\nWhere we offer a feature as a test, beta or preview version, we say so. Such a feature is still in development: it may be incomplete, change or disappear. Do not use it for anything you depend on. You use it voluntarily, and our liability for it stays limited to putting the problem right, except as mandatory law provides.\nSome features use automated or AI-assisted processing, for example to suggest text, organise data or classify something. That output is an aid, not a decision: it can contain errors, and you check it before you build on it. We do not guarantee the accuracy, completeness or suitability of AI-assisted output. What this means for your personal data is in our privacy policy."},{"id":"accounts-and-registration-h","heading":"Accounts and registration","text":"You must be at least 18 to create an account or place an order. If you are younger, this is only possible with the involvement and consent of your parent or guardian, who is then jointly responsible for the resulting obligations.\nSome products require an account. Where that is the case, you register with accurate and complete information and you keep that information up to date, so we can reach you and invoice you correctly.\nKeep your login details confidential and do not share your account with anyone else\nChoose a strong password and do not reuse it elsewhere\nTell us promptly at support@punfyre.be if you suspect that someone else is using your account\nYou are responsible for everything that happens under your account, unless the unauthorised use is our fault\nWhere a product is meant for organisations, the account holder is responsible for the users it invites. We may refuse a registration, and we may suspend or close an account in case of a breach of these terms, in case of non-payment, or where the account is used in a way that harms us, other users or third parties. Where a product-specific document sets out its own account rules, those apply in addition."},{"id":"licence-to-use-our-software-h","heading":"Licence to use our software and apps","text":"For every product that consists of software, whether that is a web application, a mobile app or firmware on a device, we grant you a limited, revocable, non-exclusive, non-transferable and personal right of use. We do not sell you the software; we let you use it. All rights we do not expressly grant stay with us or with our licensors.\nThe licence is limited to the intended use of the product, to the duration of your subscription or right of use, and to the number of users or devices agreed. Where an app is distributed through an app store, the rules of that store apply on top of these terms and your installation is subject to them.\nYou may not, and you may not let anyone else:\nReverse engineer, decompile or disassemble the software, or otherwise try to derive its source code, except to the extent the law expressly allows it\nCopy, rent, lend, resell, sublicense or make the software available to third parties\nRemove or alter notices about ownership, trademarks or licences\nCircumvent technical limits, licence checks or security measures\nUse the software to build a competing product or to extract data at scale\nWe may release updates and new versions, and we may require you to install them for the product to keep working. An update can change or remove functionality. If an update comes with amended terms and you do not accept them, your licence ends and you stop using the software."},{"id":"orders-prices-and-payment-h","heading":"Orders, prices and payment","text":"Where a product or service is sold through our website or through an app, the ordering process shows you what you are buying and what it costs before you confirm. Your order is an offer to buy; the contract comes into existence when we confirm it or when we start delivering.\nPrices for consumers are shown including Belgian VAT; prices for business customers may be shown excluding VAT, in which case that is stated\nShipping, handling or activation costs are shown separately before you confirm, where they apply\nObvious pricing or description errors do not bind us, and we contact you if one occurs\nFor cross border sales, the applicable VAT treatment follows the rules that apply to your situation\nPayments run through a payment provider. That provider processes the payment under its own terms, and we never see your full card or account credentials. If a payment fails, is reversed or is refused, the contract does not come into existence, or it ends if delivery had not started.\nWhere we invoice you, the invoice is payable on the due date stated on it. If a business customer pays late, the statutory Belgian interest rate for late payment in commercial transactions is due from the due date, automatically and without prior notice of default. That rate is 10.5% per year for the second half of 2026 and changes automatically when the legally published rate changes. In addition, fixed compensation of 10% of the unpaid amount is due, with a minimum of EUR 50, subject to mandatory law and the competent court's power to moderate it. Compensation covering the same collection loss is not charged twice. We may suspend the product or service until payment is received, to the extent permitted by the applicable agreement and law. Where a consumer pays late, we follow the rules on reminders and costs prescribed by Belgian consumer law. Details for a specific product are in its product-specific document.\nGoods we deliver remain our property until you have paid for them in full, including any interest and costs. Until then you may not resell, pledge or give them as security. Risk, however, passes to you earlier, under the delivery rules below."},{"id":"subscriptions-and-renewal-h","heading":"Subscriptions and renewal","text":"Where a product is offered as a subscription, the term, the price, the billing period, the notice period and the way to cancel are set out in the ordering process and in the product-specific document. We do not repeat those figures here, so that this document stays correct as our products change.\nUnless the product-specific document says otherwise, a subscription is paid in advance for the agreed period and gives access for that period only. Where a subscription renews automatically, we tell you before renewal how to stop it, and consumers always keep the cancellation rights Belgian law gives them, including the right to end a renewed contract of indefinite duration. Where a fixed-term contract renews tacitly into an open-ended one, as a consumer you may cancel at any time with a notice period of no more than 2 months.\nWe may change the price or the scope of a subscription. If we do, we tell you in advance. If the change is to your disadvantage, you may end the subscription free of charge before it takes effect, and we refund the part you have paid for but will no longer receive. If a subscription includes a device or a service performed by a partner, ending it may also end access to that part."},{"id":"delivery-of-physical-goods-h","heading":"Delivery of physical goods","text":"Where a product includes a device or other physical goods, we deliver to the address you give us. Do check your address details, because we deliver from what you give us.\nIf we do not agree a delivery date, we deliver within 30 days of the contract being concluded. For professional clients, stated periods are indicative unless we expressly agree a fixed date in writing\nWe may deliver in parts, in which case each part is treated separately\nRisk of loss or damage passes to you when you, or someone you designate, takes physical possession of the goods. For business customers, risk passes when the goods are handed to the carrier\nIf a delivery cannot be made because the address is wrong or incomplete or because nobody accepts it, we may charge the reasonable cost of a second attempt or of the return\nIf we miss that deadline, you may give us an additional reasonable period in writing. If we still fail to deliver, you may terminate the contract at no cost and we refund everything you paid without undue delay. If a particular delivery date was essential for you and you told us so beforehand, you may terminate immediately, without granting an additional period.\nIt is worth looking over the goods when they arrive. Report visible damage, a missing item or a wrong item promptly at support@punfyre.be, with a description and photos where possible, so we can sort it out with the carrier. For consumers, reporting late does not affect the legal conformity guarantee described below."},{"id":"right-of-withdrawal-h","heading":"Right of withdrawal for consumers","text":"Where you buy from us at a distance as a consumer, for example through our website or an app, you have a right of withdrawal of 14 days. You do not need to give a reason. The full procedure, with the deadlines, the costs and the exceptions, is on our returns page.\nFor goods, that period runs from the day you, or someone you designate, receive the goods. Where an order is delivered in parts, it runs from the last part. For services and for digital content that is not supplied on a physical carrier, the period runs from the day the contract is concluded.\nYou can withdraw by any unambiguous statement, including a simple email to support@punfyre.be. A letter or the statutory model withdrawal form works too, but neither is required, and a registered letter is never necessary. Say clearly that you are withdrawing and mention your order details so we can find your file.\nAfter you withdraw, send the goods back without undue delay and in any case within 14 days. We refund what you paid, including the cost of standard delivery, within 14 days of receiving your statement, using the same payment method unless we agree otherwise. We provide a return label and bear its cost; if you pick a different shipping method yourself, that cost is yours. If you used the goods more than needed to assess them, we may reduce the refund for the loss in value.\nBelgian law provides for exceptions. Among other cases, the right of withdrawal does not apply:\nTo a service that has been fully performed at your express prior request, where you acknowledged that you lose the right of withdrawal once it is fully performed\nTo goods made to your specifications or clearly personalised\nTo sealed goods that are not suitable for return for reasons of health protection or hygiene, once the seal is broken\nTo digital content supplied without a physical carrier, once performance has started with your express consent and your acknowledgement that you lose the right\nWhere a product-specific document explains the withdrawal procedure for that product in more detail, follow it. Such a document can only make exercising your right easier, never harder."},{"id":"legal-conformity-guarantee-h","heading":"Legal conformity guarantee","text":"If you are a consumer and you buy goods from us, Belgian law gives you a legal conformity guarantee of 2 years from delivery. The goods have to match what we described, be fit for their normal use and have the quality you can reasonably expect. This guarantee is free of charge and it comes on top of any commercial warranty we or a manufacturer may offer. The full procedure, with the deadlines, the costs and the exceptions, is on our returns page.\nWhere goods do not conform, you can ask for repair or replacement first, and for a price reduction or termination of the contract where repair or replacement is impossible, disproportionate or unsuccessful, or where the defect is serious. Report the lack of conformity within a reasonable period after you discover it at support@punfyre.be, with your order details and a description of what is wrong. We tell you where to send the goods and we bear the cost of the return where the claim is justified.\nNormal wear, damage caused by misuse, by an accident or by a modification you made yourself, and consumable parts such as a battery reaching the end of its normal life, are not a lack of conformity. For business customers, the guarantee is what the product-specific document or the signed agreement provides."},{"id":"emergencies-and-the-emergency-services-h","heading":"Emergencies and the emergency services","text":"If a product has an alarm or safety feature, read this article carefully. It sets out the most important limit on what such a product can do for you.\nOur products do not replace the emergency services. If you are in danger and can call yourself, always call 112. Use an alarm feature alongside that, never instead of it.\nBefore an alarm reaches anyone it has to travel a whole chain: your device and its battery, your internet connection or mobile coverage, the permissions on your phone, our systems and third-party networks. If any link fails, an alert may arrive late, incomplete or not at all. We cannot rule that out, which is why we promise no guaranteed detection, transmission or follow-up.\nWhere following up an alarm or dispatching an intervention is a regulated activity, a licensed partner carries it out. That partner's procedures and response times then apply; you will find them in the product-specific document.\nIn a life-threatening situation, never rely on a single means. Make sure the people around you know what to do, and keep 112 as the first reflex."},{"id":"correct-use-of-products-h","heading":"Correct use of products and services","text":"Use our products as they are intended and as their documentation describes. Where a product has a safety or alerting function, misuse has real consequences for other people, so we ask you to be careful.\nDo not trigger a false alarm or a test alert outside the way the product provides for it, and do not use an alerting function for anything other than a genuine situation\nKeep the hardware a product needs in working order, for example by charging or replacing a battery and by keeping a device within range\nKeep the connectivity a product needs available, for example a working internet connection, mobile coverage or Bluetooth\nGrant and keep the permissions a product needs on your phone or computer, such as location, notifications or background activity, where the product depends on them to work\nKeep the software and the app up to date, and report a malfunction promptly so we can look into it\nA product cannot do its job if those conditions are not met, and we are not liable for a failure caused by them. Where a product depends on a partner, for example for monitoring or response, that partner's own instructions and terms also apply, as described below."},{"id":"product-safety-and-recalls-h","heading":"Product safety and recalls","text":"Where we sell a device or other physical goods, you receive the safety information that belongs with it: the instructions for use, the warnings and the manufacturer's details. Keep that information, because it is part of the product.\nIf a safety problem comes to light afterwards, we notify you through the contact details we hold for you, and where necessary through our website and our other channels as well. We tell you what the issue is, what you are best off doing, and what we will do for you.\nIf we recall a product, you get a choice of at least:\nRepair of the product\nReplacement with an equivalent and safe product\nA refund of what you paid for the product\nA recall costs you nothing. If you send a product back as part of a recall, we bear the cost of the return. A recall does not affect your legal guarantee, your right of withdrawal or any of your other rights.\nWhat helps: keep the contact details in your account current, so we can reach you when it matters. If you receive a safety notice from us, stop using the product as we ask and follow the instructions that come with it.\nIf you notice something that seems unsafe, report it at support@punfyre.be. We investigate every report, take the measures needed, and inform the competent authorities where the law requires it.\nFor the practical side of sending something back, repair or replacement, see our returns page."},{"id":"partners-and-third-parties-h","heading":"Partners and third parties","text":"We do not do everything ourselves. Some of our products only work because a third party contributes part of them. Where that is the case, we tell you who does what, and that party's own terms and responsibilities apply to its part."},{"id":"regulated-activities-h","heading":"Regulated activities by licensed partners","text":"Where a product includes an activity that is regulated in Belgium, for example alarm monitoring and dispatching a response, that activity is performed by a licensed partner and not by us. We build and operate the software, we facilitate the connection and we handle your relationship with us; the licensed partner performs the regulated activity under its own licence, its own procedures and its own responsibility. The product-specific document names the partner and describes what it does and does not do."},{"id":"payment-providers-and-app-stores-h","heading":"Payment providers, app stores and other suppliers","text":"Payments run through a payment provider, apps are distributed through app stores, and hosting, messaging, mapping and delivery may run through other suppliers. Their terms apply to their own part of the service. We choose our suppliers with care and we may engage and replace subcontractors, as long as the product keeps doing what we promised. Where personal data is involved, the privacy policy explains who processes what."},{"id":"third-party-links-h","heading":"Links to third-party websites","text":"The website and our products may contain links to third-party websites. Those websites are outside our control. We are not responsible for their content, availability or practices, and a link does not mean we endorse that website."},{"id":"availability-and-as-is-h","heading":"Availability and service as it is","text":"We make a reasonable effort to keep our website and our products available, secure and working as described. We monitor, we fix and we improve. What we cannot do is promise that everything will always be uninterrupted, timely or error free.\nWe may take the website or a product offline for maintenance, for a security fix or for an update. Where we can plan it, we try to do it outside busy hours and to announce it. Where we cannot, safety and security come first. Availability also depends on things outside our control, such as your device, your connection, a network operator, an app store or a partner.\nExcept for what these terms, a product-specific document or mandatory law expressly provide, our website and our products are made available as they are and as they become available, without further warranties, including any implied warranty of merchantability or fitness for a particular purpose. Nothing in this clause limits the legal conformity guarantee for consumers."},{"id":"liability-h","heading":"Liability","text":"We are liable for a shortcoming that is attributable to us, but only after you have given us written notice of default, described the problem clearly and given us a reasonable period to put it right. If we fix it within that period, no liability arises. This condition does not apply to consumers: your statutory rights do not depend on a prior written notice of default."},{"id":"exclusions-and-cap-h","heading":"What we exclude and how far our liability reaches","text":"To the extent Belgian law permits, we are not liable for indirect or consequential damage, including lost profit, lost revenue, lost savings, lost or corrupted data, missed opportunities, reputational harm, business interruption and claims brought by third parties against you.\nWhere we are liable, our total liability for all claims connected to our website, a product, a subscription, digital content or a service is limited to the amounts you paid us for that product or service in the 12 months preceding the event. Where the applicable product-specific document or signed agreement sets a different limit, that one applies. Where you paid nothing in that period, our liability is limited to putting the problem right. This limit applies to professional clients only. If you are a consumer, Belgian law determines the extent of our liability and we do not cap it by contract.\nWe are also not liable for damage caused by your own use of a product contrary to these terms or its documentation, by information you supplied that was wrong or incomplete, by a failure of hardware, connectivity or permissions on your side, or by an act of a partner within that partner's own responsibility. Where a product lets you export or keep your own data, we expect you to hold a recent copy of what matters to you. We are not liable for loss you could have avoided with such a copy."},{"id":"time-limit-for-claims-h","heading":"Time limit for bringing a claim","text":"Bring a claim while it is still fresh. A claim against us lapses if you do not notify us in writing within a reasonable period after you discovered or should have discovered the damage, and in any case if you do not bring it to court within the period stated in the applicable product-specific document or signed agreement. Where no document states such a period, the periods of Belgian law apply. For consumers, the statutory periods always apply."},{"id":"your-indemnity-h","heading":"Your indemnity","text":"If you are a professional client, you indemnify us and hold us harmless against claims by third parties, including reasonable legal costs, arising from your breach of these terms, from your unlawful or improper use of our website or our products, or from content or data you supplied to us or through our products. This obligation continues after your account, your subscription or our agreement ends. This indemnity does not apply to consumers.\nNothing in this clause covers our own fraud, our intentional misconduct or our gross negligence, and nothing excludes liability for death or personal injury or any other liability that cannot legally be excluded. Nothing limits our liability for failing to perform the essential obligations of the contract, including towards business customers. Consumers keep every right that mandatory law gives them."}]},{"id":"page.tools","locale":"en","kind":"collection","canonicalUrl":"https://punfyre.be/en/tools","title":"Small tools, free to use","summary":"A handful of utilities we reach for ourselves. Open one and start using it, right here in your browser.","text":"Tools\nSmall tools, free to use\nA handful of utilities we reach for ourselves. Open one and start using it, right here in your browser.\nFeatured\nDesign\nBrand theme card\nTry a palette on a real card, in light and dark.\nOpen tool\nPick a tool\nShowing 8 of 8 tools\nDesign\nBrand theme card\nTry a palette on a real card, in light and dark.\nOpen tool\nDesign\nContrast checker\nCheck any two colours against the WCAG accessibility levels.\nOpen tool\nPlanning\nProject scope estimator\nPick what you need and get an indicative size and timeline.\nOpen tool\nPlanning\nAI fit check\nWork out whether AI earns its place in a concrete problem.\nOpen tool\nSecurity\nPassphrase generator\nGenerate a strong passphrase you can actually remember.\nOpen tool\nPlanning\nLaunch checklist\nTick off what has to be true before a site or app goes live.\nOpen tool\nPlanning\nSoftware health check\nScore software you already run, and see what the no answers add up to.\nOpen tool\nPlanning\nPartner questions\nThe questions to ask any software builder before you sign.\nOpen tool\nMore to read\nThe thinking behind the tools\nThese utilities come out of the way we work. If you want the reasoning rather than the shortcut, our articles go into design, accessibility, scoping and security in more depth.\nBrowse all articles\nLatest article\nDesign\nWhen software needs to press a real button\nA small button dock brings mechanics, firmware and TypeScript together. The interesting part is what happens between a command and a press.\nRead more 3 min read\nNeed something these can't do?\nThese are the small ones. The bigger ones we develop for the people who ask.\nTell us what you need","contentMode":"full","sections":[]},{"id":"page.tools.ai-fit","locale":"en","kind":"page","canonicalUrl":"https://punfyre.be/en/tools/ai-fit","title":"AI fit check","summary":"Answer seven concrete questions about one task. You will get a reasoned recommendation for ordinary software, automation, assisted AI or a limited experiment. AI is never the automatic answer.","text":"Start from the problem\nAI fit check\nAnswer seven concrete questions about one task. You will get a reasoned recommendation for ordinary software, automation, assisted AI or a limited experiment. AI is never the automatic answer.\nUse the tool\nQuestion 1 of 7\nCould clear rules solve the task?\nThink about the real decision, not how it is handled today.\nYes, reliablyThe inputs and expected result can be written as rules.Only partlyRules cover the common cases, but judgement remains.NoThe task depends on context, language, images or judgement.\n01Could clear rules solve the task?Current\n02What does the system need to understand?Not answered\n03Why automate this work?Not answered\n04What happens when the answer is wrong?Not answered\n05Can a person review the result in time?Not answered\n06What can support and test the result?Not answered\n07Can you operate the feature after launch?Not answered\nYour answers stay in this browser. Sharing creates a link containing only these selections.\nGood to know\nHow to read the result\nUse one task\nDo not assess an entire solution or service at once. Summarising a document and deciding a payment may belong to the same workflow but need completely different answers.\nA recommendation is not approval\nThe check makes assumptions and risks visible. It cannot replace evaluation with real data, legal review or the judgement of the people affected by the feature.\nNothing is submitted\nAnswers stay in your browser. A shared result link contains only the seven selected answers, with no project description or personal information.\nMore tools\nTry another one\nPlanning\nSoftware health check\nScore software you already run, and see what the no answers add up to.\nOpen tool\nPlanning\nPartner questions\nThe questions to ask any software builder before you sign.\nOpen tool\nPlanning\nLaunch checklist\nTick off what has to be true before a site or app goes live.\nOpen tool\nNeed something these can't do?\nThese are the small ones. The bigger ones we develop for the people who ask.\nTell us what you need","contentMode":"full","sections":[]},{"id":"page.tools.contrast","locale":"en","kind":"page","canonicalUrl":"https://punfyre.be/en/tools/contrast","title":"Contrast checker","summary":"Text that is hard to read shuts people out. Drop in a text colour and a background, and see straight away whether the combination holds up.","text":"Usable by everyone\nContrast checker\nText that is hard to read shuts people out. Drop in a text colour and a background, and see straight away whether the combination holds up.\nUse the tool\nStart from\nText colour Background\n- Contrast ratio\nNormal text AA-\nNormal text AAA-\nLarge text AA-\nLarge text AAA-\nA heading at 24px\nBody text at 16px. This is the size most of your interface is written in, so it is the one that matters most.\nA button A caption, often the first thing to fail.\nThe web accessibility guideline for readable colour. AA asks for 4.5:1 on body text and 3:1 on large text; AAA is the stricter 7:1. Read the guideline is the level most projects should meet. Large text is 18.66px bold or 24px and up.\nGood to know\nHow to read the result\nWhat the levels mean\nAA is the level most projects should meet: a ratio of at least 4.5:1 for normal text. AAA is stricter at 7:1 and is worth aiming for on long reading text.\nWhat counts as large text\nLarge text is 18.66px and bold, or 24px and up. It gets a lower bar because size already helps legibility.\nContrast is not the whole story\nPassing the ratio does not make an interface accessible on its own. Never carry meaning with colour alone, and check both your light and dark themes.\nMore tools\nTry another one\nDesign\nBrand theme card\nTry a palette on a real card, in light and dark.\nOpen tool\nPlanning\nLaunch checklist\nTick off what has to be true before a site or app goes live.\nOpen tool\nSecurity\nPassphrase generator\nGenerate a strong passphrase you can actually remember.\nOpen tool\nNeed something these can't do?\nThese are the small ones. The bigger ones we develop for the people who ask.\nTell us what you need","contentMode":"full","sections":[]},{"id":"page.tools.health","locale":"en","kind":"page","canonicalUrl":"https://punfyre.be/en/tools/health","title":"Software health check","summary":"Answer for one specific system, not for your software in general. Be strict: partly is usually a no that has been lucky so far. Nobody sees this but you.","text":"Keeping software healthy\nSoftware health check\nAnswer for one specific system, not for your software in general. Be strict: partly is usually a no that has been lucky so far. Nobody sees this but you.\nUse the tool\nUpdates and dependencies\nDependencies and frameworks were updated in the past six monthsDependencies and frameworks were updated in the past six months\nThe server or platform it runs on still receives security patchesThe server or platform it runs on still receives security patches\nYou know which parts of the stack are no longer maintainedYou know which parts of the stack are no longer maintained\nSomeone follows the security announcements for this stackSomeone follows the security announcements for this stack\nBackups\nBackups run automatically, without anyone having to remember themBackups run automatically, without anyone having to remember them\nA restore was tested in the past year, on a real copyA restore was tested in the past year, on a real copy\nBackups are stored somewhere other than the system itselfBackups are stored somewhere other than the system itself\nYou know how much data you would lose at most (an hour, a day)You know how much data you would lose at most (an hour, a day)\nKnowledge and documentation\nWritten documentation exists for setup and deploymentWritten documentation exists for setup and deployment\nMore than one person can put a change into productionMore than one person can put a change into production\nThe known workarounds (never click that twice) are written downThe known workarounds (never click that twice) are written down\nIf the main developer left tomorrow, work could continue within a weekIf the main developer left tomorrow, work could continue within a week\nSecurity basics\nEvery user has a personal account, no shared loginsEvery user has a personal account, no shared logins\nAccess for people who left has been removed, and you checked recentlyAccess for people who left has been removed, and you checked recently\nAdmin accounts require two-factor authenticationAdmin accounts require two-factor authentication\nPasswords and keys live outside the source codePasswords and keys live outside the source code\nDaily operations\nYou hear about failures from an alert, not from a userYou hear about failures from an alert, not from a user\nThe system has an owner, by nameThe system has an owner, by name\nA test environment exists, separate from productionA test environment exists, separate from production\nYou know what the system costs per month, everything includedYou know what the system costs per month, everything included\nWhere you stand\n0/20answered\nYes0\nPartly0\nNo0\nAnswer the questions and the picture builds up here.\nAlso on paper: Software health check The same list as a printable PDF, for a meeting table or a wall. Get the PDF\nGood to know\nHow to read the result\nThe no answers are the result\nThere is no total score to feel good about. Each no is a thing that will cost you on a bad day.\nPartly counts against you\nA backup that runs but was never restored is not a backup. If you hesitate, the honest answer is partly.\nIt is a starting point\nTwenty questions cannot audit a system. They tell you where to look first, which is usually enough.\nMore tools\nTry another one\nPlanning\nAI fit check\nWork out whether AI earns its place in a concrete problem.\nOpen tool\nPlanning\nLaunch checklist\nTick off what has to be true before a site or app goes live.\nOpen tool\nPlanning\nProject scope estimator\nPick what you need and get an indicative size and timeline.\nOpen tool\nNeed something these can't do?\nThese are the small ones. The bigger ones we develop for the people who ask.\nTell us what you need","contentMode":"full","sections":[]},{"id":"page.tools.launch","locale":"en","kind":"page","canonicalUrl":"https://punfyre.be/en/tools/launch","title":"Launch checklist","summary":"Most launch problems are not code. They are the domain nobody owns, the backup nobody tested, the error nobody sees. Work through the list here.","text":"Delivery that lasts\nLaunch checklist\nMost launch problems are not code. They are the domain nobody owns, the backup nobody tested and the error nobody sees. Work through the list here, or take the PDF into a meeting.\nUse the tool\nDomain and access\nDomain registered in your own name, not the builder'sDomain registered in your own name, not the builder's\nDNS access documented, and at least two people can reach itDNS access documented, and at least two people can reach it\nTLS certificate valid and set to renew automaticallyTLS certificate valid and set to renew automatically\nwww and the bare domain both work, one redirecting to the otherwww and the bare domain both work, one redirecting to the other\nBackups and rollback\nBackups run automatically, every dayBackups run automatically, every day\nA restore has actually been tested, not just configuredA restore has actually been tested, not just configured\nRollback plan written down: who does what if the launch failsRollback plan written down: who does what if the launch fails\nThe previous version stays deployable for the first weeksThe previous version stays deployable for the first weeks\nLegal and consent\nPrivacy policy and terms published and datedPrivacy policy and terms published and dated\nCookie consent appears before any non-essential trackers loadCookie consent appears before any non-essential trackers load\nContact and company details (VAT number) are on the siteContact and company details (VAT number) are on the site\nForms state what happens with the data people enterForms state what happens with the data people enter\nMonitoring and errors\nError monitoring alerts a person, not a dashboard nobody watchesError monitoring alerts a person, not a dashboard nobody watches\nAn uptime check tests the site from outsideAn uptime check tests the site from outside\nA test error was triggered and the alert actually arrivedA test error was triggered and the alert actually arrived\nQuality pass\nPerformance checked on a mid-range phone over mobile dataPerformance checked on a mid-range phone over mobile data\nKeyboard navigation and contrast checked on the main flowsKeyboard navigation and contrast checked on the main flows\nForms tested with wrong input, not only with correct inputForms tested with wrong input, not only with correct input\nA 404 page exists and helps visitors onward instead of dead-endingA 404 page exists and helps visitors onward instead of dead-ending\nAnalytics events verified in the live tool, not only in the codeAnalytics events verified in the live tool, not only in the code\nThe first 48 hours\nEveryone knows how to reach the developer if something breaksEveryone knows how to reach the developer if something breaks\nA moment is planned on day 2 to review errors and numbersA moment is planned on day 2 to review errors and numbers\nWhere you stand\n0/22answered\nYes0\nPartly0\nNo0\nAnswer the questions and the picture builds up here.\nAlso on paper: Launch checklist The same list as a printable PDF, for a meeting table or a wall. Get the PDF\nGood to know\nHow to read the result\nRun it a week early\nHalf of these need someone else to act. Found on the evening itself, they become the reason you postpone.\nYour answers stay here\nKept in this browser so a reload does not cost you the list, and nowhere else. Reset clears them.\nSame list as the PDF\nThe tool and the PDF read from one source, so they cannot disagree. Use whichever fits the moment.\nMore tools\nTry another one\nPlanning\nSoftware health check\nScore software you already run, and see what the no answers add up to.\nOpen tool\nPlanning\nPartner questions\nThe questions to ask any software builder before you sign.\nOpen tool\nPlanning\nProject scope estimator\nPick what you need and get an indicative size and timeline.\nOpen tool\nNeed something these can't do?\nThese are the small ones. The bigger ones we develop for the people who ask.\nTell us what you need","contentMode":"full","sections":[]},{"id":"page.tools.partner","locale":"en","kind":"page","canonicalUrl":"https://punfyre.be/en/tools/partner","title":"Partner questions","summary":"Ask these of anyone quoting you, including us. The answers matter less than whether they are given straight, and whether they end up in writing.","text":"Open collaboration\nPartner questions\nAsk these of anyone quoting you, including us. The answers matter less than whether they are given straight, and whether they end up in writing.\nUse the tool\nWho actually does the work\nWill the people in the sales conversation also build the product?Will the people in the sales conversation also build the product?\nCan you meet the developers who will work on it before you sign?Can you meet the developers who will work on it before you sign?\nIs any part of the work subcontracted, and to whom?Is any part of the work subcontracted, and to whom?\nWho is your day-to-day contact once the project is running?Who is your day-to-day contact once the project is running?\nOwnership of code and data\nDo you own the source code, and does the contract say so in plain words?Do you own the source code, and does the contract say so in plain words?\nCan you export your data at any time, in a format another system can read?Can you export your data at any time, in a format another system can read?\nAre the domain, hosting and third-party accounts registered in your name?Are the domain, hosting and third-party accounts registered in your name?\nAre any licence costs hidden inside the monthly fee?Are any licence costs hidden inside the monthly fee?\nWhat handover includes\nWhat exactly do you receive: source code, documentation, credentials, deployment instructions?What exactly do you receive: source code, documentation, credentials, deployment instructions?\nCould another developer take over from the handover alone, without calling them?Could another developer take over from the handover alone, without calling them?\nIs the handover described and priced in the contract, or a favour to negotiate later?Is the handover described and priced in the contract, or a favour to negotiate later?\nAfter launch\nWhat does support cover exactly, and what counts as a billable extra?What does support cover exactly, and what counts as a billable extra?\nHow are changes and new features priced: fixed quote, hourly rate, bundle?How are changes and new features priced: fixed quote, hourly rate, bundle?\nHow quickly are security updates applied, and who watches for them?How quickly are security updates applied, and who watches for them?\nWhich response times are guaranteed on paper, not promised verbally?Which response times are guaranteed on paper, not promised verbally?\nIf the partner disappears\nWhat happens if the company stops, is sold or drops this product line?What happens if the company stops, is sold or drops this product line?\nCan you reach the code without their cooperation (your own repository, escrow)?Can you reach the code without their cooperation (your own repository, escrow)?\nCould another party continue the work without rebuilding from scratch?Could another party continue the work without rebuilding from scratch?\nWhat is the exit arrangement: notice period, final handover, cost?What is the exit arrangement: notice period, final handover, cost?\nWhere you stand\n0/19answered\nYes0\nPartly0\nNo0\nAnswer the questions and the picture builds up here.\nAlso on paper: Choosing a software partner The same list as a printable PDF, for a meeting table or a wall. Get the PDF\nGood to know\nHow to read the result\nAsk us too\nWe wrote this knowing it would be turned on us. If an answer of ours sounds evasive, press.\nWritten down beats promised\nOwnership, handover and what happens after launch belong in the contract, not in a conversation.\nA no can be fine\nNot every builder does everything, and saying so is a good sign. A yes to all of it is not.\nMore tools\nTry another one\nPlanning\nSoftware health check\nScore software you already run, and see what the no answers add up to.\nOpen tool\nPlanning\nAI fit check\nWork out whether AI earns its place in a concrete problem.\nOpen tool\nPlanning\nProject scope estimator\nPick what you need and get an indicative size and timeline.\nOpen tool\nNeed something these can't do?\nThese are the small ones. The bigger ones we develop for the people who ask.\nTell us what you need","contentMode":"full","sections":[]},{"id":"page.tools.passphrase","locale":"en","kind":"page","canonicalUrl":"https://punfyre.be/en/tools/passphrase","title":"Passphrase generator","summary":"A handful of random words beats a short password full of symbols, and you stand a chance of remembering it. Generate one here, entirely in your own browser.","text":"Trust-sensitive by default\nPassphrase generator\nA handful of random words beats a short password full of symbols, and you stand a chance of remembering it. Generate one here, entirely in your own browser.\nUse the tool\nTime to guess it - 0 bits of entropy\nAssuming an attacker who already has the file and can try a trillion guesses a second.\nWords\n6\nSeparator\nCapitalise Add a number\nGenerated in your browser with the built-in crypto RNG. Nothing is sent anywhere or stored.\nGood to know\nHow to read the result\nWhat entropy tells you\nEntropy measures how many guesses an attacker would need. Each extra word adds far more than swapping a letter for a symbol does, which is why length wins.\nWhere it is generated\nIn your browser, using the built-in cryptographic random generator. Nothing is sent to us, nothing is logged, and nothing is stored. Close the tab and it is gone.\nUse a password manager\nRemember one strong passphrase for the manager itself, and let it generate and store the rest. Never reuse a passphrase across accounts.\nMore tools\nTry another one\nPlanning\nSoftware health check\nScore software you already run, and see what the no answers add up to.\nOpen tool\nPlanning\nPartner questions\nThe questions to ask any software builder before you sign.\nOpen tool\nDesign\nContrast checker\nCheck any two colours against the WCAG accessibility levels.\nOpen tool\nNeed something these can't do?\nThese are the small ones. The bigger ones we develop for the people who ask.\nTell us what you need","contentMode":"full","sections":[]},{"id":"page.tools.scope","locale":"en","kind":"page","canonicalUrl":"https://punfyre.be/en/tools/scope","title":"Project scope estimator","summary":"It is hard to plan anything without a sense of size. Tick what your project needs and get an honest indication of how big it is and how long it usually takes.","text":"Clarity over ceremony\nProject scope estimator\nIt is hard to plan anything without a sense of size. Tick what your project needs and get an honest indication of how big it is and how long it usually takes.\nUse the tool\nWhat it is\nPublic website Web app or portal Mobile app\nWhat it does\nAccounts and sign-in Payments or billing Data and dashboards Third-party integrations Automation or workflows\nWhat it has to respect\nMultiple languages Compliance or sensitive data\nPick what applies\nNothing selected yet. Tick a few things above and the estimate fills in.\nTalk it through with us\nA rough indication to start a conversation, not a quote. Every project gets a real scope before anything is agreed.\nAlso on paper: Scope brief template A printable document that goes with this, ready to fill in and hand over. Get the PDF\nGood to know\nHow to read the result\nWhy there is no price\nA number without a conversation would be a guess dressed up as a quote. What a project costs depends on what it has to do, not on how many boxes you tick.\nWhat moves the estimate most\nIntegrations, payments and anything touching sensitive data add the most, because they bring other people's systems and rules along with them.\nWhat happens next\nIn a real project we frame the problem first, then scope it properly. That conversation is free and usually changes the shape of the idea for the better.\nMore tools\nTry another one\nPlanning\nPartner questions\nThe questions to ask any software builder before you sign.\nOpen tool\nPlanning\nSoftware health check\nScore software you already run, and see what the no answers add up to.\nOpen tool\nPlanning\nAI fit check\nWork out whether AI earns its place in a concrete problem.\nOpen tool\nNeed something these can't do?\nThese are the small ones. The bigger ones we develop for the people who ask.\nTell us what you need","contentMode":"full","sections":[]},{"id":"page.tools.theme","locale":"en","kind":"page","canonicalUrl":"https://punfyre.be/en/tools/theme","title":"Brand theme card","summary":"A palette rarely fails in a swatch row, it fails on a real surface. Try yours on a real card, in light and dark, and change anything you like.","text":"Design for real people\nBrand theme card\nA palette rarely fails in a swatch row; it fails on a real surface. Start from one of our brands or a neutral theme, flip between light and dark, and change anything you like.\nUse the tool\nOur brands\nReal palettes, shown as they are.\nThemes to play with\nNeutral starting points. Nobody's brand, edit freely.\nTypeface\nLive preview\nPunfyre\nSoftware that fits the people who use it.\nClearHumanDependable\nPrimary action Secondary\nYour email you@company.com We only use it to reply.\nColours\nPage background Card surface Text Muted text Border Primary On primary Accent\nContrast checks The accessibility guideline for readable colour. Level AA asks for a 4.5:1 ratio on body text, 3:1 on large text. Check a pair yourself\nGood to know\nHow to read the result\nOur brands versus themes\nPunfyre and Alarmira are real brands, shown with their actual colours. The other options are neutral starting points that belong to nobody, so edit those freely. The moment you change a brand palette it becomes your theme, and the tool says so.\nLight and dark are separate\nA dark theme is not a light one inverted. Each mode carries its own palette here, because a colour that works on cream often falls apart on near-black.\nWarnings point at real pairs\nWe only check combinations that actually appear on screen: body text on the page, a button label on its button, an accent used as a link. Each warning opens that exact pair in the contrast checker.\nMore tools\nTry another one\nDesign\nContrast checker\nCheck any two colours against the WCAG accessibility levels.\nOpen tool\nPlanning\nAI fit check\nWork out whether AI earns its place in a concrete problem.\nOpen tool\nPlanning\nLaunch checklist\nTick off what has to be true before a site or app goes live.\nOpen tool\nNeed something these can't do?\nThese are the small ones. The bigger ones we develop for the people who ask.\nTell us what you need","contentMode":"full","sections":[]},{"id":"page.trainings","locale":"en","kind":"service","canonicalUrl":"https://punfyre.be/en/trainings","title":"Hands-on learning, straight from real projects","summary":"Sessions for your team, drawn from the projects we deliver and told plainly. You leave with things you can apply the next day.","text":"Trainings\nHands-on learning, straight from real projects\nSessions for your team, drawn from the projects we deliver and told plainly. You leave with things you can apply the next day.\nTopics we teach\nThemes we know from the inside\nEvery topic comes out of our own daily work; we don't teach what we haven't done.\nPractical AI for your team\nWhat AI genuinely does for your work today, where it falls short, and how to use it responsibly.\nRead the article\nSoftware that lasts\nHow to deliver software that keeps working after handover: healthy foundations, honest documentation.\nRead the article\nWorking in short iterations\nKanban and iterative delivery as we use them daily: small steps, visible work, steady progress.\nRead the article\nAccessibility in practice\nMaking digital products usable for everyone: what matters most, how to test it, how to keep it.\nRead the article\nSecurity for sensitive data\nEveryday habits for teams handling sensitive data: spotting risks and knowing what to do when something feels off.\nRead the article\nReplacing legacy systems\nMoving off an ageing system without betting everything on one release: what to replace, what to keep.\nRead the article\nHow a session works\nAround one table, working on real things\nShaped around your team\nYour tools, your level and your questions shape the session, not a fixed slide deck.\nYour place or ours\nWe come to you, or you join us at the studio, as long as everyone fits around one table.\nYour real cases\nNo slideware: we work on your actual situations and code, because that is where lessons stick.\nIn the open\nThe same lessons, free to read\nThe articles on this site cover the same themes, free to read, so you can see how we think first.\nRead the articles\nGood to know\nBefore you plan a session\nHow big should the group be?\nSmall groups work best, so everyone gets to ask questions and try things. We agree the size together.\nDo we need a technical background?\nNo. We tailor the depth to who is in the room, from developers to people who use the software every day.\nWhat does it cost?\nWe price per session, based on topic, preparation and group. Tell us what you have in mind and you get a clear proposal.\nCan it be about our own codebase?\nYes, and that is usually the best version: working on your own code makes every lesson concrete and useful afterwards.\nEvery topic above is also written up. Read the articles first and see how we think before you book anything.\nCurious what a session could look like for your team\nTell us what your team wants to get better at. We'll think along and shape a session that fits.\nTalk to us about a session","contentMode":"full","sections":[]},{"id":"page.websites","locale":"en","kind":"service","canonicalUrl":"https://punfyre.be/en/websites","title":"A website that earns trust","summary":"Your site is often the first thing people check before they call. We develop sites that are fast, findable, multilingual and easy to keep current.","text":"Websites\nA website that earns trust\nYour site is often the first thing people check before they call. We develop sites that are fast, findable, multilingual and easy to keep current.\nWhat you get\nEverything a site needs to earn trust\nFast and findable\nSpeed and SEO fundamentals sit in the foundation, not in a clean-up round afterwards.\nMultilingual by design\nDutch, French and English from day one, every page in every language.\nEasy to keep current\nYou edit the content yourself, or we keep it current for you.\nProven foundations\nYour site runs on Punfyre Forge, the building blocks behind everything we ship.\nHow it runs\nFrom first conversation to a site that works\nFrame the goal\nFirst we pin down who the site must convince and what it must make easy.\nDevelop in the open\nYou follow the site on a live preview and your feedback lands in the next round.\nLaunch and handover\nWe put the site live and hand you the keys, or keep looking after it for you.\nProof\nJudge us by what's live\nOur projects page shows real work you can click through, including this site.\nSee our projects\nGood to know\nQuestions we get about websites\nCan we edit the site ourselves?\nYes. You can change text, images and pages without calling us, and we do the edits for you if you'd rather not.\nDo you also do webshops?\nYes. Commerce runs on the same foundations, so a shop becomes an extension of your site instead of a separate system.\nWhat about hosting?\nWe arrange production hosting and keep it healthy, with updates, monitoring and backups. Your domain and content stay yours. We wrote about the quiet work that keeps software healthy.\nDo you redesign existing sites?\nYes. Sometimes a fresh design on your existing content, sometimes a redevelopment on healthier foundations. An advisory read tells you honestly which one you need.\nWant the reasoning behind all this? Our articles go deeper on design, accessibility and foundations.\nWhere we've done this\nClient work\nVivalyte\nA 200-product LED catalog that keeps itself current: specs, photometrics, and datasheets synced straight from the system the company already runs on.\nRead more In development\nClient work\nOn Wheels\nThe accessibility app that maps what a doorway actually looks like, and the platform cities use to act on it.\nRead more Live\nClient work\nWit-Gele Kruis East Flanders\nA care-request website that lets doctors, health funds, and hospitals arrange home nursing in a few clicks.\nRead more Live\nSee all projects\nReady for a site that earns trust\nTell us what your site has to do for you, and we'll give you an honest read on what that takes.\nLet's talk","contentMode":"full","sections":[]}]}