This is a submission for the KendoReact Free Components Challenge.
What I Built
If you’ve been following my blog, you know I’m a big believer in building things the hard way to truly understand them. From my own Gitea server to the backend systems for my website, I’m logging the entire process of building a full digital ecosystem from scratch. As promised in an earlier blog post, I decided it was time I develop my own tool to manage the blog itself. The KendoReact Free Components Challenge was the perfect spark to the fire.
I built the Campfire Logs CMS, a personal Content Management System Dashboard and Editor designed specifically for my blog series, “Campfire Logs: The Art of Trial & Error”. This is a private dashboard that provides a clean, efficient interface for content creation and management, without the complexity of public user management systems. As Phase I of IV (the website, backend, and database are coming soon!), it’s a purpose-built tool that lets me focus on the writing.
Demo
Live Project: https://campfire-demo.dlseitz.dev
Repository: https://gitea.dlseitz.dev/dereklseitz/campfire-dashboard
Key Features:
-
Secure User Login: For the private login page, I kept the interface clean and simple with KendoReact’s
Input
andLabel
, using theNotification
components to provide clear feedback on success or failure.
-
Clear Dashboard Navigation: To avoid stumbling around the metaphoric campfire (it’s dangerous!), I built a straightforward navigation system using KendoReact’s
AppBar
andPanelBar
. This makes it easy to jump between managing posts, checking drafts, referencing external sources, and getting right into the editor.
-
At-a-Glance Post Organization: For a quick visual overview of my content, I used KendoReact’s
GridLayout
andCard
components to create a clean grid of published posts and drafts.
-
A Writer-Focused Editor: Because I switch between Markdown and a visual editor a lot when writing content, I used KendoReact’s premium
Editor
andSplitter
to create a toggleable dual-editor experience that supports both formats, with automatic image processing for (almost) effortless asset management.
KendoReact Components Used
For this application, I used 18 Free Components and 3 Premium components (with the help of KendoReact’s Trial License). Just like my other projects, this was an exercise in learning by doing. I also used the KendoReact ThemeBuilder to design a cohesive, campfire-inspired theme that fits the brand of my blog. The free layout components were the backbone of the dashboard’s structure, while the premium Editor was key to creating a great writing experience.
KendoReact Free Components Used
- @progress/kendo-react-buttons (1 component)
– Button
- @progress/kendo-react-layout (11 components)
– Card
– CardImage
– CardBody
– GridLayout
– PanelBar
– PanelBarItem
– AppBar
– AppBarSection
– AppBarSpacer
– Avatar
– Breadcrumb
- @progress/kendo-react-inputs (1 component)
– Input
- @progress/kendo-react-labels (1 component)
– Label
- @progress/kendo-react-notification (2 components)
– Notification
– NotificationGroup
- @progress/kendo-react-common (2 components)
– IconsContext
– SvgIcon
KendoReact Premium Components Used
- @progress/kendo-react-editor
– Editor
– Splitter
– SplitterPane
[Optional: Code Smarter, Not Harder prize category] AI Coding Assistant Usage
While I did not use the KendoReact AI Coding Assistant and am therefore unable to enter into this category, I do find it very important to give credit to the AI tools that helped me on this journey and because all AI tools are not created equal:
- KendoReact ThemeBuilder’s AI Theme Generation Tool – for helping me design the perfect color scheme to use in my project, especially given the need for cohesion between KendoReact components
- Google’s Gemini – for helping me brainstorm the features and functionalities I wanted in this application, verifying component eligibility (exactly what qualified and what didn’t), and answering questions whenever I got stuck figuring out underlying structures in the components
- Anthropic’s Claude (via Cursor) – for helping me clean up comments and debugging component layout quirks that gave me fits during the development process
- Venice.ai – for giving final feedback on this submission post and for being linked in the External Links of the dashboard
[Optional: RAGs to Riches prize category] Nuclia Integration
[Leave this section blank if not applicable]