Aller au contenu

Produits logiciels et ingénierie

Nous créons des logiciels qui font tourner de vraies opérations.

Deliverio et Lead2Door sont les nôtres : conçus, développés, livrés et exploités par notre équipe. Cette même équipe réalise des systèmes sur mesure, de l’automatisation, de l’infrastructure, de la sécurité et des projets WordPress pour les entreprises dont les logiciels doivent tenir la route.

Pourquoi notre travail tient

Un logiciel s’améliore quand ceux qui le construisent doivent aussi le faire tourner. Nous construisons et exploitons nos propres produits, et appliquons la même rigueur à chaque système client : de vrais processus, de vrais cas limites, et un logiciel qui fonctionne encore le lendemain matin.

01Produits

Des produits que nous construisons, livrons et exploitons.

Deliverio et Lead2Door sont des produits en production pour les opérations de livraison et de commerce. Themo Landin fait partie des extensions WordPress que nous créons et vendons.

deliverio.maOpérations de livraison

Deliverio

Un logiciel d’opérations de colis et de livraison : suivi, enlèvements et tournées des livreurs, paiement à la livraison et réseaux régionaux.

  • Suivi des colis avec un historique de statuts clair
  • Enlèvements et tournées des livreurs
  • Gestion du paiement à la livraison
  • Réseaux de livraison régionaux et intégrations

Sous le capot

Chaque colis passe par des états explicites, et chaque transition est enregistrée. Marchands, réseaux et livreurs voient chacun leur partie.

Illustratif
Registre des colis Deliverio avec filtres de statut et lignes d’expédition, sur des données de démonstration.
Interface du produit en français, avec des données de démonstration.

lead2door.comOpérations commerciales

Lead2Door

Un espace de travail géré pour les équipes D2C et COD, de la capture des prospects à la confirmation, l’expédition et la gestion financière.

  • Capture et confirmation des prospects
  • Des actions adaptées aux agents et aux administrateurs
  • Expédition via des transporteurs connectés
  • Opérations financières dans le même espace

Sous le capot

Les historiques des prospects et des expéditions sont tenus séparément, et chaque transporteur passe par un même flux de commande partagé.

Illustratif
Espace de confirmation Lead2Door avec file de prospects et détails de commande, sur des données de démonstration.
Interface du produit en français, avec des données de démonstration.

WordPress

Themo Landin

Notre extension WordPress de création de tunnels, parmi les outils WordPress que nous créons et vendons.

Découvrir Themo Landin

03Notre ingénierie

Une ingénierie lisible.

Un logiciel opérationnel échoue dans les détails : un statut qui saute une étape, un transporteur qui se comporte autrement, un utilisateur qui voit la mauvaise action. Voici les principes avec lesquels nous construisons.

Commandes et colis passent par des états explicites. Une transition est permise ou non, et le code dit laquelle.

type ParcelState =  | 'created' | 'picked_up' | 'in_transit'  | 'out_for_delivery' | 'delivered' | 'returned' const allowed: Record<ParcelState, ParcelState[]> = {  created: ['picked_up'],  picked_up: ['in_transit'],  in_transit: ['out_for_delivery'],  out_for_delivery: ['delivered', 'returned'],  delivered: [],  returned: [],} export function canMove(from: ParcelState, to: ParcelState) {  return allowed[from].includes(to)}

Chaque changement indique qui l’a fait et pourquoi, pour que le support, la finance et les opérations lisent la même histoire.

interface Transition {  from: ParcelState  to: ParcelState  actor: Actor  reason?: string  at: Date} export function move(parcel: Parcel, to: ParcelState, actor: Actor, reason?: string) {  if (!canMove(parcel.state, to)) throw new InvalidTransition(parcel.state, to)  parcel.history.push({ from: parcel.state, to, actor, reason, at: new Date() })  parcel.state = to}

Le flux partagé reste le même quand un transporteur change. Ses particularités vivent derrière une seule interface.

export interface ShippingProvider {  readonly id: string  createShipment(order: ConfirmedOrder): Promise<Shipment>  trackingUrl(shipment: Shipment): string} // The order workflow depends on the interface, never on one carrier.export async function ship(order: ConfirmedOrder, provider: ShippingProvider) {  const shipment = await provider.createShipment(order)  return markShipped(order, shipment)}

Agents, administrateurs, marchands et livreurs obtiennent les actions qui correspondent à leur rôle.

type Role = 'agent' | 'admin' | 'merchant' | 'courier'type Action = 'confirm' | 'ship' | 'deliver' | 'settle' const permissions: Record<Role, Action[]> = {  agent: ['confirm'],  admin: ['confirm', 'ship', 'settle'],  merchant: ['ship'],  courier: ['deliver'],} export const can = (role: Role, action: Action) =>  permissions[role].includes(action)

Nous livrons par petites étapes, observons ce qui tourne et corrigeons ce que les données montrent.

$ npm run release✓ typecheck       passed✓ tests           passed✓ build           passed→ deploy          production✓ health check    passed✓ release         complete

Code illustratif, écrit pour cette page.

04Méthode

Du premier échange à un système en production.

Vous savez toujours ce que nous faisons, pourquoi, et ce qui vient ensuite.

  1. 01

    Comprendre

    Nous cartographions le processus, les personnes impliquées, les systèmes en place et les contraintes qui comptent.

    Livrables

    • Carte du problème
    • Contraintes
  2. 02

    Concevoir

    Nous définissons le périmètre utile, l’architecture et un parcours de réalisation que vous pouvez suivre.

    Livrables

    • Périmètre
    • Architecture
    • Parcours de réalisation
  3. 03

    Construire

    Nous livrons un logiciel opérationnel par incréments et le relions aux opérations qui l’entourent.

    Livrables

    • Logiciel opérationnel
    • Systèmes connectés
  4. 04

    Exploiter

    Nous observons ce qui tourne, résolvons les problèmes et continuons d’améliorer le système.

    Livrables

    • Observation
    • Corrections
    • Améliorations

05Entreprise

Une entreprise de produits qui construit aussi pour ses clients.

Starthinc Labs LLC est l’entreprise derrière Deliverio, Lead2Door et Themo Landin. Ce que nous apprenons en exploitant nos produits façonne les systèmes que nous construisons pour nos clients, et le travail client affine notre pratique en retour.

En savoir plus sur Starthinc Labs
L’entreprise en bref
Entreprise
Starthinc Labs LLC
Immatriculation
Wyoming, États-Unis
Produits
Deliverio · Lead2Door · Themo Landin
Expertises
Logiciel · Automatisation · Infrastructure · Sécurité · WordPress
Langues de travail
English · Français · العربية

Contact

Dites-nous ce qui doit tourner.

Un nouveau produit, un système qui doit tenir, ou un processus qui ne devrait pas demander autant de mains. Écrivez-nous et nous discuterons de la prochaine étape utile.

Parler d’un projet