The Technology Behind MoreSpeakers.com
In my previous post , I introduced MoreSpeakers.com, a platform dedicated to connecting aspiring speakers with experienced mentors in the technology community. In this post, I want to share some insights into the technology stack and development process behind MoreSpeakers.com.
Technology Used
MoreSpeakers.com is built using a combination of modern web technologies to ensure an user-friendly experience.
Development Stack
Tools and frameworks used in the development of MoreSpeakers.com include.
Tools
- JetBrains Rider: The primary IDE used for development, providing a robust environment for C# and web development.
- Azure Storage Explorer: Used for managing Azure Storage resources.
- GitHub: For version control and collaboration among the development team.
- Microsoft Azure: Hosting and deployment of the application.
- Aspire: Used for to help manage dependencies and ensure an easier on boarding for new engineers.
Frameworks and Libraries
-
Frontend
- The frontend is built using Bootstrap 5 for responsive design and a clean user interface.
- HTMX is used to enhance interactivity and provide a seamless user experience without the need for heavy JavaScript frameworks.
-
Backend
- The backend is developed using ASP.NET Core, providing a robust and scalable foundation for the application.
- Entity Framework Core is used for data access and management, allowing for efficient interaction with the database.
- SQL Server serves as the primary database for storing user profiles, mentorship requests, and other application data.
You can read more about the architecture and developer start up of MoreSpeakers.com in the GitHub repository.
AI and Vibe Coding
AI and “Vibe Coding” is all the rage these days. As I mentioned in the previous post, this project was prototyped with Claude Code. Now while the application compiled and ran, it was a mess. It took some time to get the project in a maintainable state.
Since then, we have continued to use AI tools to help with various aspects of the development process. I primarily used JetBrains Junie to help me with code generation, unit test creation, refactoring, and documentation. We’ve also used GitHub Copilot to help with code reviews of pull requests. We’ve used ChatGPT to help with the hero images and generating a lists of features to include in the platform. While AI has been a helpful tool throughout the development process, it is important to note that you still need skilled developers to “double-check” the work guide the process and ensure the quality of the final product.
AI Instructions
We used the following instructions when using AI tools to help with the development of MoreSpeakers.com.
Claude Code Instructions
Claude Code allows you to create custom instructions to guide Claude in generating code and assisting with development tasks.
Our instructions are organized into two main categories: Commands and Skills. For overall instructions for Claude Code, we have:
- Claude.md: Instructions for using Claude to generate code snippets and assist with development tasks.
Claude Code Commands
- Claude Commands: A collection of custom commands to streamline the use of Claude in the development process.
- db-change.md: Instructions for making database schema changes using Claude.
- docs.md: Instructions for generating documentation using Claude.
- feature.md: Instructions for adding new features using Claude.
- test.md: Instructions for creating and running tests using Claude.
Claude Code Skills
- Claude Skills: A set of predefined skills to enhance the capabilities of Claude in the development process.
- dotnet-feature: A skill for generating .NET features using Claude.
- qa-engineer: A skill for performing quality assurance tasks using Claude.
- sql-schema: A skill for managing SQL schemas using Claude.
GitHub Copilot Instructions
GitHub Copilot allows you to create customize how GitHub Copilot responds to your prompts by creating custom instructions.
According to the documentation, you can create custom instructions to guide GitHub Copilot’s responses.
GitHub Copilot can provide responses that are tailored to your personal preferences, the way your team works, the tools you use, or the specifics of your project, if you provide it with enough context to do so. Instead of repeatedly adding this contextual detail to your prompts, you can create custom instructions that automatically add this information for you. The additional information is not displayed, but is available to Copilot to allow it to generate higher quality responses.
We build a couple of task based agents/instructions to help with various development tasks. Here are the instructions we used for MoreSpeakers.com:
GitHub Agents
- Agents.md: Instructions for using GitHub Copilot Agents to automate development tasks.
- api-agent.md: An agent for managing API-related tasks using GitHub Copilot.
- dev-deploy-agent.md: An agent for handling development and deployment tasks using GitHub Copilot.
- docs-agent.md: An agent for managing documentation tasks using GitHub Copilot.
- lint-agent.md: An agent for performing linting tasks using GitHub Copilot.
- test-agent.md: An agent for managing testing tasks using GitHub Copilot.
JetBrains Junie Instructions
JetBrains Junie allows you to create custom instructions to guide Junie in generating code and assisting with development tasks. Instructions for customizing Junie can be found in the documentation.
Our instructions for Junie are documented in the file guidelines.md.
Want to Contribute?
If you want to help out with the project, the repository is available on GitHub. Find a bug, submit an issue and/or a pull request. We are open to contributions, whether it’s fixing bugs, adding new features, or improving documentation.
Wrap Up
As you can see, MoreSpeakers.com is built using a combination of modern web technologies and AI tools to provide a seamless user experience. The development process has been greatly enhanced by the use of AI, allowing us to focus on building a platform that truly meets the needs of aspiring speakers and experienced mentors in the technology community.
References
Share on
Bluesky Facebook LinkedIn Reddit XLike what you read?
Please consider sponsoring this blog.