LogScribe AI is an intelligent web application designed to assist university students with their Student Industrial Work Experience Scheme (SIWES) logbook reporting during internships. The application leverages Google's Generative AI (Gemini) to automatically generate realistic daily logbook entries based on your internship details.
- AI-Powered Generation: Uses Google Gemini 2.0 Flash model to generate authentic logbook entries
- Smart Context Awareness: Takes into account business type, project details, and student department
- Structured Output: Generates properly formatted 5-day weekly entries following standard workweek format
- History Management: Saves and retrieves previous form states and generated responses
- Modal Display: View historical entries in an elegant modal interface
- Markdown Support: Renders generated content with proper formatting
- Real-time Validation: Form validation to ensure all required fields are completed
- Loading States: Visual feedback during AI content generation
- Frontend: Svelte 5 with TypeScript
- Styling: Bulma CSS Framework with custom SCSS
- AI Integration: Google Generative AI (@google/genai)
- Build Tool: Vite
- Package Manager: pnpm
- Icons: Tabler Icons for Svelte
- Markdown: markdown-it parser
- Node.js (v18 or higher)
- pnpm package manager
- Google Gemini API key
-
Clone the repository
git clone https://github.com/Ezek-iel/LogScribeAI.git cd LogScribeAI -
Install dependencies
pnpm install
-
Environment Setup Create a
.envfile in the root directory and add your Google Gemini API key:VITE_GEMINI_API_KEY=your_gemini_api_key_here
-
Start the development server
pnpm dev
-
Open your browser Navigate to
http://localhost:5173
-
Fill in the Form:
- Business Name: Enter the name of your internship organization
- Project Name: Describe the project you're working on
- Student Department: Your academic department (e.g., Computer Science, Civil Engineering)
- Additional Context: Provide extra details about the business, project week, or specific tasks
-
Generate Entries:
- Click the "Generate" button to create AI-powered logbook entries
- Wait for the AI to process your information (usually 2-3 seconds)
-
Review Results:
- Generated entries will appear in a structured format
- Each entry includes day, date, and detailed activities
- Content is properly formatted with markdown support
-
History Management:
- Previous generations are automatically saved to localStorage
- Access historical entries through the modal interface
LogScribeAI/
├── src/
│ ├── App.svelte # Main application component
│ ├── Modal.svelte # History display modal
│ ├── History.svelte # History management component
│ ├── utils.ts # Core utility functions (AI, parsing, storage)
│ ├── prompt.ts # AI prompt templates and examples
│ ├── app.css # Global styles
│ ├── override.scss # Bulma customizations
│ └── main.ts # Application entry point
├── files/ # PDF logbook templates
├── public/ # Static assets
├── package.json # Project dependencies
├── vite.config.ts # Vite configuration
├── svelte.config.js # Svelte configuration
└── tsconfig.json # TypeScript configuration
The application uses Google's Gemini 2.0 Flash model with:
- Response Format: Structured JSON output
- System Instructions: Comprehensive prompts with real-world examples
- Response Schema: Validated structure for consistent outputs
- Context Examples: Multiple industry scenarios (tech, engineering, cybersecurity)
- Local Storage: Form states and history are saved locally
- Form State Persistence: Automatically saves current form data
- History Tracking: Maintains a complete record of generated entries
- Data Retrieval: Easy access to previous sessions and responses
- Responsive Design: Works seamlessly on desktop and mobile devices
- Loading Indicators: Visual feedback during AI processing
- Form Validation: Real-time validation with clear error states
- Skeleton Loading: Placeholder content during generation
- Modal Interface: Clean display for historical entries
- Bulma Integration: Professional styling with consistent design system
- API keys are handled through environment variables
- No sensitive data is transmitted to external servers (except Google AI)
- Local storage is used for data persistence
- Form validation prevents malicious input
{
"entries": [
{
"day": "Monday",
"date": "2025-01-15",
"activities": "* Attended morning briefing on project requirements\n* Set up development environment\n* Reviewed existing codebase and documentation"
},
{
"day": "Tuesday",
"date": "2025-01-16",
"activities": "* Implemented user authentication module\n* Conducted code review with senior developer\n* Updated project documentation"
}
]
}- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Google Generative AI for powering the intelligent content generation
- Svelte team for the excellent framework
- Bulma CSS for the clean styling system
- The open-source community for various dependencies
If you encounter any issues or have questions:
- Open an issue on GitHub
- Check the documentation
- Review existing issues for solutions
- PDF export functionality
- Multiple week generation
- Custom templates
- Collaboration features
- Advanced AI prompting
- Integration with academic systems
Made with ❤️ for SIWES students everywhere