The Short Version
I'm Matthias Enge, a lawyer-turned-developer working at the intersection
of law, tax, and software. I practiced law for nearly a decade—corporate law, funds,
insolvency, litigation—before realizing most of the repetitive work I was doing could
be automated. So I learned to code.
Now I build custom software at YPOG, a German law firm specializing in fund structuring
and tax compliance. My work involves handling large volumes of data—investor information,
contracts, regulatory filings—and building tools to make these workflows more scalable.
This includes both traditional automation (data pipelines, document generation) and AI
engineering (using AI where it actually makes sense).
This blog is where I document what I'm learning and building.
Why This Blog
Off-the-shelf legal tech works for generic problems. But when you're dealing with
specialized workflows—fund administration, multi-jurisdictional compliance, document
processes with complex business rules—you need custom tools built by someone who
understands both the legal domain and the firm's specific needs.
There's a lot of FOMO in legal tech right now. Firms think their problems will be
solved if they just license the latest AI-powered tool. But most workflow problems
aren't about missing features—they're rooted in how the firm organizes its data,
structures its processes, and serves its specific client base.
Buying generic software for firm-specific problems is like trying to wear someone else's
tailored suit: it might look similar, but it won't fit right.
The good news? Most of these problems don't require fancy AI. They can be solved with
basic data engineering: cleaning messy Excel files, normalizing client data,
building simple pipelines that turn structured inputs into consistent outputs. And when
AI does make sense (like extracting terms from long-form contracts), it's about
integration, not replacement.
This blog is where I share what I've learned about solving these problems—the technical
patterns that work, the tradeoffs you'll face, and the mistakes I've made along the way.
What I Use
My primary tools (very high-level): Python (for backend, data and AI related work),
Postgres, SQLite, LanceDB (databases), and basic frontend technologies
(HTML, CSS, a bit of htmx when needed). But I'm always trying new tools and
frameworks—staying curious about what actually solves problems better.
I prefer simple, maintainable solutions over complex frameworks. My goal is to "get off the ground" as fast
as possible, so I often start
with a minimal but working prototype that allows for quick iteration cycles.