Star us on GitHub
Technical thoughts

Internship At Activepieces

By
on

Back in January 2023, I saw a post on LinkedIn about Activepieces. I didn't know much about business automation, but I got interested because of their Discord integration since I make Discord bots as a hobby.

I thought it could be a fun developer tool to experiment with, so I started working on a leaderboard system for a game using Google Sheets and Discord webhooks.

I joined their Discord community and found the founders very active. I started chatting with Mo, one of the founders, and we had some really exciting discussions about ideas.

Then, one day, Mo offered me a short internship during my summer break. I was only 17 and in my last year of school, but within just 30 minutes, we finished all the official stuff, and now I'm officially going to start my internship next week.

Onboarding

Even though my official start date was next week, I couldn't wait to dive deeper into Activepieces' codebase and development setup.

When my internship finally began, the team gave me a warm welcome. My mentor, Mo, shared that most interns usually work on non-production projects at other companies, which he found boring and unsatisfying. However, Mo had a different plan for me; he wanted to make my internship more exciting and fulfilling.

"Let's work on something production-worthy today. It will make you feel amazing!" Mo said, his enthusiasm contagious. I was thrilled by the idea.

We started by searching through the GitHub issues to find tasks that could benefit the company. Working together, I completed three tasks by the end of the day. I merged small changes into the main code, created a new message trigger for Telegram, and made some minor edits to Google Sheets and store pieces.

Tasks

Over the next two months, I worked on various issues and projects, learning a lot about handling large codebases, the complete development workflow, and most importantly, how to be efficient.

Every single issue taught me something new, breif summaries of which are listed below:

  • Added a new Markdown property to provide inline explanations for input fields.
  • Enhanced the Documentation Generator by displaying the inputs for a certain Action/Trigger and showing the authors of that piece.
  • Revamped the Discord server by adding new emojis, renaming channels, and creating custom forums and channels for bug reports. Additionally, I designed a custom Discord bot capable of handling bug reports, self-roles, and transferring issues to GitHub. After completing the changes, Ashraf (Co-founder) was really pleased with the outcome ๐Ÿ˜„.
  • Created a new piece that enables users to create a file on their SFTP server and detect changes.
  • Developed a new APITable piece that allows users to create/edit rows and detect new input.
  • Implemented a new Flow approval feature for Discord and Slack. Now users can send approval messages with approve and disapprove buttons directly in Discord and Slack, without opening an external link.
  • Enhanced the Notion piece by adding a lot of actions and dynamic inputs for easier use.
  • Enabled Slack to send messages to change app usernames and profile pictures.
  • Added the ability to tweet images on X (formerly known as Twitter).
  • Created a new GitHub action to check pull request names before merging.

Work Culture

What I love most about Activepieces is the team's obsession with users and their genuine pride in their work. The work environment was fun too; we played Skribbl and many other games (and trust me, I won every game ๐Ÿ™‚).

Conclusion

In summary, my time at Activepieces was truly enjoyable. Their user-centric approach and fun work culture made it a great experience.

I learned a lot while working on real projects, gaining valuable insights into codebases. Seeing the positive response from users made me happy.