diff --git a/apps/website/public/Paul-Jeszenszky.png b/apps/website/public/Paul-Jeszenszky.png deleted file mode 100644 index da675464..00000000 Binary files a/apps/website/public/Paul-Jeszenszky.png and /dev/null differ diff --git a/apps/website/public/croco-13.png b/apps/website/public/croco-13.png deleted file mode 100644 index 55e74fef..00000000 Binary files a/apps/website/public/croco-13.png and /dev/null differ diff --git a/apps/website/public/croco-charts.png b/apps/website/public/croco-charts.png deleted file mode 100644 index 1d12dad7..00000000 Binary files a/apps/website/public/croco-charts.png and /dev/null differ diff --git a/apps/website/public/croco-group.png b/apps/website/public/croco-group.png deleted file mode 100644 index bc72c8af..00000000 Binary files a/apps/website/public/croco-group.png and /dev/null differ diff --git a/apps/website/public/crocoder-ill-9-1.png b/apps/website/public/crocoder-ill-9-1.png index c881aa02..7006ed43 100644 Binary files a/apps/website/public/crocoder-ill-9-1.png and b/apps/website/public/crocoder-ill-9-1.png differ diff --git a/apps/website/public/cto-hero.png b/apps/website/public/cto-hero.png deleted file mode 100644 index 1528aeaa..00000000 Binary files a/apps/website/public/cto-hero.png and /dev/null differ diff --git a/apps/website/public/douglas-icon.png b/apps/website/public/douglas-icon.png deleted file mode 100644 index 3d9d9d66..00000000 Binary files a/apps/website/public/douglas-icon.png and /dev/null differ diff --git a/apps/website/public/email.png b/apps/website/public/email.png deleted file mode 100644 index be76a08f..00000000 Binary files a/apps/website/public/email.png and /dev/null differ diff --git a/apps/website/public/images/using-lago-to-create-a-flexible-billing-system.png b/apps/website/public/images/using-lago-to-create-a-flexible-billing-system.png new file mode 100644 index 00000000..9be2ed32 Binary files /dev/null and b/apps/website/public/images/using-lago-to-create-a-flexible-billing-system.png differ diff --git a/apps/website/public/images/using-lago-to-create-a-flexible-billing-system/stefan-submix-diagram.png b/apps/website/public/images/using-lago-to-create-a-flexible-billing-system/stefan-submix-diagram.png new file mode 100644 index 00000000..4e0b7336 Binary files /dev/null and b/apps/website/public/images/using-lago-to-create-a-flexible-billing-system/stefan-submix-diagram.png differ diff --git a/apps/website/public/lynes.svg b/apps/website/public/lynes.svg index ec0e28f9..6eef739a 100644 --- a/apps/website/public/lynes.svg +++ b/apps/website/public/lynes.svg @@ -1 +1 @@ - + diff --git a/apps/website/public/michele-rattotti.png b/apps/website/public/michele-rattotti.png deleted file mode 100644 index ba71abcb..00000000 Binary files a/apps/website/public/michele-rattotti.png and /dev/null differ diff --git a/apps/website/public/pic-people-collaborating-1.png b/apps/website/public/pic-people-collaborating-1.png new file mode 100644 index 00000000..c1d50632 Binary files /dev/null and b/apps/website/public/pic-people-collaborating-1.png differ diff --git a/apps/website/public/pic-people-collaborating.png b/apps/website/public/pic-people-collaborating.png deleted file mode 100644 index c8563099..00000000 Binary files a/apps/website/public/pic-people-collaborating.png and /dev/null differ diff --git a/apps/website/public/pie-chart.svg b/apps/website/public/pie-chart.svg index a89853f7..ce32c2f2 100644 --- a/apps/website/public/pie-chart.svg +++ b/apps/website/public/pie-chart.svg @@ -1,4 +1,4 @@ diff --git a/apps/website/public/raphael-bauer-bubble.png b/apps/website/public/raphael-bauer-bubble.png deleted file mode 100644 index 2a126f3a..00000000 Binary files a/apps/website/public/raphael-bauer-bubble.png and /dev/null differ diff --git a/apps/website/public/raphael-bauer.png b/apps/website/public/raphael-bauer.png deleted file mode 100644 index 76efab80..00000000 Binary files a/apps/website/public/raphael-bauer.png and /dev/null differ diff --git a/apps/website/public/services-2.png b/apps/website/public/services-2.png deleted file mode 100644 index 8f93caf4..00000000 Binary files a/apps/website/public/services-2.png and /dev/null differ diff --git a/apps/website/public/teams.png b/apps/website/public/teams.png deleted file mode 100644 index cab1ccf9..00000000 Binary files a/apps/website/public/teams.png and /dev/null differ diff --git a/apps/website/public/values-1-cro.png b/apps/website/public/values-1-cro.png deleted file mode 100644 index c9a744f9..00000000 Binary files a/apps/website/public/values-1-cro.png and /dev/null differ diff --git a/apps/website/public/values-2.png b/apps/website/public/values-2.png deleted file mode 100644 index 70d1b4c1..00000000 Binary files a/apps/website/public/values-2.png and /dev/null differ diff --git a/apps/website/public/values-3.png b/apps/website/public/values-3.png deleted file mode 100644 index 58dd1d2e..00000000 Binary files a/apps/website/public/values-3.png and /dev/null differ diff --git a/apps/website/public/values-img-crocodile-3.png b/apps/website/public/values-img-crocodile-3.png deleted file mode 100644 index 00d9f21b..00000000 Binary files a/apps/website/public/values-img-crocodile-3.png and /dev/null differ diff --git a/apps/website/public/values-main-image.png b/apps/website/public/values-main-image.png deleted file mode 100644 index 72013bb2..00000000 Binary files a/apps/website/public/values-main-image.png and /dev/null differ diff --git a/apps/website/public/vision.png b/apps/website/public/vision.png deleted file mode 100644 index 8ffe8e95..00000000 Binary files a/apps/website/public/vision.png and /dev/null differ diff --git a/apps/website/src/assets/croco-charts-2.png b/apps/website/src/assets/croco-charts-2.png new file mode 100644 index 00000000..2a2ee34f Binary files /dev/null and b/apps/website/src/assets/croco-charts-2.png differ diff --git a/apps/website/src/assets/croco-charts.png b/apps/website/src/assets/croco-charts.png deleted file mode 100644 index 1d12dad7..00000000 Binary files a/apps/website/src/assets/croco-charts.png and /dev/null differ diff --git a/apps/website/src/assets/values-2.png b/apps/website/src/assets/values-2.png deleted file mode 100644 index 70d1b4c1..00000000 Binary files a/apps/website/src/assets/values-2.png and /dev/null differ diff --git a/apps/website/src/assets/values-3.png b/apps/website/src/assets/values-3.png new file mode 100644 index 00000000..3c5c89e2 Binary files /dev/null and b/apps/website/src/assets/values-3.png differ diff --git a/apps/website/src/assets/values-img-crocodile-3.png b/apps/website/src/assets/values-img-crocodile-3.png deleted file mode 100644 index 00d9f21b..00000000 Binary files a/apps/website/src/assets/values-img-crocodile-3.png and /dev/null differ diff --git a/apps/website/src/assets/values-img-crocodile-4.png b/apps/website/src/assets/values-img-crocodile-4.png new file mode 100644 index 00000000..4fdb3baf Binary files /dev/null and b/apps/website/src/assets/values-img-crocodile-4.png differ diff --git a/apps/website/src/components/Clients.astro b/apps/website/src/components/Clients.astro index cc06b20f..0d6b48bb 100644 --- a/apps/website/src/components/Clients.astro +++ b/apps/website/src/components/Clients.astro @@ -31,9 +31,9 @@ import Section from "./Section.astro";
{subtitle}
+- a web development consultancy helping CTOs Minimise their Hands-on + A web development consultancy helping CTOs Minimize their Hands-on. Involvement in Daily Operations
diff --git a/apps/website/src/components/cto/Values.astro b/apps/website/src/components/cto/Values.astro index 54b186ac..eaeadd20 100644 --- a/apps/website/src/components/cto/Values.astro +++ b/apps/website/src/components/cto/Values.astro @@ -49,7 +49,7 @@ const optimizedTeamsImage = await getImage({++ +As Submix gained deeper insight into the individual creator market, new opportunities emerged, reinforcing their commitment to their core user base with more flexible usage patterns and payment requirements. + +To accommodate these shifts, they introduced a **fixed-price subscription model**, where users paid a flat monthly fee for a set number of minutes in live call sessions. Once the limit was reached, access to the Submix Sessions app was blocked, with no option to extend usage. + +The pricing model continued to evolve; first with **overage charges** layered onto the subscriptions, and later transitioning to a **fully usage-based, pay-as-you-go** system for individual users that offers maximum flexibility. **Free trial periods** were also introduced to lower the barrier for new users and encourage onboarding. + +💡 Before a startup finds a market fit, pricing models will inevitably shift. Recognizing this, the Submix team supported our vision for a billing foundation designed for adaptability from day one, understanding that it's what separates momentum from setbacks.
+
++ +## Why We Chose Lago: Flexibility Without Lock-In + +When Submix needed to introduce a subscription billing model, their marketplace was powered by Medusa v1, an open-source commerce engine that, at the time, didn’t support subscription payments out of the box or offer production ready plugins for it. + +That limitation, combined with our expectation of future pricing complexity, led us to explore dedicated billing platforms that could integrate with our stack and grow with the business. + +### Our Evaluation Priorities + +We approached the decision around selecting a billing platform with a long-term architectural perspective in mind. Key priorities shaped our evaluation process: + +- **Flexibility:** from a fixed subscription model to a usage-based one, with minimal rework +- **Ease of Integration:** including Medusa and our internal systems +- **Open Architecture:** to avoid vendor lock-in and retain control over the billing data as well as the logic +- **Deployment Options:** supporting both cloud and self-hosted options + +### Why Lago Was the Right Fit + +Lago stood out for its open-source foundation, deployment flexibility, and native support for **usage-based billing**. Its payment processor-agnostic design gave us the freedom to choose Stripe payments initially, while preserving the option to integrate additional payment providers later. + +It gave us the technical control we needed without introducing complexity, and served as a solid foundation that could support experimentation, growth, and long-term maintainability. + +💡 Choosing the right billing foundation early on allowed us to pivot from fixed pricing to flat-fee subscriptions, and later on to hybrid and usage-based models. All this in just days, without major rework. Our future selves were grateful.
+
++ +## How We Engineered the Billing Solution Around Lago + +Lago handled much of the billing logic itself, but a critical part of our work was designing the architecture around it. We made sure that usage was accurately tracked, processed in near real-time, and seamlessly connected to payments and invoicing. + +When a user initiates a subscription purchase, the process unfolds in several stages. First, we create the Lago customer, which is our system's representation of the user. This Lago customer is then linked to a corresponding customer profile in Stripe. Following this setup, checkout and payment process is initiated. Our system then listens for confirmation from the payment processor. Upon successful payment, we store all relevant data within our system and grant access to the Submix Sessions app. + + + +During live call sessions, user activity, such as entering or leaving a call, is captured in real time. These events pass through a processing layer where they are collected and stored. Once the session ends, we aggregate and transform the usage data into structured metrics, which are then sent to Lago for billing. This ensures all time-based usage is accurately recorded and attributed to the correct participants. Even though we initially focused on **time spent inside a call**, the extensible system that we built allows Submix to track **additional metrics**, like **specific feature usage**, if future pricing models require it. + +Users can track their usage data directly within the app. This data is pulled from our processed billing records, providing clear, up-to-date feedback aligned with their subscription status. + +💡 Choosing Lago gave us the freedom to build around the business, rather than forcing the business to conform to the tool.
+
++ +## Outcomes & Benefits + +By designing Submix’s billing solution around Lago, and integrating it with the wider platform, ensured long-term benefits that continue to drive value for their business and technical teams: + +### Fast Rollout of New Billing Models + +Because of the architectural flexibility, Submix was able to shift from per-session purchases to fixed monthly subscriptions, and later to overage-based and fully usage-based models, all within days. When usage-based billing was introduced, no major rework was needed thanks to the broad capabilities of Lago in conjunction with our established usage tracking. Adding overage logic and reconfiguring pricing rules was fast and non-disruptive. These rapid rollouts were a direct result of designing for change from day one. + + +### Highly Flexible Billing Adjustments + +Pricing rules can be fine-tuned with ease, from trial durations, to usage thresholds, to **custom subscription terms for individual customers**. + +### Cost Reduction Through Self-Hosting + +Lago offers both robust cloud and self-hosted options. We deployed and managed the self-hosted version to align with Submix’s infrastructure strategy, reducing cost while retaining full control. + +### Developer Velocity + +Developers can simulate billing flows locally, test quickly, and release with confidence. + +💡 Our approach at Crocoder prioritizes future-proof and adjustable solutions. This was clearly demonstrated in the system that we built for Submix, which allows them to evolve their pricing models or billing processes without major rework.
+
++ +## Final Thoughts: Billing as a Product Differentiator + +Billing doesn’t have to be a bottleneck. With the right foundation, it can drive flexibility, reduce costs, and accelerate product delivery. + +By building a system around Lago and carefully integrating it with the rest of the Submix platform, we delivered a strategy that balances technical flexibility, business agility, and operational control. + +More importantly, this project highlights a key lesson for any evolving product: investing in **future-ready billing architecture** early on can unlock faster iteration, smoother pivots, and lower long-term costs. Startups often go through major shifts while finding product–market fit. It’s a pattern we’ve come to expect and design for. + +For teams navigating evolving pricing models, experimenting with usage-based billing, or looking to avoid vendor lock-in, a flexible billing foundation isn’t just a technical choice, it’s a strategic advantage. \ No newline at end of file diff --git a/apps/website/src/content/services/create-an-evolving-architecture.md b/apps/website/src/content/services/create-an-evolving-architecture.md index b63b6c78..1633f2da 100644 --- a/apps/website/src/content/services/create-an-evolving-architecture.md +++ b/apps/website/src/content/services/create-an-evolving-architecture.md @@ -1,5 +1,6 @@ --- -title: "Create an Evolving Architecture to Withstand Trends" +title: "Product & Platform Engineering" +subtitle: "Future-Proof Architecture | Scalable Infrastructure" imgPath: "/pic-web-dev-topics.png" imgAlt: "Illustration showing web development topics and architecture planning" idx: 2 @@ -7,4 +8,12 @@ iconPath: "/performance-increase.svg" bgColor: "bg-[#424C6DE5]/[0.9]" --- -From start to finish, we are there to design, implement, and guide you through the adoption of a future-proof, flexible software architecture. Tailored to your unique needs, we aim to reduce costs and mitigate the risks of downtime, technical debt, and evolving industry demands. +From start to finish, we are there to design, implement, and guide you through the adoption of a future-proof, flexible software architecture. Backed by strong product engineering practices and tailored to your unique needs, we aim to reduce costs and mitigate the risks of downtime, technical debt, and evolving industry demands. + + + + +Case Study: Submix Billing System + diff --git a/apps/website/src/content/services/improving-engineering-tempo.md b/apps/website/src/content/services/improving-engineering-tempo.md index 2024c0bb..c934da9c 100644 --- a/apps/website/src/content/services/improving-engineering-tempo.md +++ b/apps/website/src/content/services/improving-engineering-tempo.md @@ -1,10 +1,22 @@ --- -title: "Improve Engineering Tempo" -imgPath: "/croco-charts.png" +title: "Workflow & Release Optimization" +subtitle: "Shaping Developer Experience | Development Process Refinement" +imgPath: "/croco-charts-2.png" imgAlt: "Charts and graphs showing engineering performance metrics and improvements" idx: 3 iconPath: "/stopwatch-gold.svg" bgColor: "bg-[#3C3843E5]/[0.9]" --- -By optimising workflows and breaking down tasks, we boost engineering tempo. We work closely with you to streamline your development processes, ensuring faster, high-quality code delivery making your releases more frequent with fewer failures in production. +By optimizing workflows and breaking down tasks, we boost engineering tempo and support your team in delivering higher-quality software, faster. Through hands-on process coaching, placing experienced engineers directly in your team, or deploying a dedicated task force to unblock delivery, we streamline development to make releases more frequent and reduce production failures. + + + +💡 While business change is a constant reality for startups, experience has taught us precisely why architectural flexibility yields the highest returns.
+
Schedule a free DevEx audit
+ + Contact Us + +