Qraft
  • What we do
  • Work
  • Team
  • Cowork
  • FR
  • /EN
Let’s talk

Let’s build softwareyou’ll still be running in three years.

We’re a team of developers in Marseille. Web and mobile apps, APIs, AI agents: since 2020 we have been shipping code that is robust, stable and built to last.

See what we’ve built
Nicolas RouanneNicolas Rouanne ↗Co-founder · ex-CTO or VP (Nomad Education, Boaterfly, Bruno)Alexis NugonAlexis Nugon ↗Co-founder · Epitech, 10+ years writing codeAdrien LupoAdrien Lupo ↗Developer · 4 years writing code

Applications, AI agents, technical leadership.

AI has changed the game, and this is only the beginning: prototyping is close to free now, and writing a lot of code costs almost nothing.

What we sell is engineering expertise, with AI as leverage. Anyone can write code now; turning it into a product that is scalable and still standing in five years is another job entirely.

Web apps, mobile, APIs
We write APIs in Rails, NestJS or FastAPI, plus interfaces in Next.js and mobile apps in React Native that ship to both stores. We pick the solution that fits the need and your team: simple, effective choices, in the spirit of Doctolib’s Boring Engineering. No microservices when a well-structured monolith will do.
AI agents
A LangGraph agent runs at Smartbox, and we are building others at C’Evidentia and Episto. From a Markdown knowledge base, the way Karpathy describes it, to a RAG or a LangGraph agent: we start from your proprietary knowledge and pick the simplest architecture that does the job.
Technical leadership
When the team already exists but velocity has collapsed, we take over technical leadership for as long as it takes. We arbitrate the architecture, run the reviews and say no to the projects that will not land. We keep writing code while we do it, otherwise we would stop knowing what we are talking about.
Mentoring and code review
Your developers send us their code to read, we build them an AI workflow that holds up under real work, and we stay reachable for the hard calls. You set the rhythm with us, and it usually changes halfway through.

Our recent work

We have shipped applications in optics, healthcare, fintech and luxury retail, and each time the bar was the same: it has to hold once we are gone.

  • easiware→

    easiware.com ↗

    Customer service · Technical leadership

    easiware-start, their new customer service product, needed someone to run the engineering.

    The team of eight had a problem with velocity, quality and seniority. Nicolas and Alexis took over technical leadership and migrated the microservices to a NestJS monolith without ever stopping delivery, because at eight people a well-structured monolith was enough. After a year, Qraft recruited its own replacement and easiware brought the project back in house.

    easiware

    Stack: NestJS · TypeScript · TypeORM · PostgreSQL · Jest · Next.js · MUI · Heroku · AWS S3

    Integrations: YouSign · Postmark

  • C’Evidentia→

    cevidentia.com ↗

    Optics · Web platform

    We built a platform for trying on and buying glasses online, with the back office that goes with it.

    The optician drives the customer’s screen over WebSockets during the eye test, quotes are signed electronically and each retail brand gets its own theme on its own subdomain. It all sits on a single codebase, because one codebase per brand would have meant fixing every bug as many times as there are brands. We are still shipping changes to it in production.

    C’Evidentia

    Stack: Rails API · Sidekiq · PostgreSQL · Redis · Next.js · TypeScript · MUI · Scalingo · AWS S3

    Integrations: Stripe · DocuSign · Postmark · Cal · Wing

  • Billi→

    billi.so ↗

    SaaS · Freelance management

    Billi automates the paperwork for agencies that manage freelancers.

    Every month the contractor’s timesheet goes out to the client for signature, and approving it fires off the invoice. Behind that, grover and Puppeteer run in a headless Chromium orchestrated by Sidekiq workers, because everyone invoices on the same day and dozens of PDFs go out at once.

    Billi

    Stack: Rails API · Sidekiq · PostgreSQL · Redis · Next.js · TypeScript · Tailwind CSS · shadcn/ui · Scalingo · AWS S3

    Integrations: YouSign · Postmark

  • Healthcare mobile app→

    Healthcare · Mobile app

    A mobile app coordinates home care for elderly people, and the project is under NDA.

    Doctors, home carers and families each see what concerns them, at the right moment, from their phone. We framed the need with the operational teams before writing a line, because you do not invent a home-care round from behind a desk. The app runs on both stores.

    Project under NDA · confidential client

    Stack: FastAPI · PostgreSQL · Redis (RQ) · React Native · Expo · NativeWind · Scalingo

    Integrations: Ximi · Brevo · Expo EAS

  • Embarq→

    embarq.fr ↗

    Umbrella employment · Web & mobile

    Embarq is an umbrella employment company: freelancer onboarding, assignments, invoicing and salaries all run through its web and mobile applications.

    Admins drive the assignments, the invoicing and the salary payments; freelancers sign their contracts and file their timesheets. A single Rails API, exposed over GraphQL, serves the web and the mobile app, because business rules this dense should only be written once. The iOS and Android app covers the full scope of the web.

    Embarq

    Stack: Rails API · GraphQL · Sidekiq · PostgreSQL · Redis · Next.js · TypeScript · MUI · React Native · Expo · Apollo Client · Heroku · AWS S3

    Integrations: DocuSign · Sendgrid · Upflow · HubSpot

  • Bruno→

    Fintech · Savings

    Bruno saves automatically for its users: an engine reads the spending and puts aside whatever can go.

    Bank aggregation feeds the analysis engine — Flask, NumPy, Pandas, alongside the Rails API — and the engine decides every savings transfer, because putting money aside must never push the account into overdraft. We built the whole thing end to end: the API, the engine, the web and mobile apps, a Facebook chatbot.

    Bruno

    Stack: Rails API · PostgreSQL · Redis · Flask · NumPy · Pandas · React · React Native · Expo · Heroku · AWS

    Integrations: Budget Insight · GoCardless · Postmark

  • Chloé→

    Luxury · Event landing page

    For the house of Chloé, we shipped the event landing page for a capsule collection launch, in seven languages.

    A digital launch packs international traffic into a few days, and the date does not move. A Next.js and Tailwind CSS page served from AWS, in seven languages, sized for the peak rather than the average — delivered for launch day.

    Chloé

    Stack: Next.js · Tailwind CSS · AWS · Cloudflare R2

  • Hellio→

    hellio.com ↗

    Energy transition · Embedded team

    Hellio orchestrates the financing of energy-saving renovation, and we reinforce its development team.

    Behind every energy-saving grant sits a whole ecosystem: the obligated parties who finance, the craftsmen who do the work, the business introducers, and a national desk that checks each operation is real. We work in sprints with the fullstack team — NestJS, TypeScript, Docker — on an information system integrated with Salesforce and HubSpot, and the organisation is moving to squads with our arrival.

    Hellio

    Stack: NestJS · TypeScript · Docker

    Integrations: Salesforce · HubSpot

At Episto, we now work with the product and engineering team of a research platform that recruits its respondents on social media.

Our values.

An engagement runs from a few months to a year or more, and the code is yours outright, from the first commit to the last.

Transparency
You are not just a client: we join your team, and you are part of ours. We write things down, we work async, and everything is shared — the code, the reviews, the architecture, the documentation. The wins, and the little problems too.
Curiosity
We explore, we test, we learn — always. The Tuesday-morning tech breakfast — a 30-minute talk, more than 100 and counting — plus the blog, our experiments, the code we open up.
Robustness
We build the system to go down as little as possible, and above all we prepare for the day it does: monitoring, alerting, backups. CI and automation everywhere, to limit human error.
Sovereignty
Your data is hosted on your premises, or in France, in Europe. We pay particular attention to AI, self-hosting open-weight models when it makes sense.

It all started in Marseille, in 2020.

Alexis and Nicolas each had about ten years of development behind them when they met at a fintech startup incubated by Meta. After several projects together, they decided in 2020 to go into business around the values they shared. That is how Qraft started.

They wanted a workshop of their own: to pick the projects, to pick how those projects get built and to pick the people who write them. Six years and dozens of mentored developers later, we have not changed our minds.

Three people working at their desks in an open space with whitewashed brick walls
36 rue Sainte, Marseille · the cowork.

They like things well made, and they like structure: there is beauty in code and in engineering. That is where the name comes from — Qraft, for quality crafting. We build products that are robust, beautiful and fast, because that quality has value, and we bring it to our clients and their teams, with the velocity that comes with it. AI changes none of this: it just lets us go faster and further — it accelerates what sets us apart.

We hire engineers out of schools like Epitech, and people who came to code from another career through bootcamps like Le Wagon — Adrien came through it after business school and a few years in marketing. Different routes in, and the range they bring: all we ask for is potential, curiosity and rigour.

Come work with us!

Two developers leaning over a screen full of code, at a table in the old office
Nicolas and Mehdi, code review, in the old office.

The stacks we know

From Rails to LLMs, we know the stack your project needs.

Already have a stack? We work in it. Otherwise these are the technologies we prefer and recommend — for every problem, the tool that fits it best. An app a small team has to maintain: Rails. An API plus an AI agent: Python. A modern app for a scale-up: NestJS, which works very well with agents.

Backend
  • Rails
  • NestJS
  • FastAPI
  • Node.js
  • Sidekiq
  • GraphQL
  • RSpec
  • Rubocop
Databases
  • PostgreSQL
  • Redis
Frontend
  • Next.js
  • React
  • TypeScript
  • Tailwind CSS
  • MUI
  • shadcn/ui
Mobile apps
  • React Native
  • Expo
Hosting & infra
  • Scalingo
  • Heroku
  • Vercel
  • AWS
  • Docker
  • GitHub Actions
LLMs
  • OpenAI
  • Anthropic
  • Mistral
  • Llama
Orchestration & RAG
  • LangChain
  • LangGraph
  • Langfuse
  • pgvector
Dev tools
  • Claude Code
  • Cursor
  • MCP

Our door is open,at 36 rue Sainte.

Come and see us at the cowork.

Tell us what you want to build, or what just broke. Thirty minutes is usually enough to know whether we are the right people for it. We will say so even when the answer is no.

Let’s talk about your project

The cowork is two minutes from the Vieux-Port. The coffee is good.

Looking down onto a Marseille street from a balcony in full sun
From the balcony of our cowork.
Qraft
  • What we do
  • Work
  • Team
  • Cowork

Qrafting agentic software since 2020. Designed, written and coded at 36 rue Sainte, Marseille, by Nicolas, Alexis and Adrien. Write to us: hello@qraft.tech. © Qraft 2026.