<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: David Brown</title>
    <description>The latest articles on Forem by David Brown (@lonti-davidb).</description>
    <link>https://forem.com/lonti-davidb</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2769012%2Fff1f3dcc-1a07-4621-8976-504cca88a5dd.jpg</url>
      <title>Forem: David Brown</title>
      <link>https://forem.com/lonti-davidb</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/lonti-davidb"/>
    <language>en</language>
    <item>
      <title>How to Make Complex Business Apps Feel Simple for Users</title>
      <dc:creator>David Brown</dc:creator>
      <pubDate>Fri, 11 Jul 2025 01:30:00 +0000</pubDate>
      <link>https://forem.com/lonti-davidb/how-to-make-complex-business-apps-feel-simple-for-users-2f31</link>
      <guid>https://forem.com/lonti-davidb/how-to-make-complex-business-apps-feel-simple-for-users-2f31</guid>
      <description>&lt;p&gt;We’ve all worked with business apps that feel like puzzles—too many steps, too many fields, and not nearly enough guidance. The worst part? A lot of these apps are technically sound. They just &lt;em&gt;feel&lt;/em&gt; complex, and that’s enough to turn users off.&lt;/p&gt;

&lt;p&gt;But here’s the challenge: most enterprise apps aren’t complicated by accident. They have to manage real-world workflows, strict business rules, and multiple systems behind the scenes. So how do you deliver that level of functionality &lt;em&gt;without&lt;/em&gt; overwhelming users?&lt;/p&gt;

&lt;p&gt;That’s something I’ve had to figure out firsthand. And today, I want to share what’s worked for me—using &lt;a href="https://www.lonti.com/bellini" rel="noopener noreferrer"&gt;&lt;strong&gt;Bellini&lt;/strong&gt;&lt;/a&gt;, &lt;a href="https://www.lonti.com/" rel="noopener noreferrer"&gt;Lonti&lt;/a&gt;’s low-code app builder—as my go-to tool for building apps that feel simple, even when they’re doing a lot behind the scenes.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Start With the User Flow, Not the Features&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;It’s tempting to start with the feature list or the database schema. But the most important question is: &lt;em&gt;What is the user trying to do?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I always begin by mapping the journey. If I’m building a dashboard for a sales manager, I’m thinking in terms of questions they need answers to—not just tables or charts. If it’s a workflow for operations, I break it down into steps they naturally follow in their day-to-day.&lt;/p&gt;

&lt;p&gt;When you design the app around those flows, instead of stacking features on a screen, the experience becomes easier to understand and navigate—no matter how much complexity is going on in the background.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Reveal Complexity Gradually&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;One of my favorite UX principles is progressive disclosure: show users only what they need right now, and let them explore deeper options only if (and when) they need them.&lt;/p&gt;

&lt;p&gt;In Bellini, I can build dynamic components that change based on user selections, permissions, or data. If someone selects a vendor, only then do I show the contract fields. If they check a box for advanced settings, I can reveal more UI elements. The goal is to keep the interface focused and non-intimidating by default, while still offering full control to power users.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Structure the UI Like a Conversation&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;I like to think of a good UI as a two-way conversation. Instead of dumping every input field on screen, I group things logically. Cards, accordions, and step-based flows go a long way toward making the app feel intuitive—even if it’s interacting with multiple APIs behind the scenes.&lt;/p&gt;

&lt;p&gt;And speaking of APIs…&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Let the Backend Do the Heavy Lifting&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;I don’t believe in stuffing the frontend with business logic. That’s what APIs are for.&lt;/p&gt;

&lt;p&gt;With Bellini, I bind components to APIs built in &lt;a href="https://www.lonti.com/martini" rel="noopener noreferrer"&gt;&lt;strong&gt;Martini&lt;/strong&gt;&lt;/a&gt;, Lonti’s integration engine. Those APIs are often based on models from &lt;a href="https://www.lonti.com/negroni" rel="noopener noreferrer"&gt;&lt;strong&gt;Negroni&lt;/strong&gt;&lt;/a&gt;, which standardizes data across systems.&lt;/p&gt;

&lt;p&gt;This lets me build a responsive UI that reacts to real-time data—without making the front end brittle or overloaded. Need to trigger a multi-step process? That happens in Martini. Need to clean or format data? That’s handled before the UI ever sees it.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Design for 90%—Support the 10%&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;There will always be weird use cases, special conditions, or edge-case workflows that only one team uses. You need to support them—but they shouldn’t dominate the UI.&lt;/p&gt;

&lt;p&gt;I isolate those flows with modals, secondary tabs, or toggles. That way, the core experience stays clean, and advanced users still have what they need.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Microcopy Is Underrated&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;I can’t stress this enough: naming matters. Instead of “Submit Entity” or “Execute Action,” I’ll use labels like “Submit for Review” or “Send Invoice.” It might seem small, but it makes the interface more human—and it builds trust.&lt;/p&gt;

&lt;p&gt;Even error messages matter. A vague “Validation error” is useless. “Please enter a valid invoice number” is something the user can act on.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Watch Real People Use It&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;This one’s simple: observe someone using your app.&lt;/p&gt;

&lt;p&gt;I’ve done screen shares where I just watch a user navigate through the UI. No explanations. Just observation. Every time, I’ve found something I could improve in minutes—whether it was rearranging components or adjusting defaults.&lt;/p&gt;

&lt;p&gt;With Bellini’s visual interface, making those adjustments is fast. I can rebuild a better version before the next meeting.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Final Thoughts: Complexity in the Backend, Simplicity in the Front&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Building powerful business apps doesn’t mean overwhelming users. It means making complex systems &lt;em&gt;feel&lt;/em&gt; simple.&lt;/p&gt;

&lt;p&gt;By designing around flows, revealing complexity gradually, and leaning on clean APIs, I’ve been able to build apps that are robust under the hood—but intuitive and fast on the surface.&lt;/p&gt;

&lt;p&gt;Original source: &lt;a href="https://www.lonti.com/blog/how-to-make-complex-business-apps-feel-simple-for-users" rel="noopener noreferrer"&gt;&lt;em&gt;How to Make Complex Business Apps Feel Simple for Users&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ux</category>
      <category>frontend</category>
      <category>lowcode</category>
      <category>devrel</category>
    </item>
    <item>
      <title>The False Economy of “Cheap” Low Code Platforms</title>
      <dc:creator>David Brown</dc:creator>
      <pubDate>Mon, 07 Jul 2025 01:30:00 +0000</pubDate>
      <link>https://forem.com/lonti-davidb/the-false-economy-of-cheap-low-code-platforms-49c0</link>
      <guid>https://forem.com/lonti-davidb/the-false-economy-of-cheap-low-code-platforms-49c0</guid>
      <description>&lt;p&gt;Low-code platforms are everywhere right now. Some promise you can build apps in a weekend. Others brag about doing it for less than the cost of a SaaS subscription.&lt;/p&gt;

&lt;p&gt;But here’s the truth: most “cheap” low-code tools? They’re expensive in all the wrong ways.&lt;/p&gt;

&lt;p&gt;I’ve seen too many teams fall into the trap—myself included. You build fast, get something working, show it off… and then slowly start realizing what you’re in for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Integrations that can’t scale
&lt;/li&gt;
&lt;li&gt;Logic you have to rewrite constantly
&lt;/li&gt;
&lt;li&gt;A platform that locks you in tighter than an old-school CMS&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Let’s break down where it all goes sideways—and how we built &lt;a href="https://www.lonti.com/" rel="noopener noreferrer"&gt;Lonti&lt;/a&gt; to avoid it completely.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;🚧 Cheap Now, Expensive Later&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;A lot of platforms are built for demos. Not for real-world complexity. They help you build a quick UI or connect to a simple API, but the moment you need:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Conditional workflows
&lt;/li&gt;
&lt;li&gt;Integration with legacy systems
&lt;/li&gt;
&lt;li&gt;Custom business logic or data structures&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;...you’re hacking, duct-taping, or worse—starting over outside the platform.&lt;/p&gt;

&lt;p&gt;That “$20/month” tool? Suddenly you’re paying double to maintain workarounds.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;🔒 The Lock-In Trap&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Most of the “easy” low-code platforms do one thing really well: keep you inside their ecosystem.&lt;/p&gt;

&lt;p&gt;Try exporting workflows to Git.&lt;br&gt;&lt;br&gt;
Try editing in your IDE.&lt;br&gt;&lt;br&gt;
Try integrating with your CI/CD pipeline.&lt;/p&gt;

&lt;p&gt;Yeah… good luck.&lt;/p&gt;

&lt;p&gt;With platforms like these, you’re not just locked in—you’re held hostage.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;🧰 What We Did Differently with Lonti&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;We built Lonti because we were tired of watching real developers hit real walls.&lt;/p&gt;

&lt;p&gt;Instead of simplifying everything, we focused on giving you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Visual tools where they help
&lt;/li&gt;
&lt;li&gt;Full-code access when you need it
&lt;/li&gt;
&lt;li&gt;API-first architecture so you can integrate anything
&lt;/li&gt;
&lt;li&gt;Git, versioning, reuse, and scale—baked in from day one&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🔹 &lt;a href="https://www.lonti.com/martini" rel="noopener noreferrer"&gt;&lt;strong&gt;Martini&lt;/strong&gt;&lt;/a&gt; handles API automation and integration&lt;br&gt;&lt;br&gt;
🔹 &lt;a href="https://www.lonti.com/bellini" rel="noopener noreferrer"&gt;&lt;strong&gt;Bellini&lt;/strong&gt;&lt;/a&gt; builds frontend apps with both drag-and-drop + JS/CSS when needed&lt;br&gt;&lt;br&gt;
🔹 &lt;a href="https://www.lonti.com/negroni" rel="noopener noreferrer"&gt;&lt;strong&gt;Negroni&lt;/strong&gt;&lt;/a&gt; gives you structured data modeling + auto-generated APIs&lt;/p&gt;

&lt;p&gt;Low code, yes. But with &lt;em&gt;no limits&lt;/em&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;🧠 Real ROI = Real Freedom&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;The biggest hidden cost in “cheap” low-code isn’t money.&lt;br&gt;&lt;br&gt;
It’s flexibility.&lt;/p&gt;

&lt;p&gt;Every shortcut that saves time today? It costs you twice as much when the business changes and you can’t adapt.&lt;/p&gt;

&lt;p&gt;With Lonti, we’ve had teams go from “internal MVP” to full-on enterprise rollout—&lt;strong&gt;without rewriting the stack&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;That’s the kind of ROI that actually matters.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;TL;DR&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Not all low-code is built to scale
&lt;/li&gt;
&lt;li&gt;Cheap tools often come with hidden costs: lock-in, rework, and dev time
&lt;/li&gt;
&lt;li&gt;Lonti is low code made for devs—API-first, extensible, and built for real apps
&lt;/li&gt;
&lt;li&gt;You don’t have to trade speed for power anymore&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Original source: &lt;a href="https://www.lonti.com/blog/the-false-economy-of-cheap-low-code-platforms" rel="noopener noreferrer"&gt;&lt;em&gt;The False Economy of “Cheap” Low Code Platforms&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>lowcode</category>
      <category>devtools</category>
      <category>api</category>
      <category>devrel</category>
    </item>
    <item>
      <title>Automation Without APIs Is Just Fancy Macros</title>
      <dc:creator>David Brown</dc:creator>
      <pubDate>Mon, 30 Jun 2025 01:30:00 +0000</pubDate>
      <link>https://forem.com/lonti-davidb/automation-without-apis-is-just-fancy-macros-292c</link>
      <guid>https://forem.com/lonti-davidb/automation-without-apis-is-just-fancy-macros-292c</guid>
      <description>&lt;p&gt;Let’s get real for a second.&lt;/p&gt;

&lt;p&gt;If your “automation” tool is just clicking buttons, mimicking keystrokes, and scraping screens... it’s not really automation. It’s a dressed-up macro. And in 2025, that’s not going to cut it.&lt;/p&gt;

&lt;p&gt;I’ve worked with enough systems to know: if your automation can’t talk to your backend services via APIs, it’s brittle. It’s temporary. And it’s going to break—probably at the worst possible time.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;🤖 UI Automation ≠ Real Automation&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;I’ve seen too many workflows hinge on screen scraping and simulated clicks. These setups work... until the UI changes. Or the layout breaks. Or someone renames a field.&lt;/p&gt;

&lt;p&gt;Then? Boom—production issues, debugging nightmares, and a dev team trying to fix something they didn’t build in the first place.&lt;/p&gt;

&lt;p&gt;That’s why I tell teams: &lt;strong&gt;If your automation relies on pixels instead of APIs, you’re building a house of cards.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;💡 The Fix? API-First Automation&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Here’s the shift that changes everything: think API-first.&lt;/p&gt;

&lt;p&gt;Want to automate order confirmations? Hit the billing system’s API.&lt;/p&gt;

&lt;p&gt;Want to sync data between your CRM, ERP, and support stack? Connect to those APIs directly. No spreadsheets. No screen scraping. No nonsense.&lt;/p&gt;

&lt;p&gt;That’s what real automation looks like: event-driven, data-integrated, API-connected, and observable.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;🧰 What We Use: Martini (Low Code, Built for Devs)&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;At &lt;a href="https://lonti.com" rel="noopener noreferrer"&gt;Lonti&lt;/a&gt;, we built &lt;a href="https://www.lonti.com/martini" rel="noopener noreferrer"&gt;&lt;strong&gt;Martini&lt;/strong&gt;&lt;/a&gt; specifically to enable this kind of automation. It’s a low-code platform—but before you roll your eyes, hear me out.&lt;/p&gt;

&lt;p&gt;This isn’t “no-code for marketers.” Martini gives devs:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Visual workflow editors (fast prototyping)
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Custom scripting&lt;/strong&gt; (Groovy, JS, Java) where needed
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Native API orchestration&lt;/strong&gt; across any service
&lt;/li&gt;
&lt;li&gt;Reusable integrations, triggers, and transformations
&lt;/li&gt;
&lt;li&gt;Debugging, monitoring, and versioning built in&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can automate across REST, GraphQL, SOAP (yes, really), file systems, webhooks, queues—you name it.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;🔍 Why It Works (When Other Tools Don’t)&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Other platforms hide the complexity until it’s too late. Martini lets you embrace it—and control it.&lt;/p&gt;

&lt;p&gt;No more “sorry, that’s not supported.”&lt;/p&gt;

&lt;p&gt;No more glue scripts just to work around your platform’s limitations.&lt;/p&gt;

&lt;p&gt;No more pretending a UI click is the same as calling a real endpoint.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;⚠️ PSA: Don’t Call It Automation If It Can’t Call an API&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;If your automation tool can’t consume or publish APIs, it’s not automation. It’s just window dressing.&lt;/p&gt;

&lt;p&gt;You need automation that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Talks to your systems
&lt;/li&gt;
&lt;li&gt;Logs reliably
&lt;/li&gt;
&lt;li&gt;Fails gracefully
&lt;/li&gt;
&lt;li&gt;Can scale with your architecture&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you’re a developer who’s tired of watching fragile tools pretend to solve hard problems, I feel you. That’s why I stopped relying on macros and started building automation the way it should’ve worked from the beginning.&lt;/p&gt;

&lt;p&gt;Original source: &lt;a href="https://www.lonti.com/blog/automation-without-apis-is-just-fancy-macros" rel="noopener noreferrer"&gt;&lt;em&gt;Automation Without APIs Is Just Fancy Macros&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>lowcode</category>
      <category>api</category>
      <category>backend</category>
      <category>automation</category>
    </item>
    <item>
      <title>Why API Integration Is Too Important to Leave to Non-Developers</title>
      <dc:creator>David Brown</dc:creator>
      <pubDate>Wed, 25 Jun 2025 01:30:00 +0000</pubDate>
      <link>https://forem.com/lonti-davidb/why-api-integration-is-too-important-to-leave-to-non-developers-el9</link>
      <guid>https://forem.com/lonti-davidb/why-api-integration-is-too-important-to-leave-to-non-developers-el9</guid>
      <description>&lt;p&gt;Let’s be honest—API integration is one of the most deceptively complex tasks in modern development.&lt;/p&gt;

&lt;p&gt;From the outside? Looks simple. Plug one system into another, pass some data, hit an endpoint. Done, right?&lt;/p&gt;

&lt;p&gt;In practice? Welcome to the wild world of mismatched schemas, brittle auth flows, unpredictable rate limits, and half-baked docs.&lt;/p&gt;

&lt;p&gt;That’s why it absolutely blows my mind when I see low-code platforms treating integration like a drag-and-drop form builder. Yes, visual tools are great—but pretending that non-developers can handle enterprise-grade integration without a hitch? That’s how teams end up rewriting everything six months later.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;👨‍💻 Integration Is a Developer’s Job&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Here’s the truth: if your API integration handles anything important—like syncing customer data, processing invoices, updating CRMs—you &lt;em&gt;need&lt;/em&gt; it to be done by someone who understands:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data modeling
&lt;/li&gt;
&lt;li&gt;Request/response structure
&lt;/li&gt;
&lt;li&gt;Auth schemes (OAuth2, API keys, token refresh)
&lt;/li&gt;
&lt;li&gt;Retry logic
&lt;/li&gt;
&lt;li&gt;Payload transformation
&lt;/li&gt;
&lt;li&gt;Versioning and schema evolution
&lt;/li&gt;
&lt;li&gt;…and all the edge cases that never make it into the docs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That’s developer work. Period.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;🧰 So We Built Martini: Low Code &lt;em&gt;with&lt;/em&gt; Developer Control&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;I’ve been on both sides—writing integrations from scratch, and fighting with tools that try to “simplify” too much. That’s why my team at &lt;a href="https://www.lonti.com" rel="noopener noreferrer"&gt;Lonti&lt;/a&gt; built &lt;a href="https://www.lonti.com/martini" rel="noopener noreferrer"&gt;&lt;strong&gt;Martini&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;It’s a &lt;strong&gt;low-code platform&lt;/strong&gt;, but not the kind that tries to take developers out of the equation.&lt;/p&gt;

&lt;p&gt;Instead, Martini is API-first and developer-focused. You can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Visually orchestrate APIs
&lt;/li&gt;
&lt;li&gt;Write custom logic (Java, Groovy, JavaScript)
&lt;/li&gt;
&lt;li&gt;Secure endpoints and apply governance
&lt;/li&gt;
&lt;li&gt;Transform and map data visually &lt;em&gt;or&lt;/em&gt; in code
&lt;/li&gt;
&lt;li&gt;Build error handling into the workflow itself
&lt;/li&gt;
&lt;li&gt;Publish services and expose them as REST or GraphQL APIs
&lt;/li&gt;
&lt;li&gt;Monitor everything with logs and runtime insight&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And when you pair it with &lt;a href="https://www.lonti.com/negroni" rel="noopener noreferrer"&gt;&lt;strong&gt;Negroni&lt;/strong&gt;&lt;/a&gt; (data modeling) and &lt;a href="https://www.lonti.com/bellini" rel="noopener noreferrer"&gt;&lt;strong&gt;Bellini&lt;/strong&gt;&lt;/a&gt; (frontend builder), you get an end-to-end platform that respects how real apps are built.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;🚫 No More One-Click “Connectors” That Break&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;You know what I’m talking about—those tools that promise “Connect to Salesforce in one click!” but the moment your API needs a custom header or response mapping, it falls apart. Or worse, you can’t debug it.&lt;/p&gt;

&lt;p&gt;With Martini, you control everything. From how the API is consumed, to how it behaves under the hood.&lt;/p&gt;

&lt;p&gt;It’s fast—but never fragile.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;💡 Devs Shouldn’t Have to Fight Their Tools&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Integration should be something developers can build confidently, quickly, and correctly. Not something we dread because we’re stuck babysitting middleware, debugging black boxes, or writing the same boilerplate over and over.&lt;/p&gt;

&lt;p&gt;That’s what Martini is built to solve.&lt;/p&gt;

&lt;p&gt;You can move fast.&lt;br&gt;&lt;br&gt;
You can go deep.&lt;br&gt;&lt;br&gt;
You can build things that &lt;em&gt;actually scale&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;And you never have to hand off mission-critical logic to someone who doesn't know what a 429 response code means.&lt;/p&gt;

&lt;p&gt;Original source: &lt;a href="https://www.lonti.com/blog/why-api-integration-is-too-important-to-leave-to-non-developers" rel="noopener noreferrer"&gt;&lt;em&gt;Why API Integration Is Too Important to Leave to Non-Developers&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>api</category>
      <category>lowcode</category>
      <category>devtools</category>
      <category>devrel</category>
    </item>
    <item>
      <title>How to Use Demo APIs to Level Up Your API Testing Skills</title>
      <dc:creator>David Brown</dc:creator>
      <pubDate>Mon, 23 Jun 2025 01:30:00 +0000</pubDate>
      <link>https://forem.com/lonti-davidb/how-to-use-demo-apis-to-level-up-your-api-testing-skills-2ke6</link>
      <guid>https://forem.com/lonti-davidb/how-to-use-demo-apis-to-level-up-your-api-testing-skills-2ke6</guid>
      <description>&lt;p&gt;Let’s face it—most mock APIs are useless.&lt;/p&gt;

&lt;p&gt;They either return hardcoded nonsense, require weird sandbox logins, or are so shallow they fall apart the second you try to simulate something realistic. If you've ever tried to build or test anything beyond a to-do list, you know what I’m talking about.&lt;/p&gt;

&lt;p&gt;That’s why I’m shouting out &lt;strong&gt;apiexplorer.io&lt;/strong&gt; — a free, always-on playground full of fully functional, realistic business APIs. And yeah, I helped build it.&lt;/p&gt;

&lt;p&gt;These aren’t toy endpoints. We’re talking about structured, documented, enterprise-style APIs — like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;CRM
&lt;/li&gt;
&lt;li&gt;Billing
&lt;/li&gt;
&lt;li&gt;Inventory
&lt;/li&gt;
&lt;li&gt;Payments
&lt;/li&gt;
&lt;li&gt;Ecommerce
&lt;/li&gt;
&lt;li&gt;HR and Task Management&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All of them behave like real systems. So you can test like it’s production—without the risk of &lt;em&gt;actually&lt;/em&gt; being in production.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;What Makes apiexplorer.io Useful?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Here’s what you get out of the box:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;RESTful API endpoints (CRUD ready)
&lt;/li&gt;
&lt;li&gt;OpenAPI docs
&lt;/li&gt;
&lt;li&gt;Postman collections
&lt;/li&gt;
&lt;li&gt;A browser-based API explorer
&lt;/li&gt;
&lt;li&gt;A working UI for each API (yes, you can log in and see what the data looks like)
&lt;/li&gt;
&lt;li&gt;API key-based auth (no OAuth pain here)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Just &lt;a href="https://apiexplorer.io" rel="noopener noreferrer"&gt;sign up&lt;/a&gt;, grab your API key, and get to work.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;GET https://demo-api.apiexplorer.io/api/lonti_demo_api_crm/1.0/contact?limit=10
Headers:
  Accept: application/json
  X-Authorization: Bearer YOUR_API_KEY
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Simple. Clean. Fast.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Use Case 1: Level Up Your API Testing Skills&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Want to learn API testing with Postman? Practicing with curl? Writing unit tests that simulate real error conditions?&lt;/p&gt;

&lt;p&gt;apiexplorer.io gives you &lt;strong&gt;realistic behavior&lt;/strong&gt;, not just happy path JSON dumps. Test:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Authentication headers
&lt;/li&gt;
&lt;li&gt;Invalid inputs
&lt;/li&gt;
&lt;li&gt;Rate limits
&lt;/li&gt;
&lt;li&gt;Filtering, searching, pagination
&lt;/li&gt;
&lt;li&gt;Nested relationships&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Trust me: It’s way better than mocking up endpoints by hand or spinning up a dummy Express server for the 500th time.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Use Case 2: Prototyping Integrations with Lonti (Optional but Cool)&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;If you’re using &lt;a href="https://www.lonti.com/martini" rel="noopener noreferrer"&gt;&lt;strong&gt;Martini&lt;/strong&gt;&lt;/a&gt; (&lt;a href="https://www.lonti.com/" rel="noopener noreferrer"&gt;Lonti&lt;/a&gt;’s low-code integration platform), these APIs slot right in. Just import the OpenAPI spec, create a workflow, and boom—you’re running real workflows with real APIs.&lt;/p&gt;

&lt;p&gt;Same if you’re building frontends in &lt;a href="https://www.lonti.com/bellini" rel="noopener noreferrer"&gt;&lt;strong&gt;Bellini&lt;/strong&gt;&lt;/a&gt;—you can bind components directly to these demo APIs and see actual data flowing, live.&lt;/p&gt;

&lt;p&gt;That’s next-level prototyping speed.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Use Case 3: Practice Error Handling Like It’s Production&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Most API tutorials stop at 200 OK.&lt;/p&gt;

&lt;p&gt;In the real world? You’re dealing with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;401 Unauthorized
&lt;/li&gt;
&lt;li&gt;422 Validation Errors
&lt;/li&gt;
&lt;li&gt;500 Server Errors
&lt;/li&gt;
&lt;li&gt;Unexpected payload shapes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Use apiexplorer.io to simulate all of that—intentionally send bad data and see how your app responds. Train your test suite to handle failure like a champ.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Getting Started&lt;/strong&gt;
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Go to &lt;a href="https://apiexplorer.io" rel="noopener noreferrer"&gt;&lt;strong&gt;apiexplorer.io&lt;/strong&gt;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Create a free account
&lt;/li&gt;
&lt;li&gt;You’ll be redirected to the &lt;a href="https://console.lonti.com" rel="noopener noreferrer"&gt;Lonti Console&lt;/a&gt; where your API key is waiting
&lt;/li&gt;
&lt;li&gt;Hit any endpoint with the following headers:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Accept: application/json  
X-Authorization: Bearer YOUR_API_KEY
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Browse the API Explorer, or start testing in Postman, curl, HTTPie, or your own app&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Why We Built It&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;We’re devs. We got tired of building apps with garbage APIs or waiting for staging environments to be “ready.”&lt;/p&gt;

&lt;p&gt;So we built what we needed: realistic, instant, enterprise-grade demo APIs—with the same standards we’d expect from any real backend.&lt;/p&gt;

&lt;p&gt;And yeah, it’s free. No catch.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;TL;DR:&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;If you're building, testing, or learning APIs, stop using trash examples.&lt;/p&gt;

&lt;p&gt;Go to apiexplorer.io. Get a free key. Test your skills like it’s real life.&lt;/p&gt;

&lt;p&gt;Happy hacking! 🚀&lt;/p&gt;

&lt;p&gt;Original source: &lt;a href="https://www.lonti.com/blog/how-to-use-demo-apis-to-level-up-your-api-testing-skills" rel="noopener noreferrer"&gt;&lt;em&gt;How to Use Demo APIs to Level Up Your API Testing Skills&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>api</category>
      <category>devrel</category>
      <category>lowcode</category>
      <category>webdev</category>
    </item>
    <item>
      <title>How to Build Clean, Scalable Dashboards in Bellini</title>
      <dc:creator>David Brown</dc:creator>
      <pubDate>Wed, 18 Jun 2025 01:30:00 +0000</pubDate>
      <link>https://forem.com/lonti-davidb/how-to-build-clean-scalable-dashboards-in-bellini-5d7e</link>
      <guid>https://forem.com/lonti-davidb/how-to-build-clean-scalable-dashboards-in-bellini-5d7e</guid>
      <description>&lt;p&gt;Let’s cut to the chase: most business dashboards suck.&lt;/p&gt;

&lt;p&gt;They’re cluttered. Hard to scan. Painful to maintain. And they often do a worse job answering a question than a basic SQL query.&lt;/p&gt;

&lt;p&gt;As devs, we’ve all either inherited or built a dashboard like that. It works… technically. But it’s dense, inconsistent, and nobody wants to use it.&lt;/p&gt;

&lt;p&gt;I’ve been there. So I ditched the usual drag-and-drop UI kits and started building dashboards in &lt;a href="https://www.lonti.com/bellini" rel="noopener noreferrer"&gt;&lt;strong&gt;Bellini&lt;/strong&gt;&lt;/a&gt;—&lt;a href="https://www.lonti.com/" rel="noopener noreferrer"&gt;Lonti&lt;/a&gt;’s low-code frontend tool that’s actually designed for developers. Not just for shipping fast, but for building right.&lt;/p&gt;

&lt;p&gt;Here’s how I approach dashboard dev now—and how Bellini helps me do it faster without sacrificing flexibility.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;1. Start With the &lt;em&gt;Why&lt;/em&gt;, Not the *What&lt;/strong&gt;*
&lt;/h2&gt;

&lt;p&gt;Before I drag in a single chart, I map out:&lt;br&gt;&lt;br&gt;
→ Who’s using this?&lt;br&gt;&lt;br&gt;
→ What decisions do they need to make?&lt;br&gt;&lt;br&gt;
→ What’s the &lt;em&gt;one&lt;/em&gt; thing they should see right away?&lt;/p&gt;

&lt;p&gt;If I can’t answer that, I shouldn’t be building a dashboard yet.&lt;/p&gt;

&lt;p&gt;Bellini lets me sketch out responsive layouts fast—rows, columns, cards—without fighting rigid templates. So even in the prototyping phase, I can keep structure and intent aligned.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;2. APIs Come First, Not Last&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Bellini is API-native. Not just “connects to an API”—I mean, &lt;strong&gt;built around APIs&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;I bind components directly to live API endpoints (REST or GraphQL). Sometimes those are custom APIs I expose with &lt;a href="https://www.lonti.com/martini" rel="noopener noreferrer"&gt;&lt;strong&gt;Martini&lt;/strong&gt;&lt;/a&gt;, or models I standardize with &lt;a href="https://www.lonti.com/negroni" rel="noopener noreferrer"&gt;&lt;strong&gt;Negroni&lt;/strong&gt;&lt;/a&gt;. Sometimes they’re third-party services pulled straight into Bellini’s secure runtime.&lt;/p&gt;

&lt;p&gt;The key: I don’t write glue code. I don’t hand-roll fetch wrappers. I just plug in the data and move on.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;3. Clarity Beats Density&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Here’s the truth: your dashboard isn’t a data dump. It’s a decision-support tool.&lt;/p&gt;

&lt;p&gt;I follow three rules:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use white space generously.
&lt;/li&gt;
&lt;li&gt;Prioritize one KPI per block.
&lt;/li&gt;
&lt;li&gt;Avoid chart soup (if it doesn’t answer a question, don’t include it).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Bellini gives me full CSS control and lets me plug in external libraries when needed (D3, Chart.js, GSAP—you name it). I’ve animated charts, styled cards, and even embedded SVG workflows, all without breaking layout or data bindings.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;4. Make It Clickable (Without Overengineering It)&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Dashboards should be interactive, not overwhelming.&lt;/p&gt;

&lt;p&gt;Bellini supports all the goodies: filters, modals, paginated tables, conditional views—and you can inject custom JS wherever you want. I’ve built dashboards where:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Users filter orders by region
&lt;/li&gt;
&lt;li&gt;Drill down into customer history
&lt;/li&gt;
&lt;li&gt;Trigger backend actions like invoice resends or status updates&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The logic sits alongside the UI. No context switching. No backend guesswork.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;5. Reuse, Refactor, and Scale&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;My favorite Bellini feature? Reusable components.&lt;/p&gt;

&lt;p&gt;I treat dashboards like real software. If I build a killer leaderboard component or a multi-tab KPI view, I refactor it into a reusable block. Bellini supports versioning, Git integration, and workspace sharing—so I can collaborate with other devs and still keep my components clean.&lt;/p&gt;

&lt;p&gt;Frontend should be sustainable, not just fast.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;TL;DR — Bellini Actually Gets It&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Most low-code tools fall apart when your UI needs real logic. Bellini doesn’t.&lt;/p&gt;

&lt;p&gt;Original source: &lt;a href="https://www.lonti.com/blog/how-to-build-clean-scalable-dashboards-in-bellini" rel="noopener noreferrer"&gt;&lt;em&gt;How to Build Clean, Scalable Dashboards in Bellini&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>lowcode</category>
      <category>frontend</category>
      <category>ux</category>
      <category>javascript</category>
    </item>
    <item>
      <title>5 Ways Low Code Platforms Can Improve Business Agility</title>
      <dc:creator>David Brown</dc:creator>
      <pubDate>Mon, 16 Jun 2025 01:30:00 +0000</pubDate>
      <link>https://forem.com/lonti-davidb/5-ways-low-code-platforms-can-improve-business-agility-okn</link>
      <guid>https://forem.com/lonti-davidb/5-ways-low-code-platforms-can-improve-business-agility-okn</guid>
      <description>&lt;p&gt;TL;DR: Low code isn’t just for dragging buttons and making dashboards. If you care about moving fast &lt;em&gt;and&lt;/em&gt; building things that last, developer-grade low code is probably your new best friend.&lt;/p&gt;

&lt;p&gt;Let’s get something straight: “agility” is a buzzword until your stack actually helps you move.&lt;/p&gt;

&lt;p&gt;We’ve all been there—an idea hits the roadmap, the team gets excited, and then… it stalls. Why? Because your systems aren’t flexible enough. Your integrations are brittle. Your backlog is backed up. And the thought of making real changes sends everyone into scope-paralysis.&lt;/p&gt;

&lt;p&gt;I’ve been there. It sucks.&lt;/p&gt;

&lt;p&gt;That’s why I’m a fan of low code—&lt;em&gt;but not the kind that turns everything into a black box.&lt;/em&gt; I’m talking about platforms built for developers. Ones that speed you up, give you control, and don’t fall over when real-world complexity shows up.&lt;/p&gt;

&lt;p&gt;We’ve been building with &lt;a href="https://www.lonti.com" rel="noopener noreferrer"&gt;Lonti&lt;/a&gt; for a while now—specifically using &lt;a href="https://www.lonti.com/martini" rel="noopener noreferrer"&gt;&lt;strong&gt;Martini&lt;/strong&gt;&lt;/a&gt; (integration &amp;amp; automation), &lt;a href="https://www.lonti.com/negroni" rel="noopener noreferrer"&gt;&lt;strong&gt;Negroni&lt;/strong&gt;&lt;/a&gt; (data modeling &amp;amp; APIs), and &lt;a href="https://www.lonti.com/bellini" rel="noopener noreferrer"&gt;&lt;strong&gt;Bellini&lt;/strong&gt;&lt;/a&gt; (frontend). And honestly? It’s changed how we deliver.&lt;/p&gt;

&lt;p&gt;Here’s what that looks like in practice.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;1. 🚀 Product Launches in Weeks, Not Quarters&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Bellini gives you the kind of low-code frontend dev experience where you can drag in a UI, bind to a real API (&lt;a href="https://developer.lonti.com/docs/martini/developing/apis/creating/rest/" rel="noopener noreferrer"&gt;REST&lt;/a&gt; or &lt;a href="https://developer.lonti.com/docs/martini/developing/apis/creating/graphql/" rel="noopener noreferrer"&gt;GraphQL&lt;/a&gt;), and ship something testable in a sprint.&lt;/p&gt;

&lt;p&gt;Add in Negroni to define clean data models and Martini to orchestrate your API logic—and suddenly you’re deploying entire micro-apps without burning dev months.&lt;/p&gt;

&lt;p&gt;Speed doesn’t have to mean throwaway code.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;2. 🔁 Strategy Changes? React in Hours&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;One user had to reroute their B2B ordering logic halfway through a quarter. With Martini, it took a visual tweak to a workflow, a redeploy, and they were done. In. One. Day.&lt;/p&gt;

&lt;p&gt;Compare that to untangling custom service layers just to rewrite some conditional logic…&lt;/p&gt;

&lt;p&gt;This is why composability matters.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;3. 🧠 Updating Processes Doesn’t Mean Breaking Everything&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Martini is designed to let you build and update workflows without babysitting every change. Need to plug in a new approval path or trigger a webhook after a DB write? Visual config. Scriptable where it matters. And testable before it hits production.&lt;/p&gt;

&lt;p&gt;No more praying your update doesn’t break a downstream system.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;4. 🧱 Data Models You Don’t Rebuild Every Time&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Negroni lets you model entities once and reuse them across apps, workflows, APIs—you name it. So you’re not mapping the same “customer” shape three different ways across three different tools.&lt;/p&gt;

&lt;p&gt;That means fewer bugs. Less copy/paste. And a team that doesn’t hate working on “the integration layer.”&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;5. 🧑‍💻 Empower Devs (Don’t Replace Them)&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;A lot of low-code platforms treat developers like obstacles. Lonti’s tools are built with devs in mind. You can drop into Groovy or Java in Martini, bring your own JS libraries into Bellini, and use Git-based versioning when you need more control.&lt;/p&gt;

&lt;p&gt;You’re not boxed in. You’re just working faster—with fewer keystrokes and more leverage.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Final Take&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Low code doesn’t mean low effort—it means high leverage.&lt;/p&gt;

&lt;p&gt;The Lonti stack helps you build real apps, fast, &lt;em&gt;without&lt;/em&gt; surrendering flexibility. Whether you’re building internal tools, API integrations, or full production workflows, you’re working in one ecosystem that respects your brain and your time.&lt;/p&gt;

&lt;p&gt;If your team’s been fighting backlog bloat, trying to deliver faster, or just tired of hacking everything together, give it a spin.&lt;/p&gt;

&lt;p&gt;Original source: &lt;a href="https://www.lonti.com/blog/5-ways-low-code-platforms-can-improve-business-agility" rel="noopener noreferrer"&gt;&lt;em&gt;5 Ways Low Code Platforms Can Improve Business Agility&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>lowcode</category>
      <category>devrel</category>
      <category>webdev</category>
      <category>businessagility</category>
    </item>
    <item>
      <title>Why Drag-and-Drop Alone Isn’t Enough for Serious Frontend Development</title>
      <dc:creator>David Brown</dc:creator>
      <pubDate>Fri, 13 Jun 2025 01:30:00 +0000</pubDate>
      <link>https://forem.com/lonti-davidb/why-drag-and-drop-alone-isnt-enough-for-serious-frontend-development-lbk</link>
      <guid>https://forem.com/lonti-davidb/why-drag-and-drop-alone-isnt-enough-for-serious-frontend-development-lbk</guid>
      <description>&lt;p&gt;Let’s get this out of the way: if you’re building serious apps, drag-and-drop alone isn’t enough.&lt;/p&gt;

&lt;p&gt;Sure, it looks slick in a demo. You drop a button here, connect an API there, and suddenly you’ve “built an app in minutes.”&lt;/p&gt;

&lt;p&gt;But if you’ve ever tried scaling that app past a single page, you already know what’s coming: the limits. The hard-coded logic. The UI quirks. The “not supported yet” error that sends you back to square one.&lt;/p&gt;

&lt;p&gt;Drag-and-drop tools are fine—for forms, quick dashboards, maybe an MVP. But real-world business apps need more.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Real Frontend = Real Logic&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Most low-code tools gloss over this part. They give you visual editors but skimp on what actually matters: logic, state, and integration.&lt;/p&gt;

&lt;p&gt;I’m talking about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Conditional rendering that doesn’t break on the second level of nesting
&lt;/li&gt;
&lt;li&gt;Custom validation that &lt;em&gt;actually&lt;/em&gt; fits your use case
&lt;/li&gt;
&lt;li&gt;API binding that works with more than “dummy-data.json”
&lt;/li&gt;
&lt;li&gt;Reusable components with real props and scoped behavior&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Without those, you’re just stacking UI elements with no soul.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Enter Bellini: Low Code for Devs Who Code&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.lonti.com/bellini" rel="noopener noreferrer"&gt;Bellini&lt;/a&gt; is the first low-code tool I’ve used that &lt;em&gt;doesn’t&lt;/em&gt; feel like it’s fighting me. It’s built for developers—not just business users—and it shows.&lt;/p&gt;

&lt;p&gt;You can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use the visual builder for fast layout and structure
&lt;/li&gt;
&lt;li&gt;Bind components directly to live APIs (&lt;a href="https://developer.lonti.com/docs/martini/developing/apis/creating/" rel="noopener noreferrer"&gt;REST&lt;/a&gt;, &lt;a href="https://developer.lonti.com/docs/martini/developing/apis/creating/graphql/" rel="noopener noreferrer"&gt;GraphQL&lt;/a&gt;, &lt;a href="https://www.lonti.com/martini" rel="noopener noreferrer"&gt;Martini&lt;/a&gt;, you name it)
&lt;/li&gt;
&lt;li&gt;Inject custom JavaScript functions and CSS
&lt;/li&gt;
&lt;li&gt;Drop in external libraries (yes, even your favorite JS charting lib)
&lt;/li&gt;
&lt;li&gt;Build your own components and reuse them across apps&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In other words: you move faster, but still get full control.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;API-First or Bust&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Frontend apps live and die by their APIs. If your platform isn’t built API-first, you’re stuck building fragile UIs that break the moment a schema changes.&lt;/p&gt;

&lt;p&gt;Bellini flips that.&lt;/p&gt;

&lt;p&gt;It assumes APIs are the backbone of your app—so every component you use can bind to API responses, pass parameters, and even trigger downstream actions. That means you can build fast &lt;strong&gt;without&lt;/strong&gt; hardwiring your logic to your UI.&lt;/p&gt;

&lt;p&gt;Need to model your data? Use &lt;a href="https://www.lonti.com/negroni" rel="noopener noreferrer"&gt;Negroni&lt;/a&gt;. Need to orchestrate APIs or automate stuff? Use Martini. It all fits.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Code Where You Need It. Visual Where You Want It.&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Here’s the thing: I still want to code. I just don’t want to waste time coding what could be handled faster.&lt;/p&gt;

&lt;p&gt;Bellini gets that balance.&lt;/p&gt;

&lt;p&gt;I can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use visual tools for state and layout
&lt;/li&gt;
&lt;li&gt;Drop into JS whenever I need something custom
&lt;/li&gt;
&lt;li&gt;Extend components instead of rewriting them
&lt;/li&gt;
&lt;li&gt;Avoid rewriting boilerplate for forms, routing, and data fetching&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And when I ship it? It works. It scales. It doesn’t scream “low code” at the user.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;TL;DR: Visual Tools Are Great—Until They Get in the Way&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;If you’ve been burned by visual-only builders before, I get it. Same here. Most of them are great for fast starts but terrible for long-term development.&lt;/p&gt;

&lt;p&gt;Bellini is different. It gives you drag-and-drop—but never locks you into it.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Need speed? You got it.
&lt;/li&gt;
&lt;li&gt;Need control? Write code.
&lt;/li&gt;
&lt;li&gt;Need reusability? Build components.
&lt;/li&gt;
&lt;li&gt;Need real data binding? APIs are first-class citizens.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Frontend dev doesn’t need to be slow. But it also doesn’t need to be boxed in.&lt;/p&gt;

&lt;p&gt;Original source: &lt;a href="https://www.lonti.com/blog/why-drag-and-drop-alone-isnt-enough-for-serious-frontend-development" rel="noopener noreferrer"&gt;&lt;em&gt;Why Drag-and-Drop Alone Isn’t Enough for Serious Frontend Development&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>frontend</category>
      <category>lowcode</category>
      <category>javascript</category>
      <category>webdev</category>
    </item>
    <item>
      <title>What’s the Fastest Way to Prototype an API Integration?</title>
      <dc:creator>David Brown</dc:creator>
      <pubDate>Wed, 11 Jun 2025 01:30:00 +0000</pubDate>
      <link>https://forem.com/lonti-davidb/whats-the-fastest-way-to-prototype-an-api-integration-ld</link>
      <guid>https://forem.com/lonti-davidb/whats-the-fastest-way-to-prototype-an-api-integration-ld</guid>
      <description>&lt;p&gt;You know the drill. Someone asks, “Can you whip up a quick API integration?”&lt;br&gt;&lt;br&gt;
You think: &lt;em&gt;Sure, give me a few hours, Postman, some curl commands, a mock server, maybe a few tears...&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;But if you’re still prototyping integrations the slow, manual way, I’ve got good news—you don’t have to anymore.&lt;/p&gt;

&lt;p&gt;Lately, I’ve been using a combo of &lt;strong&gt;apiexplorer.io&lt;/strong&gt; and &lt;a href="https://www.lonti.com/martini" rel="noopener noreferrer"&gt;&lt;strong&gt;Martini&lt;/strong&gt;&lt;/a&gt; to build fully working API integrations in minutes, not hours. And yes, it’s real code (where needed), real automation, and &lt;strong&gt;zero boilerplate&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Let me show you how.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Step 1: Start with apiexplorer.io&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;If you’ve ever had to mock up business APIs from scratch just to get a test flow working, you’ll love this.&lt;/p&gt;

&lt;p&gt;apiexplorer.io gives you a full suite of production-style APIs—CRM, Billing, HR, Inventory, etc.—with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;RESTful interfaces
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://developer.lonti.com/docs/martini/developing/apis/creating/documenting/openapi/" rel="noopener noreferrer"&gt;OpenAPI&lt;/a&gt; docs
&lt;/li&gt;
&lt;li&gt;Live testing via the API Explorer
&lt;/li&gt;
&lt;li&gt;Instant API key (no weird signup hoops)
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://developer.lonti.com/docs/martini/developing/apis/creating/documenting/postman/" rel="noopener noreferrer"&gt;Postman&lt;/a&gt; collections and even UI demos&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Perfect for prototyping workflows without touching fragile live systems.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Step 2: Drop the OpenAPI into Martini&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Martini is a low-code platform, but not the kind that makes devs cringe. You can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Paste in OpenAPI specs or Postman collections
&lt;/li&gt;
&lt;li&gt;Auto-generate API connectors
&lt;/li&gt;
&lt;li&gt;Test requests right inside the IDE
&lt;/li&gt;
&lt;li&gt;Drop those services into actual workflows
&lt;/li&gt;
&lt;li&gt;Use visual builders &lt;em&gt;or&lt;/em&gt; write code in Java/Groovy when needed&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You’re not stuck in drag-and-drop land—you’re just skipping the boilerplate and jumping to the part where things work.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Step 3: Build the Flow, Wire It Up, Ship It&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;After importing the APIs, I build out a workflow visually in Martini:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Hit the CRM API
&lt;/li&gt;
&lt;li&gt;Pull customer data
&lt;/li&gt;
&lt;li&gt;Trigger a billing event
&lt;/li&gt;
&lt;li&gt;Log it, notify someone, or call another system&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You can add logic, branches, retries, error handlers—the works. And once it’s running, publish it as an API endpoint or call it from another service. Done.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Bonus: Mock APIs Without the Headache&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Need to simulate an external service? Martini lets you create mock APIs on the fly, so you’re not blocked by unfinished backends or flaky sandbox environments.&lt;/p&gt;

&lt;p&gt;Switch the mock for the real thing later—no rewrites, no drama.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Final Thoughts&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Fast API prototyping doesn’t mean cutting corners. It means skipping the setup grind and focusing on logic.&lt;/p&gt;

&lt;p&gt;With &lt;strong&gt;apiexplorer.io + Martini&lt;/strong&gt;, you get:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🔌 Realistic APIs you can test instantly
&lt;/li&gt;
&lt;li&gt;⚙️ A full workflow engine with visual + code modes
&lt;/li&gt;
&lt;li&gt;🔄 Reusable services and clean integrations
&lt;/li&gt;
&lt;li&gt;🧰 Tools made for developers, not just “citizen users”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No more digging through SDKs, building from scratch, or explaining to stakeholders why your “quick demo” needs two days of prep.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;TL;DR&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Want to build API clients without the mess?
&lt;/li&gt;
&lt;li&gt;Use &lt;a href="https://apiexplorer.io" rel="noopener noreferrer"&gt;apiexplorer.io&lt;/a&gt; + &lt;a href="https://console.lonti.com/signup" rel="noopener noreferrer"&gt;Martini&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Build the workflow, test it live, and deploy—all in under an hour.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Try it. Break less. Ship more. 🧪⚡&lt;/p&gt;

&lt;p&gt;Got questions or want to share what you’re building? Hit me up in the &lt;a href="https://community.lonti.com/community" rel="noopener noreferrer"&gt;Lonti Community&lt;/a&gt; or drop a comment below. 👇&lt;/p&gt;

&lt;p&gt;Original source: &lt;a href="https://www.lonti.com/blog/whats-the-fastest-way-to-prototype-an-api-integration" rel="noopener noreferrer"&gt;&lt;em&gt;What’s the Fastest Way to Prototype an API Integration?&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>api</category>
      <category>integration</category>
      <category>lowcode</category>
      <category>devrel</category>
    </item>
    <item>
      <title>Building API Clients Faster with apiexplorer.io and Martini</title>
      <dc:creator>David Brown</dc:creator>
      <pubDate>Mon, 09 Jun 2025 01:30:00 +0000</pubDate>
      <link>https://forem.com/lonti-davidb/building-api-clients-faster-with-apiexplorerio-and-martini-21pi</link>
      <guid>https://forem.com/lonti-davidb/building-api-clients-faster-with-apiexplorerio-and-martini-21pi</guid>
      <description>&lt;p&gt;Let’s face it—getting started with API integrations is often the worst part of any project.&lt;/p&gt;

&lt;p&gt;You want to build something fast, maybe mock a CRM flow or test a data sync idea. But instead, you’re stuck:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Scavenging for decent sandbox APIs
&lt;/li&gt;
&lt;li&gt;Fighting inconsistent docs
&lt;/li&gt;
&lt;li&gt;Writing glue code just to test a POST request
&lt;/li&gt;
&lt;li&gt;Wasting time debugging things that &lt;em&gt;should&lt;/em&gt; just work&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I got sick of that. So we built &lt;strong&gt;apiexplorer.io&lt;/strong&gt;: a free playground of production-grade, fully documented, immediately-usable demo APIs. And when you pair it with &lt;a href="https://www.lonti.com/martini" rel="noopener noreferrer"&gt;&lt;strong&gt;Martini&lt;/strong&gt;&lt;/a&gt;, our low-code API automation platform, you can go from “idea” to “working API client” in… well, lunch break territory.&lt;/p&gt;

&lt;p&gt;Here’s how I use both in my workflow.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;✅ Step 1: Realistic Demo APIs Without the Headaches&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;The problem with most mock APIs is that they’re either toy-level (&lt;code&gt;/todos&lt;/code&gt;) or they gate everything behind auth walls and endless config.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;apiexplorer.io&lt;/strong&gt; fixes that. Once you sign up (free, no card), you get an API key and access to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://developer.lonti.com/docs/martini/developing/apis/creating/" rel="noopener noreferrer"&gt;REST APIs&lt;/a&gt; for CRM, Billing, Orders, HCM, Inventory, and more
&lt;/li&gt;
&lt;li&gt;Live API Explorer with cURL + fetch snippets
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://developer.lonti.com/docs/martini/developing/apis/creating/documenting/postman/" rel="noopener noreferrer"&gt;Postman&lt;/a&gt; collections + &lt;a href="https://developer.lonti.com/docs/martini/developing/apis/creating/documenting/openapi/" rel="noopener noreferrer"&gt;OpenAPI&lt;/a&gt; schemas
&lt;/li&gt;
&lt;li&gt;A frontend app for previewing the data&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Want to mock a customer profile system? Build a sales dashboard? Prototype lead assignment automation? You’re covered. You don’t even need to use &lt;a href="https://www.lonti.com/" rel="noopener noreferrer"&gt;Lonti&lt;/a&gt; tools for this—it works great with Postman or your own stack.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;⚙️ Step 2: Consume the API in Martini&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;I use &lt;strong&gt;Martini&lt;/strong&gt; to build integrations, workflows, and services visually (but with full code access when I want it).&lt;/p&gt;

&lt;p&gt;Once I’ve grabbed my API key, here’s what I do:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;In Martini, open the HTTP Client
&lt;/li&gt;
&lt;li&gt;Paste an endpoint like this:
&lt;code&gt;GET https://demo-api.apiexplorer.io/api/lonti_demo_api_crm/1.0/contact?limit=20&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Add headers:

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;Accept: application/json&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;X-Authorization: Bearer YOUR_API_KEY&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Click “Test”&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Boom—live data.&lt;/p&gt;

&lt;p&gt;From here, I can transform the payload, map fields, or embed this call into a workflow, webhook, or even an exposed API.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;🔁 Step 3: Reuse, Reuse, Reuse&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;What’s cool about Martini is that any HTTP request I build can be turned into a &lt;strong&gt;reusable service&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Let’s say I build a “Get Contacts” call. I can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reuse it across 5+ workflows
&lt;/li&gt;
&lt;li&gt;Call it from an API published in Martini
&lt;/li&gt;
&lt;li&gt;Trigger it via automation or webhook
&lt;/li&gt;
&lt;li&gt;Or even wire it into a Bellini UI if I’m building frontend stuff&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No duplicated logic. No boilerplate. Just a clean pipeline of services I can plug anywhere.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;🎯 Real Example: From Demo API to Live Integration&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;I recently built a quick proof-of-concept that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pulled new leads from the CRM API (via apiexplorer.io)
&lt;/li&gt;
&lt;li&gt;Enriched them with external data
&lt;/li&gt;
&lt;li&gt;Routed them to an internal support queue
&lt;/li&gt;
&lt;li&gt;Notified users via Slack and updated our internal DB&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Time to build: ~1.5 hours&lt;br&gt;&lt;br&gt;
Time spent on mocking/debugging the API layer: 0&lt;/p&gt;

&lt;p&gt;That’s the whole point. This stack gets out of your way so you can build what matters.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;TL;DR: A Better Stack for Prototyping with APIs&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Here’s why I think apiexplorer.io + Martini is worth a try:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You get &lt;strong&gt;realistic APIs&lt;/strong&gt; with clean structure and live data
&lt;/li&gt;
&lt;li&gt;No setup, no fluff—just test and go
&lt;/li&gt;
&lt;li&gt;Martini lets you &lt;strong&gt;orchestrate APIs visually&lt;/strong&gt;, with full-code flexibility if needed
&lt;/li&gt;
&lt;li&gt;You can reuse everything across services, workflows, and frontend apps&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I’m not saying it’s magic. But it’s a lot closer than what most of us deal with on a daily basis.&lt;/p&gt;

&lt;p&gt;Original source: &lt;a href="https://www.lonti.com/blog/building-api-clients-faster-with-apiexplorer.io-and-martini" rel="noopener noreferrer"&gt;&lt;em&gt;Building API Clients Faster with apiexplorer.io and Martini&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>api</category>
      <category>integration</category>
      <category>lowcode</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Why Enterprise Apps Deserve Better UX Than Most Consumer Apps</title>
      <dc:creator>David Brown</dc:creator>
      <pubDate>Fri, 06 Jun 2025 01:30:00 +0000</pubDate>
      <link>https://forem.com/lonti-davidb/why-enterprise-apps-deserve-better-ux-than-most-consumer-apps-4aa1</link>
      <guid>https://forem.com/lonti-davidb/why-enterprise-apps-deserve-better-ux-than-most-consumer-apps-4aa1</guid>
      <description>&lt;p&gt;Let’s be honest—most enterprise apps are UX nightmares.&lt;/p&gt;

&lt;p&gt;You open one up and instantly feel the friction: inconsistent layouts, buried actions, zero feedback when something breaks. It's like someone reverse-engineered usability just to punish the user.&lt;/p&gt;

&lt;p&gt;And yet, these are the apps that power payroll, logistics, compliance, operations—actual mission-critical stuff.&lt;/p&gt;

&lt;p&gt;Here’s my hot take: &lt;strong&gt;Enterprise apps deserve better UX than most consumer apps.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Not “just as good.” Better. Because the stakes are higher, the users are more focused, and the business impact is massive.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Why This Matters (Yes, Even to Developers)&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;As devs, we spend a lot of time thinking about data, architecture, and logic. But none of that matters if users can’t figure out how to navigate the damn UI. I’ve built apps that worked flawlessly on the backend—but users hated using them.&lt;/p&gt;

&lt;p&gt;And that’s on me. Because building enterprise software isn’t just about solving the problem technically—it’s about delivering something people can actually use without getting frustrated.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;What’s Gone Wrong With Enterprise UX&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Somewhere along the way, enterprise apps got a reputation for being... functional. Not delightful. Not efficient. Just barely usable.&lt;/p&gt;

&lt;p&gt;Here’s why:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;We assume enterprise users will tolerate more friction.
&lt;/li&gt;
&lt;li&gt;We think good UX is a luxury for consumer-facing products.
&lt;/li&gt;
&lt;li&gt;We use tools that don’t prioritize UX (and we’ve accepted it).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But users now expect better. They've used apps like Notion, Slack, Linear, and Stripe. They know what good feels like—and clunky internal tools are no longer getting a free pass.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;How We’re Fixing It with Bellini&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;That’s exactly why we built &lt;a href="https://www.lonti.com/bellini" rel="noopener noreferrer"&gt;&lt;strong&gt;Bellini&lt;/strong&gt;&lt;/a&gt; at &lt;a href="https://www.lonti.com/" rel="noopener noreferrer"&gt;Lonti&lt;/a&gt;—a low-code, API-first frontend builder that &lt;em&gt;doesn’t&lt;/em&gt; sacrifice control. You can move fast &lt;em&gt;and&lt;/em&gt; still ship polished, responsive, accessible apps.&lt;/p&gt;

&lt;p&gt;A few things devs love:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Full API binding (&lt;a href="https://developer.lonti.com/docs/martini/developing/apis/creating/" rel="noopener noreferrer"&gt;REST&lt;/a&gt;/&lt;a href="https://developer.lonti.com/docs/martini/developing/apis/creating/graphql/" rel="noopener noreferrer"&gt;GraphQL&lt;/a&gt;), no boilerplate fetch logic
&lt;/li&gt;
&lt;li&gt;Reusable components and dynamic layouts
&lt;/li&gt;
&lt;li&gt;Drop in your own JS for logic or transformations
&lt;/li&gt;
&lt;li&gt;Bring your own CSS or design systems
&lt;/li&gt;
&lt;li&gt;Debug visually, inspect programmatically&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Whether you’re building an internal tool or a full-blown enterprise UI, Bellini makes it feel like you’re writing frontend code—but with way less repetition.&lt;/p&gt;

&lt;p&gt;It’s low code for people who could code everything—but shouldn’t have to.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;UX Is a Dev Concern&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;If you're building frontend apps and treating UX as "someone else's job," you're missing the point. Good UX is &lt;em&gt;your&lt;/em&gt; job, too—because bad UX will kill your app’s adoption faster than any bug.&lt;/p&gt;

&lt;p&gt;So next time you ship something internal, ask yourself: would &lt;em&gt;you&lt;/em&gt; want to use this every day?&lt;/p&gt;

&lt;p&gt;If the answer is “no,” it’s time to raise the bar.&lt;/p&gt;

&lt;p&gt;Original source: &lt;a href="https://www.lonti.com/blog/why-enterprise-apps-deserve-better-ux-than-most-consumer-apps" rel="noopener noreferrer"&gt;&lt;em&gt;Why Enterprise Apps Deserve Better UX Than Most Consumer Apps&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ux</category>
      <category>frontend</category>
      <category>lowcode</category>
      <category>devrel</category>
    </item>
    <item>
      <title>Measuring Developer Productivity Gains with Low Code APIs</title>
      <dc:creator>David Brown</dc:creator>
      <pubDate>Mon, 02 Jun 2025 01:30:00 +0000</pubDate>
      <link>https://forem.com/lonti-davidb/measuring-developer-productivity-gains-with-low-code-apis-750</link>
      <guid>https://forem.com/lonti-davidb/measuring-developer-productivity-gains-with-low-code-apis-750</guid>
      <description>&lt;p&gt;Let’s be honest: “low code” usually gets a bad rap with devs—myself included.&lt;/p&gt;

&lt;p&gt;Most of the time, it means sacrificing flexibility for speed, or getting stuck in a no-code UI that feels like training wheels you can’t take off. And don’t even get me started on the boilerplate you still end up writing just to get an API up and running.&lt;/p&gt;

&lt;p&gt;But a few months back, I tried out &lt;a href="https://www.lonti.com/martini" rel="noopener noreferrer"&gt;&lt;strong&gt;Martini&lt;/strong&gt;&lt;/a&gt;, &lt;a href="https://www.lonti.com/" rel="noopener noreferrer"&gt;Lonti&lt;/a&gt;’s low-code API platform. Not because I thought it would change everything—but because I was tired of spending 30+ hours building every new internal API the same way over and over.&lt;/p&gt;

&lt;p&gt;What happened next? Kind of wild: I built the same API in &lt;strong&gt;under 5 hours&lt;/strong&gt;. And it wasn’t a toy. It was production-ready, secure, versioned, and hooked into real data.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Here’s what changed.&lt;/strong&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;1. The Old Way: Hours of Boilerplate and Setup&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Schema design → 1–2 days
&lt;/li&gt;
&lt;li&gt;Auth and security config → another half-day
&lt;/li&gt;
&lt;li&gt;API endpoint scaffolding → hours
&lt;/li&gt;
&lt;li&gt;Testing + docs → more hours
&lt;/li&gt;
&lt;li&gt;Deployment and monitoring? That’s a whole extra step&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It works. It’s clean. But it’s slooooow.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;2. The Martini Way: Visual Where It Helps, Code Where You Need It&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;With Martini, I:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Imported my data or modeled it visually (hello, &lt;a href="https://www.lonti.com/negroni" rel="noopener noreferrer"&gt;&lt;strong&gt;Negroni&lt;/strong&gt;&lt;/a&gt; for API-first data models 🙌)
&lt;/li&gt;
&lt;li&gt;Dragged in the backend logic I already had as reusable services
&lt;/li&gt;
&lt;li&gt;Bound them to endpoints instantly (&lt;a href="https://developer.lonti.com/docs/martini/developing/apis/creating/" rel="noopener noreferrer"&gt;REST&lt;/a&gt; or &lt;a href="https://developer.lonti.com/docs/martini/developing/apis/creating/graphql/" rel="noopener noreferrer"&gt;GraphQL&lt;/a&gt;? You choose)
&lt;/li&gt;
&lt;li&gt;Set up security with built-in modules (&lt;a href="https://developer.lonti.com/docs/martini/installation-configuration/server-runtime/self-managed/configuration/security/authentication-authorization/" rel="noopener noreferrer"&gt;OAuth2&lt;/a&gt;, tokens, the works)
&lt;/li&gt;
&lt;li&gt;Published and tested from the same workspace&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That’s it. No YAML wrangling. No Postman-fueled madness. Just clean APIs with actual reuse.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;3. Reuse &amp;gt; Speed&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;You know what’s better than saving time building one API? Reusing it 10 times across apps.&lt;/p&gt;

&lt;p&gt;Martini isn’t just about building fast—it’s about &lt;strong&gt;building once and reusing everywhere&lt;/strong&gt;. Services, workflows, endpoints—they’re all versioned, callable, and composable. That’s where the real ROI kicks in.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;4. Real Dev Tools Included&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;What really sold me was that I could still use code where it made sense.&lt;/p&gt;

&lt;p&gt;Need to add logic? Inject Groovy or Java.&lt;br&gt;&lt;br&gt;
Want to extend something with a library? Go for it.&lt;br&gt;&lt;br&gt;
Need to version an API for a breaking change? It’s already baked in.&lt;/p&gt;

&lt;p&gt;Low code doesn’t mean giving up control. At least not here.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;TL;DR: Stop Copy-Pasting the Same API Logic&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;We’ve all got that one internal API we’ve rebuilt five different times in slightly different ways. Stop it. 😅&lt;/p&gt;

&lt;p&gt;With a tool like Martini, you get back your dev time, keep your flexibility, and don’t sacrifice maintainability just for speed. Honestly, that’s the dream.&lt;/p&gt;

&lt;p&gt;Original source: &lt;a href="https://www.lonti.com/blog/measuring-developer-productivity-gains-with-low-code-apis" rel="noopener noreferrer"&gt;&lt;em&gt;Measuring Developer Productivity Gains with Low Code APIs&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>apidevelopment</category>
      <category>lowcode</category>
      <category>devtools</category>
      <category>devrel</category>
    </item>
  </channel>
</rss>
