What are you working on at the moment?

Hello Folks,

I always find it interesting to here what people use clojure(script) for. Feel free to just pick a recent thing you’ve found particularly interesting. Can be a small experiment, or a large SaaS app, doesn’t matter.

I’ll start:
I co-founded (with a ‘domain expert’) a bootstrapped SaaS startup (a web-app) called catermonkey.com. For now its focus is on the Dutch/Belgian market, since that’s where we’re from, but we’ll expand our horizons when time feels right. We are seeing happy customers, because we are solving a real problem: to help automate boring tasks that catering busineses have to do on a day to day basis.

Unfortunately the COVID19 pandemic has hit hard in the event/catering world, but it does give them the time they otherwise lack to look at how they can improve their operations by trying out an app like ours.

Tech:
I use Clojure on the backend, a SQL database, and Clojurescript on the frontend (re-frame mostly). My experience is really really positive. It’s my 5th production web-app I’ve worked on. I love specifically how clojure/script is NOT in the way of solving the problems I face. I just tackle the problem, generally speaking, and I don’t fight the tools too much.

I really feel Clojure is the go-fast language.

Curious to what y’all work on at the moment!

1 Like

I’m working on Wobaka.com, a CRM and (soon) sales automation system for startups and small businesses.

I use Clojure + Postgresql for the backend and ClojureScript with Rum for the frontend. I keep all the client state in a single atom which makes it easy to keep the components pure, (I pass two arguments two every component, state and a function to dispatch an event).

Really enjoyed working with it, as you say, it’s not in the way. It also makes things simple over time, I believe. I worked with a few Rails, Django and Node apps before and this is by far the best experience.

2 Likes

Setting up an automatic flowering & fertilizing system for my grow tent so that I can leave the city. It has everything, from dosing pumps to a magnetic stirrer. It even controls my air conditioning system via IFTTT and generates CO2 on demand (wow such depravation). Everything is controlled via a raspberry pi zero.

After that I’ll build a solar concentrator with a fresnel lens and optic fibers (I already bought everything, including a rain detector to protect it and servos to orient it). I’m using an Onion Omega for this project (a modular raspberry-like computer).

I use a 3D printer and open-scad for these projects (via Clojure of course, I’m gradually developing a very nice development environment for that). I’d like to start 3D printing clay or ceramics so that I can build a non-flammable case for the solar concentrator. Also, I’d like to print my own lens eventually. I already bought everything I need to do non-planar 3D printing, let’s hope it’s doable.

Also I set up the TICK stack (Telegraf+InfluxDB+Chronograf+Kapacitor) to deal with the time-series generated by my grow tent sensors. I like it. The UI (chronograf) is slick.

2 Likes

I’m constantly improving PartsBox.com, my SaaS. Clojure + RethinkDB on the server side (preparing to move to FoundationDB), most domain code shared with client-side, client code in ClojureScript.

Rum, Sente, Transit, buddy, http-kit would be the major dependencies.

2 Likes

My day job is building and extending mass notification SaaS at Singlewire Software (cloud parts in Clojure and TypeScript, older on-premises parts in Java, pieces in all kinds of other languages). My fun hobby project is Beat Link Trigger, an open-source integration platform for DJs that allows crazy things to be synchronized with and driven by their performances (and sneakily teaches them a little Clojure). And as one of the many spinoff projects from that, I most recently created my first little ClojureScript project, bytefield-svg, which offers a domain-specific-language for building attractive byte-field diagrams, and which allowed me to port my big protocol analysis articles from LaTeX to AsciiDoc/Antora sites. It’s already been integrated into the most popular AsciiDoc diagram-generating tools.

I’ve been coaching a person who is completely new to programming. It’s a fascinating experience. We’ve started with Clojure and I’m trying to keep track of our sessions.

2 Likes

Teasing out the commonalities between different queuing systems, trying to create a unified interface. There are pretty big differences I need to think of how to bridge, and if it’s even worth it and maybe I should focus on just one system.

1 Like

I’ve recently gotten involved in a project for a big logistics company here in Germany. They have an aging AS/400 system that’s become quite a mess, and are stuck with an unhelpful vendor for support. We’re exploring ways to build them something better. The first step is better understanding what they have, which has had me spelunking in their database, documenting their schema, and writing Clojure helpers to query their data and convert it to formats that are easier for us to deal with (we’re talking about ~24000 database tables, ~3000 views, zero primary or foreign key constraints, 6 letter table names, and 8 letter column names).

We have a handful of EDN files that we use to gradually document and expand our understanding of their system, it’s all very data driven, which is nice.

Besides this @felipebarros is working on a redesign of the lambda island website and information architecture, and I’m coaching him through the process. I’m also working on some course content with @Heliosmaster, but I won’t say too much about that yet :slight_smile:

And bits of open source… finally pushed an official Regal release last Friday, accompanied by this fun explainer.

4 Likes

I’m working on 2 SaaS apps: Audiocado.com and Storrito.com

Both use Clojure, ClojureScript, Datomic, Reagent and are running on Google Cloud. The newer one Audiocado is running on Google Kubernetes Engine.

2 Likes

Recently came to a decision this project should be set aside for now. The gaps may be too big between the systems. I’ll just implement what I wanted with Kafka and see how it goes from there.

Wow looks good :slight_smile: Are you founder of both? Come to think of it, it could be interesting to unite in some channel to discuss running SaaS apps using clojure. Both from a technical and business aspect.

I bet we could share knowledge and experiences about third-party integrations, ops, development, testing, etc. etc.

Working on GRID a product discovery tool and search engine of products that are not on amazon.com :slight_smile:

Stack
ClojureScript Frontend:

Clojure Backend:

  • SSR thanks to uix, resolved through root
  • DataScript DB, soon (soon DataHike) as a durable store
  • aleph for http

Blogposts:
Wrote about how I implemented search recently.

Now working on a admin tool (think Datomic console) in cljfx for datascript/datahike. OSS release and blogpost coming next week.

4 Likes

Very nice read @den, your search blogpost, thanks!

1 Like

Thanks a lot :slightly_smiling_face: Yes, I’m a co-founder of both of them. I would definitely join such a channel to discuss running SaaS apps using Clojure.
We also considered to build a SaaS template for Clojure and Datomic, but never found the extra time to work on it. At the moment I’m trying to finish building a lib for db-view, an approach that we use in both SaaS apps.

Hello
I’m from Brazil, my company do B2B stuff for eCommerce/payments, usually “JSON -> DB -> JSON” sutff.

ATM I’m working in a EQL tool that generates HTML frontends from a tiny EQL description. Something like {:join :app.todo/all-todos, :display [:app.todo/text :app.todo/done?]} will generate a nice and simple page with a (paginated) table with 2 columns.

I’m really enjoying to see all “old and boring” web stuff, like forms, cookies, auth, HTTP status, redirects working nicely with the CQRS-Graph architecture.

1 Like

I am hacking health at Pilloxa.com. I joined because it is a mighty important mission, and because I wanted to work using Clojure full time. It was a bit of surprise for me to find that I wanted to deep dive as a programmer. I was pretty content with product management, I thought. :smile: