Lunares — Modern Lighting e-commerce
A fast, SEO-optimised online store for modern lighting — 100,000+ indoor and outdoor lamps, fixtures and home décor, delivered across Europe.
Visit siteA lean software studio from Kraków, Poland. We build pragmatic web products and weave AI into them — shipped simply, tested thoroughly, and always ready to change.
Lean design stays ready for your next requirement — not just today's.
We (ab)test ideas as early as possible and let real data decide.
The border between your team and ours blends quickly. We teach as we build.
Simple means fast, reliable, and cheap to maintain.
We are a small team of senior software engineers. Our mission is to reach your goals in a simple, cost-effective way using modern technology. Working in an Agile, Lean way lets us pivot early and adapt as requirements change — while test-driven development keeps your application robust and a joy to maintain. Increasingly, that means designing AI into products thoughtfully, where it earns its place.
Products we build and run — we are our own best customers.
A fast, SEO-optimised online store for modern lighting — 100,000+ indoor and outdoor lamps, fixtures and home décor, delivered across Europe.
Visit siteA Polish platform to buy business and professional insurance entirely online — company & professional liability and property cover, quoted in minutes.
Visit siteNotes on software engineering, AI, and building products.
Agents are fun in a demo and humbling in production. Here are the guardrails that made ours reliable enough to trust.
Put the pieces together — the no-Redis Solid stack, Kamal, pgvector, and the hard-won disciplines of building with LLMs — and a coherent picture emerges: Rails is an outstanding host for AI-native applications, precisely because it lets a small team build and run both the app and its AI features. A synthesis of where the stack stands.
The most reliable AI systems in production aren't fully autonomous — they keep a human at the decision points that matter. But 'human in the loop' is easy to do badly: rubber-stamp approvals, alert fatigue, humans blamed for the model's mistakes. A deep-dive on designing the human-AI division of labour so both do what they're good at.