DiFacto is a Danish B2B SaaS startup that saves construction companies money — automatically. Our platform compares supplier invoices against pre-negotiated price agreements using AI and flags every pricing error that would otherwise slip through the cracks. We're talking real money: pilot data shows that over 10% of invoices contain errors, and companies lose 1–1.5% of their entire procurement volume to mistakes nobody catches.
We are launching on April 1st, 2026 — and now we need to bring development in-house.
We are three co-founders based at Incuba Katrinebjerg in Aarhus. Marius Relund (CEO) is a graduate economist from Aarhus Universitet with a serial entrepreneurial background. Jeppe Østerby is our commercial lead with a BA in Business Administration and a talent for getting in front of customers and building relationships. Ivan Grant Petrus (CTO) is a Kaospilot with a deep creative and strategic approach to building technology. Together, we've bootstrapped DiFacto from an idea into a working product with real customers and paying users.
We're part of several programmes and organisations that shape our journey: Incuba Katrinebjerg (our home base and incubator), Beyond Beta (accelerator), Nvidia Inception (AI startup programme), Dansk Industri, NextStep, Mikrolegat, and we're active in BNI networking groups across Aarhus.
Until now, our platform has been built by an external development team abroad. It's worked — but development is the core of what we do, and we've reached the point where it has to move in-house. That's not optional for us; it's paramount. We're phasing out the external team over the summer of 2026, and we need someone who can step in, take ownership, and grow with us.
We're not going to pretend this is a polished corporate gig. We're a bootstrapped startup. We don't have crazy liquidity to throw at a senior hire. What we do have is a real product in the hands of real customers, a clear technical architecture, a documented development plan, a financial forecast, and three founders who will invest serious time in making sure you succeed.
You'll work across our stack, which includes SvelteKit on the frontend, Node.js and Python on the backend, MongoDB as our database, Redis for caching and task queuing, Google Vertex AI / Gemini for our AI and OCR pipeline, and AWS (Stockholm region) for cloud infrastructure. We use Docker for containerisation, Bitbucket Pipelines for CI/CD, Nginx as our web server, CrowdSec for security, and Stripe for payments.
Your work will be real, not simulated. Depending on the phase and your strengths, that could mean building new features (API integrations, email automation, cloud file uploads), improving and maintaining the existing codebase, working on the AI pipeline and data processing logic, contributing to DevOps and infrastructure improvements, or helping us evaluate and test new LLM models as the AI space evolves.
We have a clear backlog with priorities, and you'll be involved in shaping what comes next — not just executing tickets handed down from above.
Let's be upfront: this is an unpaid internship. We're a bootstrapped startup, and we don't yet have the liquidity to offer a salary for this role. We know that's a lot to ask, and we respect that it's not for everyone.
Here's what we can offer in return:
A mandate that matters. This isn't a "fetch coffee and watch from the sidelines" internship. You will have both strategic and operational responsibility. You'll sit with the founders, you'll influence decisions, and you'll see the direct impact of your work on a live product that real companies depend on.
A thorough onboarding. We know that starting in a new codebase built by someone else is hard. We'll invest significant time onboarding you properly, and there will be a handover period with the current development team so you're not starting from zero. We expect the onboarding to take time, and we're patient with that.
Freedom to challenge us. We want someone who diverges, questions our assumptions, and pushes back when they see a better way. Our culture is built on do-ocracy: the best argument wins, not the loudest voice or the most senior title.
A proper workspace. You'll have a dedicated desk at Incuba Katrinebjerg — a modern co-working space with its own monitors, fitness centre, cafeteria, community events, and a vibrant ecosystem of startups and tech companies (including Microsoft, right next door). It's a great place to work and an even better place to build your network.
A front-row seat to building a company. You'll experience fundraising conversations, customer meetings, strategic planning, product decisions, and all the messy, exciting reality of early-stage startup life. If you're considering starting something yourself one day, this is the education no classroom can give you.
We're open to profiles. You might be a full-stack developer, a backend-focused engineer, or a computer/data science student. What matters more than your exact title is that you're comfortable working with code, curious about AI and data, and motivated by building something from scratch rather than maintaining something that already works.
You should be comfortable with (or eager to learn) technologies like JavaScript/TypeScript, Python, Node.js, MongoDB, and cloud services. Experience with SvelteKit, Docker, or AI/ML pipelines is a plus, but we'd rather have someone hungry and sharp than someone who ticks every box on paper.
Personally, we're looking for someone who takes initiative, communicates directly, and doesn't need to be told what to do every morning. Someone who's comfortable with ambiguity and can handle the fact that priorities shift in a startup. Someone who cares about the craft of building software, not just getting it to compile.
Starting date: From June 1st, 2026 onwards — we're flexible on the exact timing, and an earlier or slightly later start is possible depending on your situation.
Duration: We're open to discussing this. A minimum of 3–4 months makes sense for both sides given the onboarding investment, but we'd love a longer commitment if the fit is right.
Location: Incuba Katrinebjerg, Aarhus. We work from the office — this is a role where being physically present matters for collaboration, onboarding, and culture.
Hours: Flexible. We can discuss what works for your situation, whether that's full-time or a structured part-time arrangement.
Note: This is not an ECTS-earning university internship. It's a standalone position.
We're still building our culture — intentionally. We're three people with different backgrounds and different strengths, and we've learned that the best ideas come from honest disagreement. We argue, we challenge each other, and then we commit. We separate personality from the problem and focus on solutions, not politics.
We move fast, we stay agile, and we understand that the technology landscape shifts quickly. We're not precious about how things were done yesterday if there's a better way today. If you thrive in structured, predictable environments, this probably isn't the right fit. If you thrive in environments where you can shape things, own things, and see the results of your work — we'd love to hear from you.
This job comes with several perks and benefits
