Console #170 - Interview with Alex of DocuSeal - Open source DocuSign alternative
Featuring Flowise, QOwnNotes, and Driver.js
🤝 Sponsor
This space is reserved for sponsors that support us to keep the newsletter going! Want to support Console? Send us a note at osh@codesee.io
🏗️ Projects
Browse through open source projects on OpenSourceHub.io, add your project to get more exposure and connect with other maintainers and contributors!
Flowise
Drag & drop UI to build your customized LLM flow
language: TypeScript stars: 13345 last commit: 1 day
repo: github.com/FlowiseAI/Flowise
site: flowiseai.com
Driver.js
Powerful, highly customizable vanilla JavaScript engine to drive the user's focus across the page. No external dependencies, light-weight, supports all major browsers and highly customizable.
language: TypeScript stars: 18420 last commit: 5 days
repo: github.com/kamranahmedse/driver.js
site: driverjs.com
QOwnNotes
QOwnNotes is a plain-text file notepad and todo-list manager with markdown support and Nextcloud / ownCloud integration.
language: C++ stars: 3167 last commit: 1 day
repo: github.com/pbek/QOwnNotes
site: qownnotes.org
DocuSeal
DocuSeal is an open source platform that provides secure and efficient digital document signing and processing. Create PDF forms to have them filled and signed online on any device with an easy-to-use, mobile-optimized web tool.
language: Ruby stars: 2488 last commit: 2 days
repo: github.com/docusealco/docuseal
site: docuseal.co
Join thousands of other open-source enthusiasts and developers in the Open Source Hub Discord server to continue the discussion on the projects in this week's email!
🎙️ Interview With Alex of DocuSeal - Open source DocuSign alternative
Hi Alex! Thanks for joining us! Why was DocuSeal started?
A large portion of ideas are born from personal needs or encounters with problems in everyday life. This is probably how the majority of projects start and Docuseal is one of them. I was trying to sign a document and was looking for some existing solutions. Soon I found out that there were no open source projects for this purpose. Available SaaS solutions were very expensive and not flexible enough for individual needs. So what are small companies or individuals supposed to do, who just need to sign a few documents a year but are not willing to spend large amounts on a monthly subscription? This became the impetus for the creation of DocuSeal. I spent several weeks discussing the idea with my friend and researching the legal and technical aspects of the future project. That’s how I ended up developing the first version in the middle of May 2023.
How does DocuSeal work?
DocuSeal's backend is powered by Ruby on Rails web framework. On the front-end, it uses hotwired/turbo for smooth SPA-like navigation while the majority of the web app is powered by a traditional server-render HTML. The document form fields builder and the document signing forms were implemented using Vue 3. High-quality Ruby libraries (gems) have played a crucial role in implementing the core functionality. Active Storage is responsible for files storage and can support four storage types: local on disk, AWS S3, Google Cloud, and Azure. LibVips is used for images processing, and HexaPDF to produce filled and signed PDFs. DocuSeal Rails app is packed into an Alpine-based docker image and so it's very easy to spin a server without any additional dependencies on an SQLite database.
Why did you pick Ruby?
An incredibly easy question for me. I've been a Ruby developer for 8 years, and it was love at first sight. From the very beginning of my career, I felt that Ruby was what I needed. I've worked with various programming languages, such as Java, Python, and JavaScript, as well as different frameworks, but one thing I know for sure: Ruby allows for rapid implementation of ideas. This language has a unique syntax that is intuitively understandable and easy to read. This was the case 20 years ago when Ruby was just gaining popularity, and I'm confident it will remain so for at least the next 20 years. This language strikes the perfect balance between development speed and productivity.
What’s your most controversial programming opinion?
I can't claim to have any controversial opinion about programming, as I always approach each project with an open mind. Different software solutions work differently depending on specific circumstances and requirements. What is ideal for startups or small projects might be completely unsuitable for large corporate systems and vice versa. Perhaps this is the main complexity of developing large systems: they constantly evolve. Sometimes a product might be conceived for one purpose, but after several iterations and influenced by changing business requirements, it can undergo significant changes. And yes, solutions that seemed optimal at the beginning might become obstacles later on. However, based on my experience, I can highlight one thought that, in my opinion, contradicts modern trends: I believe the use of microservices is often overrated. While they can offer certain advantages in terms of scalability and flexibility, they can also complicate the system's architecture, increase the number of failure points, and reduce its adaptability to changing business requirements.
What is your favorite software tool?
Not sure if it falls into the software tools category, but if I need to pick one, I would probably choose the `hotwired/turbo` JS library. Turbo helps to create rich, dynamic UIs using a traditional server-rendered HTML. It's a bit of a niche tool, mostly used with Rails, but I find it so much better than any other mainstream SSR or CSR solutions. Turbo, in combination with native browser web elements API is my go-to tool to develop UIs.
Who or what are your biggest influences as a developer?
First and foremost, I was very fortunate when I was just starting my developer career. From the very beginning, I worked in startups and companies that were product-focused. I'm not just talking about the companies, but also the people who form their foundation. These individuals, with their desire, passion, and inspiration to develop the projects they worked on, profoundly influenced my perspective as a developer. The developers I collaborated with set the standard of quality and professionalism I constantly aspire to. So yes, my environment, especially colleagues and mentors, had the most significant impact on me as a developer. Sometimes I think I was truly lucky, as throughout my career, I had the privilege of working with people who created numerous successful products, and some even founded renowned companies. This taught me to value collaboration, innovation, and continuous learning.
Where do you see software development heading next?
Artificial intelligence is becoming increasingly influential in the modern world, actively permeating various spheres of our lives, including software development. This trend creates new challenges and opportunities for programmers. I'm not suggesting that AI will entirely replace developers. On the contrary, I believe that due to AI, software development is becoming not just more complex but also more innovative. What seemed incredible and futuristic yesterday can become an ordinary reality tomorrow. And while AI can automate some of the developers' routine tasks, it doesn't make the process of creating complex systems simpler. Moreover, there are certain questions regarding the reliability and security of programs developed with the help of AI. We still don't fully understand how code created by artificial intelligence works and what potential risks might be. I believe that artificial intelligence will undoubtedly play a significant role in the future of software development, but it will be a complex adaptation process where humans and machines will seek an optimal balance between competition and partnership.
Is DocuSeal intended to eventually be monetized if it isn’t monetized already? If so, how?
Yes, I’m planning to add monetization to DocuSeal, but I want to emphasize that a wider adoption of the open-source tool is my main priority for now. The self-hosted version of the product will contain all the essential features ensuring a comfortable experience for the average user, equivalent to the basic SaaS plan. My goal is to make the tool accessible and useful to as many people as possible. Monetization serves as additional motivation and an indicator of the community's interest in DocuSeal. It will also help cover the costs of support and development of the project. If the project starts generating significant revenue, it will allow me to focus all my attention on it, allocate more time for research, implement new features, and interact with users. I believe that such an approach will positively impact the quality and pace of DocuSeal's development.
If you plan to continue developing DocuSeal, where do you see the project heading next?
It's challenging to predict where the project will be in six months or a year at such an early stage. The project is evolving dynamically, and the community's response can change many plans. But one thing is certain: for the next few months, I will be entirely focused on working with the community. My goal is to understand the users' needs, consider their feedback, and try to add the most requested features and improve the existing ones. I've already received numerous suggestions and wishes, and every day I work to bring them to life. Now, as I look at my improvised roadmap and task list, I wonder where I'll find time to sleep. However, I believe that with the community's support and my passion for the project, DocuSeal will become even better and more useful for users.
What motivates you to continue contributing to DocuSeal?
The feedback and interest from people have been a real revelation for me. Honestly, I expected less response, given that there are numerous ready-made paid solutions with proprietary code on the market that people and companies are already accustomed to. However, the community's reaction exceeded my expectations. I received dozens of emails, comments, and calls expressing deep dissatisfaction with existing solutions. And everyone has their own story: some dislike the inflated price, some are looking for better integration with other tools. Many people from Europe are concerned about privacy, especially when documents with sensitive data are stored on third-party servers. And the list goes on. Of course, I understand that I can't create a universal solution that will satisfy everyone. However, the very idea of open-source software provides the opportunity to create products that meet the real needs of users, rather than big corporations' perceptions of these users' business processes.
Want to join the conversation about one of the projects featured this week? Drop a comment, or see what others are saying!
Interested in sponsoring the newsletter or know of any cool projects or interesting developers you want us to interview? Reach out at osh@codesee.io or mention us @ConsoleWeekly!