This is a submission for the GitHub Copilot Challenge : Transitions and Transformations
What I Built
๐ Are you someone like me, with a wall full of sticky notes to track your goals, progress, and roadmaps? Imagine replacing that clutter with something smarter, more organized, and incredibly effective! ๐ฏ
For this challenge, I created a powerful AI-based Calendar and Cheat Sheet Generator thatโs built to transform how you approach your goals. ๐ก Using the Google Gemini API, this tool generates beautifully crafted, personalized 30-day calendars and action plan cheat sheets that you can download and keep at your deskโa constant reminder of your plans, progress, and the steps ahead. Whether youโre on a mission to boost your career, learn a new skill, or grow personally, this app has everything you need to stay on track and take charge of your journey.
โจ Why this app is a game-changer
- Goal Alignment: Easily define your aspirations, whether theyโre career-oriented, skill-based, or focused on personal development.
- Progress Tracking: Keep a clear view of your milestones and achievements to stay motivated and accountable.
- Transformation Ready: Designed for life-changing transitions, this app helps you move from where you are now to where you want to be.
I built this app with GitHub Codespaces as my coding environment and leveraged GitHub Copilot to co-create the magicโ90% of the code is AI-generated. ๐ In under 4 hours, I turned an idea into a working product designed to inspire and empower people to embrace transformations in their lives.
With this website, you can ditch the sticky notes and start building the future you envision. Whether itโs acing your career goals, mastering a new skill, or making strides in personal growth, this tool helps you turn aspirations into actionable, trackable plans.
๐ Ready to take control of your journey? Try it out and start transforming your life today! ๐
Demo
Tranform Journey-- Deployed demo
Repo
Copilot Experience
How I Used Copilot Throughout the Development Process
Copilot has been an incredible asset during the entirety of this project. As a student, I was fortunate to have access to Copilot without any limits, and it truly transformed me into a 10x developer. Here's how I effectively leveraged Copilot to bring my project to life:
How I Used Copilot Effectively
1. Starting the Project with Inline Chat
As soon as I began the project, I used Copilot Inline Chat (activated with Ctrl+I
) to:
- Generate a simple structure for the app.
- Request styling suggestions to make the app visually appealing.
This helped me lay a solid foundation right from the start.
2. Planning with Copilot Chat
Next, I turned to the inbuilt Copilot Chat to:
- Create a concrete plan from the rough idea I had in mind.
- Refine my thoughts and ensure the project aligned with my vision.
3. Copilot Edits: The Game-Changer
The Copilot Edits feature became the most useful tool for me. I simply described the changes I needed, and Copilot would:
- Edit the relevant files seamlessly.
- Save me time by handling repetitive tasks and streamlining my workflow.
All I had to do was debug errors, as Copilot sometimes struggles with tasks like analyzing imagesโa limitation I noticed during the project.
4. Debugging Made Easy
Even when debugging, Copilot was immensely helpful:
- Autocomplete predictions helped me anticipate types and errors before they occurred.
- Hovering over an error allowed me to use Copilot Chat to:
- Resolve the issue.
- Understand the error for smoother debugging.
5. Choosing the Right Model
Copilot provides four models to choose from. For coding, I preferred Claude Sonnet 3.5, which excels in programming tasks. To access it, I enabled the preview modeโa small tweak that made a big difference.
Some Prompts I Used
Inline Chats
- "Create a simple application that accepts a user-provided prompt as input and interacts with the Google Gemini API using an API key to generate a response. The application should display the response on a user interface resembling a text editor, similar to Word or Notion, where the user can view, edit, and customize the generated content."
- "Add a printable calendar to this component that the user can download."
Copilot Chat
- "I am participating in a contest with the track 'Transitions and Transformations,' where I need to use VS Code with Copilot to create a creative or artistic tool that visualizes transitions and transformations. The track encourages themes like metamorphosis, evolution, emotional journeys, and the beauty of change. My idea is to build an app that allows users to input their goals and generates a personalized calendar and cheat sheet to serve as a roadmap for achieving those goals. Does this idea align well with the contest's theme? Additionally, what features or enhancements can I include to make the app more valuable and engaging for users?"
- "Suggest a name for this website."
- "Provide relevant meta tags for this project."
- "Why is this error occurring?"
- "How do I allow users to download the calendar and the journey part?"
Copilot Edits
- "Implement a feature in this file that enables users to download both the calendar and the journey roadmap as downloadable files in a user-friendly format."
- "Refine the system prompts to ensure the AI consistently generates well-structured and properly formatted outputs in the required format."
- "The current output lacks proper formatting. Please adjust the system prompts to ensure the AI generates responses that are correctly formatted and precisely phrased as per the requirements."
- "It seems some elements are missing type definitions. Could you review and add appropriate type annotations to ensure code consistency and clarity?"
- "Review the provided files and craft a well-structured, visually appealing Markdown README file for the project, highlighting its purpose, features, setup instructions, and usage."
What Made Copilot Stand Out
- Speed: Enabled rapid development, helping me build the project in under 4 hours.
- Efficiency: Handled 90% of the code generation, leaving me with more time to focus on debugging and refining the user experience.
- Ease of Use: Features like inline chat, code edits, and autocomplete significantly simplified the coding process.
Copilot turned my rough ideas into reality with astonishing speed and precision. It wasnโt just a toolโit was like having an expert coding companion by my side throughout the journey. ๐
GitHub Models
GitHub offers many powerful models for prototyping LLM capabilities, and I am excited to explore them in future projects. However, for this particular project, I opted to use the Google Gemini API due to its better rate limits.
Conclusion
๐จ This project has been an incredible journey of creativity, learning, and innovation. Leveraging tools like Codespaces and Copilot allowed me to bring my idea to life, transforming it into a fully functional project in a remarkably short time. It was the perfect weekend escape from larger projects, providing a refreshing break while creating something impactful.
๐ By combining AI-driven capabilities with an intuitive user experience, this app demonstrates the power of technology to inspire personal growth and transformation. The inclusion of personalized calendars that users can physically print and keep offers a distraction-free way to stay focused on their goalsโa simple yet powerful step toward meaningful progress.
๐ก Reflecting on this experience, Iโve gained invaluable insights into the power of AI tools in development, the importance of planning, and how even small innovations can create significant positive changes. This project exemplifies the idea of building applications that go beyond solving problemsโthey inspire people to dream and achieve.
๐ The potential impact of this app lies in its ability to guide users through their transitions and transformations, whether in career advancement, personal development, or learning new skills. Iโm excited to explore future possibilities for this concept, pushing its boundaries to make it even more versatile and impactful.
Tips to Improve Developer Experience Using Copilot (From What I Learned)
๐ Harness the Power of Your Prompts
AI is only as powerful as the prompts you give it. I highly recommend refining your prompts using an LLM or even getting your thoughts converted into clearer prompts. If you understand the expected output and feel it aligns with your goal, then use it! The clearer your prompt, the more accurate and relevant the AIโs response will be.
๐ Plan Your Component Structure in Advance
One of the mistakes I made early on was diving into development without a clear structure. Having all inline chats in the same folder made the code messy, hard to manage, and increasingly complex. Lesson learned: Always plan the structure of your components before you start building. This ensures scalability and ease of maintenance as your app grows.
๐ Provide Multiple Related Files for Context
When using Copilot, offering more related files as context will lead to better suggestions. AI needs context to generate meaningful and accurate code, so don't be afraid to share files that help it "understand" the full scope of your project.
๐พ Save Before Accepting Edits
When Copilot makes suggestions, donโt immediately accept them. First, save your work. Then, review the edit to ensure it aligns with your goals. If youโre satisfied, accept it. Otherwise, you can always use Undo to revert any changes that donโt work for you. This ensures you have control over the changes made.
โก Avoid Large Files for Minor Edits
For small changes, avoid giving Copilot large files to edit, as it consumes unnecessary resources and time. Use inline chats or manual changes for minor edits to make the process faster and more efficient.
By following these tips, you can maximize Copilot's potential, streamline your development process, and keep your projects organized and efficient!
Top comments (0)