We’re one month into 2025, and things are moving quickly at In Check Software. As always, we’re excited to share what we’ve been working on and where we see the industry heading.
Functional TypeScript and the Evolving JavaScript Ecosystem
We continue to see rapid innovation in the TypeScript and JavaScript ecosystem, particularly around functional programming tools and libraries.
The Effect library continues to mature and we look forward to learning about new features and upgrades that will hopefully be announced in the Effect Days conference in March.
At In Check Software, we’ve doubled down on using Effect for orchestrating complex workflows, managing external integrations, and structuring business logic with clear separation of concerns.
Cursor Rules
The team has been using Cursor, an AI-powered IDE, for some time now and we continue to improve our developer experiences with custom Cursor rules. As we have moved away from the single .cursorrules
file and into a directory-structured ./cursor/rules/*.mdc
set up, we can separate our rules cleanly over multiple files, where each rule is only applied to the appropriate files.
For Effect, we have rules for things like:
- Using
Effect.logInfo
rather thanconsole.log
, for consistent, structured logging - Using the correct generator syntax, no longer needing
function* (_) { yield* _(SomeService) }
as this is deprecated but still suggested - Using
Data.Tagged
for custom errors
We also have other rule files for naming conventions, project structure and other general rules.
Building AI-Powered Chatbots for Internal Systems
One of our most exciting current client projects involves building a fully featured AI chatbot tailored to internal database systems. The goal is to empower internal teams to query data, generate reports, and gain business insights—without writing a single line of SQL.
Although text-to-sql chatbots have been available for some time in various forms, ours is both tailored to specific needs and extensible to multiple database types and many variants of SQL.
We’re predominately using OpenAI completions and function calling to allow users to:
- Discover schemas, descriptions and usages on the fly
- Ask natural-language questions about sales, jobs, invoices and other tables
- Automatically convert questions into optimized SQL queries
- Build dashboards of export reports on demand
- Interact conversationally with their data in a secure environment
- Apply user-based authorisation controls for data security
Optionally, the system also integrates with PostgreSQL and leverages embeddings for context-aware querying. This hybrid approach of structured SQL access and unstructured knowledge retrieval allows for intelligent, flexible interactions across data silos.
This project is a clear signal that AI tools are shifting from experimentation to real utility within the enterprise, and we’re excited to be part of that transformation with our client projects.
What’s Next?
We’re seeing growing demand from companies looking to:
- Make their internal systems more intelligent and accessible
- Replace static dashboards with conversational interfaces
- Embrace typed, functional JavaScript to improve code safety and maintainability
As these needs grow, we’re continuing to invest in tooling, platform integrations, and development practices that help us and our clients stay ahead of the curve.
If you're building with Effect, exploring AI agents, or need help modernizing your tech stack, we’d love to talk.