Skip to content

Let's talk

DawidLewandowski

I take a problem from the first conversation to a working deployment.Picking the right tool for the problem matters more than knowing every framework. Shopware 6 and PHP/Symfony are my home ground; web applications and AI features are the rest of the job.

Portrait of Dawid Lewandowski

I worked as a developer in two companies, then went freelance. Today I mostly work as an in-house developer for a fast-growing e-commerce shop, alongside my own clients and smaller projects.

Based in
Poland
Working in
English & Polish
Company
Lcommerce Solutions

01How I work

Most clients don't come with a spec. They come with a problem.

Orders arrive as PDFs. Product pages need copy in six languages. The recommendation engine can't explain itself. My job is to work out what is actually needed, design the solution, build it, and put it into production. Backend, frontend, architecture and planning in one place, so nothing gets lost between people.

  • Shopware 6 & Symfony

    Custom plugins, integrations, checkout and admin work, migrations. The platform I know best and the one most of my clients run on.

  • Web applications

    From a rough idea to a running product: data model, API, interface, hosting. I plan it, build it and keep it running.

  • AI where it pays off

    Product images, copy and alt texts written from the photos alone, recommendations that explain themselves, n8n automations. Everyday tools in my work, mostly through fal.ai and Replicate.

02Products

Five products I designed, built and run myself.

Design, backend, frontend, infrastructure, from the idea to production. This is what "one person from problem to deployment" looks like in practice.

02.1meloo.io

Meloo

Learn Spanish from the songs you love.

For people who know words but don't understand people.

A song becomes a lesson: lyrics synced to the word, every word translated in its context, idioms explained, verbs conjugated, flashcards with spaced repetition. Free, sign in with Google or email.

What's under the hood

  • A four-stage pipeline turns a YouTube link into aligned, translated, reviewed lyrics.
  • Three translation layers in one prompt: the line, the idiom, the word in context.
  • FSRS spaced repetition implemented from scratch.
  • All AI work runs offline. A learner never waits for a model.
Open meloo.io

Symfony · Vue · MySQL · Claude · Whisper · TTS

Meloo song player with word-by-word translated lyrics

02.2doc2cart.com

Doc2cart

A PDF order list becomes a filled shopping cart.

For B2B shops whose customers order from spreadsheets and printed lists.

An API-first platform plus two free integrations, for Shopware 6 and Shopify, so a shop can start using the API without writing its own client. The Shopify app is in the App Store; the Shopware plugin ships via Packagist.

What's under the hood

  • OCR of tables from documents of varying quality, with column-type hints that repair mistakes in SKUs.
  • The review wizard is rendered once and embedded in both platforms, themed per host.
  • HMAC-signed API, two-step async processing, page-based metering and billing.
  • Ten interface languages, down to the Shopify theme editor.
Open doc2cart.com

Symfony · Vue · AWS Textract · Stripe · Shopify Remix app

Doc2cart wizard mapping columns of a scanned order list

02.3bookchair.io

BookChair

Online booking for barbershops, without a marketplace taking a cut.

For small service teams of one to eight people.

Clients book in three fields, no account needed. The shop gets a team calendar, SMS confirmations and no-show protection, on a pay-per-SMS model instead of a platform fee.

What's under the hood

  • Photograph your price list and the service catalogue is set up by a vision model, durations estimated.
  • Multi-staff availability: a service can require several people at once, each with daily caps.
  • Double-opt-in bookings that expire on their own, scheduled through delayed messages instead of cron.
  • SMS credits priced by country tier so the margin survives expensive destinations.
Open bookchair.io

Symfony · Vue · MySQL · AWS SNS · Stripe · fal.ai

BookChair team calendar with bookings

02.4taste-vision.io

TasteVision

Professional food photos from a phone snapshot.

For restaurants, food trucks and delivery brands.

Upload a photo of the real dish, pick a cuisine and a style, get a styled photo back in seconds. The dish stays exactly as it is; only lighting, background and styling change.

What's under the hood

  • Image-to-image generation with a prompt that forbids touching the food, so you never sell a dish you don't serve.
  • A cuisine-by-style matrix kept in the database, so new looks ship without a deploy.
  • A guest flow that lets a stranger generate before signing up, merged into the account later.
  • Token wallet with one-time packs through Stripe.
Open taste-vision.io

Symfony · Vue · Replicate · Flux Kontext · Stripe

TasteVision before and after: a phone photo of a dish and its styled version

02.5readly.fun

Readly

Read anything one word at a time, at the pace you choose.

For people who want to get through articles, papers and books faster.

A speed reader in the browser, built on RSVP: words are shown one at a time at a fixed point, so the eyes stop jumping. Paste text, drop a PDF or EPUB, or paste an article link. Free, no account, in beta.

What's under the hood

  • PDF and EPUB are parsed in the browser, so a 400-page book never leaves the device and there is no upload endpoint.
  • Layout heuristics drop headers, footnotes and page numbers, so the reader reads the text and not the furniture.
  • Article links are fetched server-side with Readability, validated against SSRF on every redirect hop and rate-limited.
  • Version 2.0 is the feedback list from version 1, finished: a focus letter that stays put, tap to play, pauses where the chapters are.
Open readly.fun

Symfony · Vue · pdf.js · Readability · Mixpanel

Readly landing page with its reader showing one word and the focus letter highlighted

03Shopware & Shopify

Shopware Extension Partner, eleven extensions in the Store.

From CMS elements and DeepL translations to admin tools and a national-holidays condition for the Rule Builder. Maintained for the current Shopware versions. Plus one app in the Shopify App Store.

  1. 01

    DeepL Translations

    Bulk translation of products, properties, categories and manufacturers.

  2. 02

    Simple Shopping Boxes Slider

    A responsive CMS slider for products, categories and custom content.

  3. 03

    Static Pages CMS Sections

    CMS sections on account and registration pages.

  4. 04

    National Holidays

    Holidays imported by API, a Rule Builder condition, orders blocked on request.

  5. 05

    Multi Unit Measure Conversions

    Several units of measure per product, per sales channel.

  6. 06

    Advanced Manufacturer Grid

    A manufacturer grid with SEO URLs and product listings.

  7. 07

    Quick History & Bookmarks

    Recent admin activity and saved bookmarks, one click away.

  8. 08

    Media Usage & Extension Filters

    Find what a media file is used for and filter by file type.

  9. 09

    Custom Fields Default Value

    Default values for custom fields on every new entity.

  10. 10

    Customer Language Selection

    The language of customers created in the admin, so the welcome email arrives right.

  11. 11

    No Payment Method Preselection

    No pre-selected payment method at checkout, as some consumer laws require.

  12. +1

    Doc2cart for Shopify

    Import product data from documents straight into the cart.

04Something different

Also: websites for small businesses and practices.

Fast, modern, built for the phone first, with no systems nobody uses. You get a page that loads instantly and says what you do. Updates are a message away.

  • Ready in days, not months
  • No plugins to update, nothing to break
  • Your domain, your content, no lock-in
Ask about a website

05Contact

Have a problem to solve? Write a few sentences about it.

I reply within one working day.

Your message goes straight to my inbox and nowhere else.